Question:
------------
Create a book catalog in xml using xsl.
<?xml version="1.0"?>
<?xml:stylesheet href="catalog.xsl" type="text/xsl"?>
<!DOCTYPE CATALOGS[
<!ELEMENT CATALOGS (CATEGORY)>
<!ELEMENT CATEGORY (BOOK)>
<!ATTLIST CATEGORY TYPE CDATA #REQUIRED>
<!ELEMENT BOOK (BOOKNAME,AUTHORNAME,ISBN,PUBLISHER,PAGES,PRICE)>
<!ATTLIST BOOK BESTSELLER (YES|NO) #REQUIRED>
<!ELEMENT BOOKNAME (#PCDATA)>
<!ELEMENT AUTHORNAME (#PCDATA)>
<!ELEMENT ISBN (#PCDATA)>
<!ELEMENT PUBLISHER (#PCDATA)>
<!ELEMENT PAGES (#PCDATA)>
<!ATTLIST PRICE CURRENCY CDATA #REQUIRED>
]>
<CATALOGS>
<CATEGORY TYPE ="XML">
<BOOK BESTSELLER ="NO">
<BOOKNAME>advanced sse</BOOKNAME>
<AUTHORNAME>ram</AUTHORNAME>
<ISBN>222</ISBN>
<PUBLISHER>VAS BOOKS</PUBLISHER>
<PAGES>800</PAGES>
<PRICE CURRENCY ="USD">200</PRICE>
</BOOK>
<BOOK BESTSELLER ="YES">
<BOOKNAME>Advaced physics</BOOKNAME>
<AUTHORNAME>Ma manual</AUTHORNAME>
<ISBN>2020</ISBN>
<PUBLISHER>Current BOOKS</PUBLISHER>
<PAGES>950</PAGES>
<PRICE CURRENCY ="USD">500</PRICE>
</BOOK>
</CATEGORY>
</CATALOGS>
catalog.xsl (save file as catalog.xsl)
<?xml version="1.0"?>
<xsl:stylesheet version='1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match="CATALOGS">
<html>
<body>
<table border="1">
<xsl:for-each select="CATEGORY">
<tr>
<th>BOOKNAME</th>
<th>AUTHORNAME</th>
<th>ISBN</th>
<th>PUBLISHER</th>
<th>PAGES</th>
<th>PRICE</th>
</tr>
<xsl:for-each select="BOOK">
<tr>
<td><xsl:value-of select="BOOKNAME"/> </td>
<td><xsl:value-of select="AUTHORNAME"/> </td>
<td><xsl:value-of select="ISBN"/> </td>
<td><xsl:value-of select="PUBLISHER"/> </td>
<td><xsl:value-of select="PAGES"/> </td>
<td><xsl:value-of select="PRICE"/> </td>
</tr>
</xsl:for-each>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
------------
Create a book catalog in xml using xsl.
Program
catalog.xml (save file as catalog.xml)
<?xml version="1.0"?>
<?xml:stylesheet href="catalog.xsl" type="text/xsl"?>
<!DOCTYPE CATALOGS[
<!ELEMENT CATALOGS (CATEGORY)>
<!ELEMENT CATEGORY (BOOK)>
<!ATTLIST CATEGORY TYPE CDATA #REQUIRED>
<!ELEMENT BOOK (BOOKNAME,AUTHORNAME,ISBN,PUBLISHER,PAGES,PRICE)>
<!ATTLIST BOOK BESTSELLER (YES|NO) #REQUIRED>
<!ELEMENT BOOKNAME (#PCDATA)>
<!ELEMENT AUTHORNAME (#PCDATA)>
<!ELEMENT ISBN (#PCDATA)>
<!ELEMENT PUBLISHER (#PCDATA)>
<!ELEMENT PAGES (#PCDATA)>
<!ATTLIST PRICE CURRENCY CDATA #REQUIRED>
]>
<CATALOGS>
<CATEGORY TYPE ="XML">
<BOOK BESTSELLER ="NO">
<BOOKNAME>advanced sse</BOOKNAME>
<AUTHORNAME>ram</AUTHORNAME>
<ISBN>222</ISBN>
<PUBLISHER>VAS BOOKS</PUBLISHER>
<PAGES>800</PAGES>
<PRICE CURRENCY ="USD">200</PRICE>
</BOOK>
<BOOK BESTSELLER ="YES">
<BOOKNAME>Advaced physics</BOOKNAME>
<AUTHORNAME>Ma manual</AUTHORNAME>
<ISBN>2020</ISBN>
<PUBLISHER>Current BOOKS</PUBLISHER>
<PAGES>950</PAGES>
<PRICE CURRENCY ="USD">500</PRICE>
</BOOK>
</CATEGORY>
</CATALOGS>
catalog.xsl (save file as catalog.xsl)
<?xml version="1.0"?>
<xsl:stylesheet version='1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match="CATALOGS">
<html>
<body>
<table border="1">
<xsl:for-each select="CATEGORY">
<tr>
<th>BOOKNAME</th>
<th>AUTHORNAME</th>
<th>ISBN</th>
<th>PUBLISHER</th>
<th>PAGES</th>
<th>PRICE</th>
</tr>
<xsl:for-each select="BOOK">
<tr>
<td><xsl:value-of select="BOOKNAME"/> </td>
<td><xsl:value-of select="AUTHORNAME"/> </td>
<td><xsl:value-of select="ISBN"/> </td>
<td><xsl:value-of select="PUBLISHER"/> </td>
<td><xsl:value-of select="PAGES"/> </td>
<td><xsl:value-of select="PRICE"/> </td>
</tr>
</xsl:for-each>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
No comments:
Post a Comment