古い既存の XML フィードのサポートに取り組むというタスクが与えられました。新しいリクエストは、XML フィードに新しい属性を追加しています。新しい属性「CountryOfOrigin」を XML に追加してからスキーマに追加すると、検証に失敗します。XML とスキーマから新しい属性を削除すると、問題なく動作します。これは新しい属性を持つ新しい XML で、その下にスキーマがあります
XML
<TagOrder>
<Tag>
<Message>1</Message>
<TagType>R</TagType>
<ItemNumber>190</ItemNumber>
<ItemXRef>E039</ItemXRef>
<VendorXRef>E39H</VendorXRef>
<Lvl02Desc>NEAR</Lvl02Desc>
<Lvl03Desc>NUG</Lvl03Desc>
<Lvl04Desc>EARRING</Lvl04Desc>
<Lvl05Desc>14KT</Lvl05Desc>
<Lvl06Desc></Lvl06Desc>
<VendorShortName>TEST</VendorShortName>
<SRP>1325.00</SRP>
<RetailPrice>1325.00</RetailPrice>
<CountryOfOrigin>TEST</CountryOfOrigin>
</Tag>
</TagOrder>
スキーマ
<schema id="Data2-Tag" xmlns="http://www.w3.org/2001/XMLSchema">`
<element name="Transaction">
<complexType>
<sequence>
<element name="TransactionId" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="long">
</restriction>
</simpleType>
</element>
<element name="ClientId" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="long">
</restriction>
</simpleType>
</element>
<element name="TagOrder" minOccurs="1" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="Tag" minOccurs="1" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="Message" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="int">
<minExclusive value="0"/>
</restriction>
</simpleType>
</element>
<element name="TagType" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="string">
<maxLength value="1"/>
</restriction>
</simpleType>
</element>
<element name="ItemNumber" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="string">
<maxLength value="50"/>
</restriction>
</simpleType>
</element>
<element name="ItemXRef" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="string">
<maxLength value="20" />
</restriction>
</simpleType>
</element>
<element name="VendorXRef" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="string">
<maxLength value="20" />
</restriction>
</simpleType>
</element>
<element name="Lvl02Desc" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="string">
<maxLength value="4" />
</restriction>
</simpleType>
</element>
<element name="Lvl03Desc" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="string">
<maxLength value="3" />
</restriction>
</simpleType>
</element>
<element name="Lvl04Desc" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="string">
<maxLength value="9" />
</restriction>
</simpleType>
</element>
<element name="Lvl05Desc" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="string">
<maxLength value="8" />
</restriction>
</simpleType>
</element>
<element name="Lvl06Desc" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="string">
<maxLength value="3" />
</restriction>
</simpleType>
</element>
<element name="Lab" minOccurs="0" maxOccurs="1">
<simpleType>
<restriction base="string">
<maxLength value="20"></maxLength>
<enumeration value="Cultured"/>
<enumeration value="Lab Created"/>
</restriction>
</simpleType>
</element>
<element name="VendorShortName" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="string">
<maxLength value="3"/>
</restriction>
</simpleType>
</element>
<element name="SRP" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="decimal">
<minInclusive value="0" />
<fractionDigits value="2"/>
</restriction>
</simpleType>
</element>
<element name="RetailPrice" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="decimal">
<minInclusive value="0" />
<fractionDigits value="2"/>
</restriction>
</simpleType>
</element>
<element name="CountryOfOrigin" minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="string">
<maxLength value="100"/>
</restriction>
</simpleType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
両方から「CountryOfOrigin」を削除すると、問題なく動作し、検証されます。XML がスキーマに対して検証されない理由がわかる人はいますか?
ありがとう^.^