如何从Codefluent CFP文件创建和XSD模式文件?

问题描述:

我正在使用Codefluent实体来定义应用程序的模式和生成以及SQL数据库,类库,网页和winforms的项目。还使用了Altova XmlSpy产品。如何从Codefluent CFP文件创建和XSD模式文件?

我想弄清楚如何从Codefluent模型中提取Codefluent模型的XSD模式表示,以便它可以与Altova的XmlStyleVision一起使用。

在Softfluent的文档https://www.softfluent.com/documentation/CF_Tools_Builder.html中,有一个编译选项“/ ExtractSchema”,但创建了5000行属性和枚举,并且不包含与数据模型相关的任何内容。

任何想法或建议将不胜感激!

/ExtractSchema提取用于创建CodeFluent实体模型的xsd。例如,这可以让你在Visual Studio中自动完成。此架构与您的模型无关,并且不是您想要的。

为您生成模型的最简单方法是创建模板并将模板生成器添加到模型中。首先,创建一个文件夹并添加一个名为[Template]schema.xsd的文件(必须以[Template]为前缀)。我不知道Altova的XmlStyleVision需要什么,但下面的模板应该是一个好的开始。

[%@ namespace name="CodeFluent.Model"%] 
[%@ namespace name="CodeFluent.Model.Persistence"%] 
<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
[%foreach (Entity e in Producer.Project.Entities) 
{%] 
    <xs:element name="[%= e.Name %]"> 
     <xs:complexType> 
      <xs:sequence> 
      [%foreach (Property p in e.Properties) { %]  
       <xs:element name="[%= p.Name %]" type="xs:string" /> 
      [% } %]      
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 
[% } %] 
</xs:schema> 

最后,模板制作添加到模型:https://www.softfluent.com/documentation/TemplateProducers_TemplateProducer.html

现在,当你建立模型将生成XSD文件。