File: Data.xml <?xml version="1.0"?> <lib:library xmlns:lib="http://java2s.com/ns/library"> <lib:book id="b0836217462"> <lib:title>Being a Dog Is a Full-Time Job</lib:title> <lib:authors> <person id="CMS"> <name>Charles M Schulz</name> </person> </lib:authors> </lib:book> </lib:library> File: Schema.xsd <?xml version="1.0"?> <xs:schema targetNamespace="http://java2s.com/ns/library" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:lib="http://java2s.com/ns/library" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:import schemaLocation="another.xsd" /> <xs:element name="library"> <xs:complexType> <xs:sequence> <xs:element name="book" type="lib:bookType" /> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="bookType"> <xs:sequence> <xs:element name="title" type="xs:string" /> <xs:element name="authors"> <xs:complexType> <xs:sequence> <xs:element ref="person" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="id" type="xs:ID" use="required" /> </xs:complexType> </xs:schema> File: another.xsd <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="person" type="personType" /> <xs:complexType name="personType"> <xs:sequence> <xs:element name="name" type="xs:string" /> </xs:sequence> <xs:attribute name="id" type="xs:ID" use="required" /> </xs:complexType> </xs:schema>