2017-08-05 65 views
0

我正在使用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行屬性和枚舉,並且不包含與數據模型相關的任何內容。

任何想法或建議將不勝感激!

回答

0

/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文件。