Во-первых, в вашем новом XML закрывающий тег PriceInSites должен выглядеть следующим образом </PriceInSites>
вместо этого <PriceInSites>
.Во-вторых, ответ зависит от того, сколько работы ваши клиенты готовы сделать, чтобы использовать новый XML.Я не вижу ваши документы XML-схемы, поэтому, если исходная схема выглядит примерно так:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Type">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=" Smartphone "/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Product">
<xs:complexType>
<xs:sequence>
<xs:element ref="Name"/>
<xs:element ref="Color"/>
<xs:element ref="Type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Name">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=" IPhone X "/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Color">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=" Black "/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
Тогда ваша новая XML-схема должна сделать вновь добавленный тег необязательным:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Type">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=" Smartphone "/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Site">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=" www.apple.com "/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Product">
<xs:complexType>
<xs:sequence>
<xs:element ref="Name"/>
<xs:element ref="Color"/>
<xs:element ref="PriceInSites" minOccurs="0"/>
<xs:element ref="Type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PriceInSites">
<xs:complexType>
<xs:sequence>
<xs:element ref="Site"/>
<xs:element ref="Price"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Price">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:enumeration value="1000.0"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Name">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=" IPhone X "/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Color">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=" Black "/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
... установив minOccurs на ноль.Это следует делать только в том случае, если вы хотите продолжать поддерживать существующих потребителей XML-схем, которые не хотят или не могут обновить свое определение XML для обработки вашего нового элемента.