| <?xml version="1.0" encoding="UTF-8"?> |
| <xsd:schema targetNamespace="http://www.example.com/Library" |
| xmlns:lib="http://www.example.com/Library" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| <xsd:complexType name="Book"> |
| <xsd:sequence> |
| <xsd:element name="title" type="xsd:string"/> |
| <xsd:element name="pages" type="xsd:int"/> |
| <xsd:element name="category" type="lib:BookCategory"/> |
| <xsd:element name="author" type="xsd:anyURI"/> |
| </xsd:sequence> |
| </xsd:complexType> |
| <xsd:complexType name="Writer"> |
| <xsd:sequence> |
| <xsd:element name="name" type="xsd:string"/> |
| <xsd:element maxOccurs="unbounded" minOccurs="0" |
| name="books" type="xsd:anyURI"/> |
| </xsd:sequence> |
| </xsd:complexType> |
| <xsd:complexType name="Library"> |
| <xsd:sequence> |
| <xsd:element name="name" type="xsd:string"/> |
| <xsd:element maxOccurs="unbounded" minOccurs="0" |
| name="books" type="lib:Book"/> |
| <xsd:element maxOccurs="unbounded" minOccurs="0" |
| name="writers" type="lib:Writer"/> |
| </xsd:sequence> |
| </xsd:complexType> |
| <xsd:simpleType name="BookCategory"> |
| <xsd:restriction base="xsd:NCName"> |
| <xsd:enumeration value="Mystery"/> |
| <xsd:enumeration value="ScienceFiction"/> |
| <xsd:enumeration value="Biography"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:schema> |