Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="store"> <xs:complexType> <xs:sequence> <xs:element name="products"> <xs:complexType> <xs:sequence> <xs:element name="product" type="ProductType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="orders"> <xs:complexType> <xs:sequence> <xs:element name="order" type="OrderType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <!-- Key: product/@id must be unique and non-null --> <xs:key name="productKey"> <xs:selector xpath="products/product"/> <xs:field xpath="@id"/> </xs:key> <!-- Keyref: order/item/@productId must reference a product key --> <xs:keyref name="orderItemRef" refer="productKey"> <xs:selector xpath="orders/order/item"/> <xs:field xpath="@productId"/> </xs:keyref> </xs:element> <xs:complexType name="ProductType"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="price" type="xs:decimal"/> </xs:sequence> <xs:attribute name="id" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="OrderType"> <xs:sequence> <xs:element name="item" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="productId" type="xs:string" use="required"/> <xs:attribute name="qty" type="xs:positiveInteger" use="required"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="orderId" type="xs:string" use="required"/> </xs:complexType> </xs:schema>
Result
Open