2012-08-07 71 views
1

我有一套模式定義,其中一個文件具有xsd:ComplexType定義爲「FloatingRateCalculation」,現在我想擴展此類型並希望向它添加一個元素,我不想打擾現有模式。我想創建一個單獨的.xsd文件,其中包含原始「FloatingRateCalculation」的架構。如何將元素添加到現有的xsd:complexType?

我想這樣做,這樣它是由供應商提供的原始模式保持不變...

回答

0

如果原來的模式是這樣的(Original.xsd)

<?xml version="1.0" encoding="utf-8" ?> 
<!--Created with Liquid XML Studio 2012 Developer Edition 10.1.2.4113 (http://www.liquid-technologies.com)--> 
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:complexType name="FloatingRateCalculation"> 
     <xs:sequence> 
      <xs:element name="Stuff" type="xs:string" /> 
     </xs:sequence> 
    </xs:complexType> 
</xs:schema> 

enter image description here

然後你的模式(Extension.xsd)看起來應該是這樣的

<?xml version="1.0" encoding="utf-8" ?> 
<!--Created with Liquid XML Studio 2012 Developer Edition 10.1.2.4113 (http://www.liquid-technologies.com)--> 
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:include schemaLocation=".\Original.xsd" /> 
    <xs:complexType name="FloatingRateCalculationEx"> 
     <xs:complexContent> 
      <xs:extension base="FloatingRateCalculation"> 
       <xs:sequence> 
        <xs:element name="MoreStuff" type="xs:string" /> 
       </xs:sequence> 
      </xs:extension> 
     </xs:complexContent> 
    </xs:complexType> 
</xs:schema> 

enter image description here

+0

我不想擴展現有類型;即以OO術語,我不想從現有類型中派生新的類型。我只想將新字段添加到現有類型中...您所做的是您已從FloatingRateCalculation中派生出FloatingRateCalculationEx。我想要的是向FloatingRateCalculation添加新的字段。我怎樣才能做到這一點?謝謝 – Ocean 2012-08-09 15:39:54