1
我有一套模式定义,其中一个文件具有xsd:ComplexType定义为“FloatingRateCalculation”,现在我想扩展此类型并希望向它添加一个元素,我不想打扰现有模式。我想创建一个单独的.xsd文件,其中包含原始“FloatingRateCalculation”的架构。如何将元素添加到现有的xsd:complexType?
我想这样做,这样它是由供应商提供的原始模式保持不变...
我有一套模式定义,其中一个文件具有xsd:ComplexType定义为“FloatingRateCalculation”,现在我想扩展此类型并希望向它添加一个元素,我不想打扰现有模式。我想创建一个单独的.xsd文件,其中包含原始“FloatingRateCalculation”的架构。如何将元素添加到现有的xsd:complexType?
我想这样做,这样它是由供应商提供的原始模式保持不变...
如果原来的模式是这样的(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>
然后你的模式(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>
我不想扩展现有类型;即以OO术语,我不想从现有类型中派生新的类型。我只想将新字段添加到现有类型中...您所做的是您已从FloatingRateCalculation中派生出FloatingRateCalculationEx。我想要的是向FloatingRateCalculation添加新的字段。我怎样才能做到这一点?谢谢 – Ocean 2012-08-09 15:39:54