1. Design a DTD for a new XML application called Library Markup Language (LibML) appropriate to capture the list of your items of collection. Put the DTD into a file named library.dtd.
2. Create an XML document my_library.libml that can be validated against library.dtd. You have to supply details as regard to the information of the items in your library document.
3. Design an XML schema for LibML. Put the schema into a document called library.xsd. The schema should contain at least what is specified in library.dtd. Use the facilities available in XML Schema to make the definition of LibML better than the DTD version. However, you must ensure that the documents created in (2) are still valid for the XML schema, without needing to make any changes except the references to the DTD. Discuss the differences between your XML schema and your DTD.
4. Create XSLT style-sheets as required below:
a) Create an XSLT style-sheet cat_list.xsl to extract a list of the items (and their corresponding call numbers) from a LibML document. The result should be plain text. The list should be ordered in alphabetical order by the item's names or titles. Each item should be in the following format:
- : Note: we state in the above that "the result should be plain text". It means that the raw output should be in plain text, not that it looks like plain text in a browser. Many students in the past have made the mistake of using browsers to execute their code, and mistakenly believe that the outputs are correct by looking at a browser window, when in fact the output are actually in HTML. Test your XSLT stylesheet using my_library.libml from (2).
b) Create an XSLT style-sheet match_xml.xsl to extract the details of all items whose name titles contain some keyword or your choice (for example, if you have a book library, you might like to use the keyword, "XML") from a LibML document. The style and content of the output should be in plain text similar to that of question 4(a). Test your XSLT style-sheet using my_library.libml from (2).
c) Create an XSLT style-sheet libml2xhtml.xsl to convert the information in a LibML document such as my_library.libml from (2) into XHTML. The resulting XHTML documents should be well presented in a web browser although the actual design of the XHTML page is up to you.