Document:
<?xml version="1.0"?>
<addressBook>
<owner>
<cname>John Punin</cname>
<email>puninj@cs.rpi.edu</email>
</owner>
<person>
<cname>Harrison Ford</cname>
<email>hford@famous.org</email>
</person>
<person>
<cname>Julia Roberts</cname>
<email>jr@pw.com</email>
</person>
</addressBook>
DTD:
<!ENTITY % record (cname, email)>
<!ELEMENT addressBook (owner,person*)>
<!ELEMENT owner %record;>
<!ELEMENT person %record;>
XML Schema:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="record">
<xsd:sequence>
<xsd:element name="cname" type="xsd:string"/>
<xsd:element name="email" type="xsd:string/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="addressBook">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="owner" type="record"/>
<xsd:element name="person" type="record"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>