2014-08-27 66 views
1

導入XSDschema參考我使用的Sparx企業架構師V10從XML生成模式圖形模型XSD架構。的Sparx企業架構師 - XSD生成:在生成一個

基本上,我創建2個不同的XSDschema:1個主XSDshema與我的實體是複雜類型:

<xs:complexType name="EntitytXT"> 
    <xs:annotation> 
     <xs:documentation>This is the definition of an EntitytXT</xs:documentation> 
    </xs:annotation> 
    <xs:sequence> 
     <xs:element name="element1" type="shared:StringXT" minOccurs="1" maxOccurs="1"/> 
     <xs:element name="element2" type="shared:StringXT" minOccurs="1" maxOccurs="1"/> 
    </xs:sequence> 
</xs:complexType> 

另一創建XSDschema是「共享的一個」,並且是隻用型StringXT簡單;這樣的東西組成:

<xs:simpleType name="StringXT"> 
    <xs:restriction base="xs:string"> 
     <xs:maxLength value="5" /> 
    </xs:restriction> 
</xs:simpleType>` 

我想要做的是: 每當我產生與EA的第一主XSD,導入的XSD「共享」路徑 xmlns:v1shared="http://xxxx/common/v1/shared"並且標籤

<xs:import namespace="http://xxxx/shared" schemaLocation="http:/xx/xx/common/shared.xsd" /> 

存在於我的生成生成的XSD。

非常感謝。

回答

1

所以,經過近一天,它結束了是相當明顯的。

我沒有發現任何具體的答案,在EA不同XSDschema這一實際導入過程。

的事情是:你有2 XSDschema爲2級不同的封裝。爲了確保「共享」一個被引進到主之一(另外兩個在XSD標題標籤<xs:import明確,你必須:

  • 輸入2個不同的目標命名空間,關於每個XSDschema包

  • 一個在XMLNS標籤

    添加「共享」(+其命名空間)主XSDschema屬性內

  • 仔細檢查SCHEMALOCATION標記值每個XSDschema包

  • 而最後,但並非最不重要的,在你的主複合類型<xs:element name="element1" type="shared:StringXT"的XS序列中的「類型」標籤必須按順序只是:StringXT(不包括「共享」),以「鏈接」的主要XSDschema和共享一個。您可以轉到XSDschema屬性並檢查其標記值。你應該看到類似+屬性+ StringXT的東西

希望它有幫助!