1.Write an xml schema for the following xml file.
Book.xml
<BOOK>
<BOOK_NAME>Computer Networks</BOOK_NAME>
<AUTHOR>Andrew Tanenbaum</AUTHOR>
<PUBLISHER>Pearson Education</PUBLISHER>
<PUBLISHINGDATE>2010-02-10</PUBLISHINGDATE >
</BOOK>
2. Modify the schema for the above xml so that the BOOK_NAME contains only “Computer Networks” or “Network Programming” or “Internet Programming”.
Also the length of the publisher should not exceed 10 characters.
Solution 1.
Book1.xsd
<xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<xsd:element name=”BOOK”>
<xsd:complexType>
<xsd:sequence>
<xsd:element name=”BOOK_NAME” type=”xsd:string”/>
<xsd:element name=”AUTHOR” type=”xsd:string”/>
<xsd:element name=”PUBLISHER” type=”xsd:string”/>
<xsd:element name=”PUBLISHINGDATE” type=”xsd:date”/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Solution2
Book2.xsd
<xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<xsd:element name=”BOOK”>
<xsd:complexType>
<xsd:sequence>
<xsd:element name=”BOOK_NAME” type=”BookNameType” />
<xsd:element name=”AUTHOR” type=”xsd:string” />
<xsd:element name=”PUBLISHER” type=”PublisherLength” />
<xsd:element name=”PUBLISHINGDATE” type=”xsd:date” />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:simpleType name=”BookNameType”>
<xsd:restriction base=”xsd:string”>
<xsd:enumeration value=”Computer Networks”></xsd:enumeration>
<xsd:enumeration value=”Network Programming”></xsd:enumeration>
<xsd:enumeration value=”Internet Programming”></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name=”PublisherLength”>
<xsd:restriction base=”xsd:string”>
<xsd:maxLength value=”10″ />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>