2012-08-07 52 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

相关问题