我有一组架构定义,其中一个文件将 xsd:ComplexType 定义为“FloatingRateCalculation”,现在我想扩展此类型并想向其中添加一个元素,并且我不想干扰现有架构。我想创建一个单独的 .xsd 文件,其中包含原始“FloatingRateCalculation”的架构。
我想这样做,以便供应商提供的原始模式保持不变......
如果原始架构看起来像这样(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>