首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Codefluent CFP文件创建和XSD模式文件?

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

Stack Overflow用户
提问于 2017-08-05 10:55:44
回答 1查看 45关注 0票数 0

我正在做一个项目,它使用Codefluent实体来定义应用程序的模式、生产和SQL数据库、类库、网页和winforms。此外,还使用了Altova XmlSpy产品。

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

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-10 18:51:03

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

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

代码语言:javascript
复制
[%@ 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文件将在您构建模型时生成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45517747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档