Nested sequence
File: Data.xml <?xml version="1.0"?> <products xmlns ="http://www.java2s.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.java2s.com Schema.xsd"> <product> <name>name 1</name> <image>a.gif</image> <description>description 1</description> <warranty>lifetime warranty</warranty> <cost>41.95</cost> <retailer>http://www.java2s.com</retailer> </product> <product> <name>name 2</name> <image>b.gif</image> <description>description 2</description> <cost>239.00</cost> <retailer>http://www.java2s.com</retailer> </product> </products> File: Schema.xsd <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.java2s.com" xmlns="http://www.java2s.com" elementFormDefault="qualified"> <xsd:element name="products"> <xsd:complexType> <xsd:sequence> <xsd:element name="product" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="image" type="xsd:string"/> <xsd:element name="description" type="xsd:string"/> <xsd:element name="warranty" type="xsd:string" minOccurs="0"/> <xsd:element name="weight" type="xsd:string" minOccurs="0"/> <xsd:element name="cost" type="xsd:string" maxOccurs="unbounded"/> <xsd:element name="retailer" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>