【问题标题】:How to create and XSD schema file from a Codefluent CFP file?如何从 Codefluent CFP 文件创建 XSD 模式文件?
【发布时间】:2017-08-05 02:55:43
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: xsd codefluent altova


    【解决方案1】:

    /ExtractSchema 提取 xsd 以创建 CodeFluent 实体模型。例如,这允许您在 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 文件将在您构建模型时生成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 2015-08-07
      • 1970-01-01
      • 1970-01-01
      • 2010-09-13
      相关资源
      最近更新 更多