Я хочу написать xsd, который пройдет проверку только для обязательных полей.
Я написал ниже xsd для xml.
<Order OrderNo="12345" OrgCode="US">
<OrderLines>
<OrderLine OrderLineNo="1" OrderLineKey="1" />
<OrderLine OrderLineNo="2" OrderLineKey="2" />
</OrderLines>
</Order>
В приведенном выше xml OrderNo, OrgCode,OrderLineNo, OrderLineKey являются обязательными полями.
Я написал ниже xsd для выше xml.
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderLines">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderLine" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:byte" name="OrderLineNo" use="required"/>
<xs:attribute type="xs:byte" name="OrderLineKey" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:short" name="OrderNo" use="required"/>
<xs:attribute type="xs:string" name="OrgCode" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
Теперь я хочу ниже xml для проверки выше xsd, который имеет некоторые атрибуты additioanl, которые являются необязательными,Как показано ниже:
<Order OrderNo="12345" OrgCode="US" Email="ab@gmail.com">
<OrderLines>
<OrderLine OrderLineNo="1" OrderLineKey="1" Qty="2"/>
</OrderLines>
</Order>
Я хочу, чтобы мой xsd был написан так, чтобы можно было разрешить любое количество необязательных атрибутов (Email, Qty и любой атрибут, который не является обязательным) и элементов.Даже если они не определены в xsd.