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

如何从Codefluent CFP文件创建和创建XSD模式文件?,xsd,codefluent,altova,Xsd,Codefluent,Altova,我正在从事一个项目,该项目使用Codefluent实体定义应用程序的模式,并生成SQL数据库、类库、网页和winforms。还使用了Altova XmlSpy产品 我试图弄清楚如何从Codefluent模型中提取Codefluent模型的XSD模式表示,以便它可以与Altova的XmlStyleVision一起使用 在Softfluent的文档中,有一个编译选项“/ExtractSchema”,但它创建5000行属性和枚举,并且不包含任何与数据模型相关的内容 如有任何想法或建议,将不胜感激 /E

我正在从事一个项目,该项目使用Codefluent实体定义应用程序的模式,并生成SQL数据库、类库、网页和winforms。还使用了Altova XmlSpy产品

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

在Softfluent的文档中,有一个编译选项“/ExtractSchema”,但它创建5000行属性和枚举,并且不包含任何与数据模型相关的内容


如有任何想法或建议,将不胜感激

/ExtractSchema
提取用于创建CodeFluent实体模型的xsd。例如,这允许您在VisualStudio中自动完成。此架构与您的模型无关,也不是您想要的

为模型生成模式的最简单方法是创建模板并将模板生成器添加到模型中。首先,创建一个文件夹并添加一个名为
[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>
[%@namespace name=“CodeFluent.Model”%]
[%@namespace name=“CodeFluent.Model.Persistence”%]
[%foreach(Producer.Project.Entities中的实体e)
{%]
[%foreach(e.Properties中的属性p){%]
[% } %]                    
[% } %]
最后,将模板生成器添加到模型中:

现在,在构建模型时将生成xsd文件