Generating HTML Documents with Links
Before we leave the topic of IDs, we’ll look at a more complicated stylesheet—one that generates HTML. We want to list all the components and parts in our document, and we want to create hyperlinks between them. So, we’ll list the components and the parts they use; each part name will be a link to a description of that part. We’ll do the same thing when we list each part and the components that use it. Our source document has changed slightly for the purposes of our next few examples:
<?xml version="1.0"?> <!-- parts-list3.xml --> <!DOCTYPE parts-list [ <!ELEMENT parts-list (component+, part+, supplier+)> <!ELEMENT component (name, partref+, description)> <!ATTLIST component component-id ID #REQUIRED> <!ELEMENT name (#PCDATA)> <!ELEMENT partref EMPTY> <!ATTLIST partref refid IDREF #REQUIRED> <!ELEMENT part (name, description)> <!ATTLIST part part-id ID #REQUIRED supplier CDATA #REQUIRED> <!ELEMENT description (#PCDATA|partref)*> <!ELEMENT supplier (name)> <!ATTLIST supplier country CDATA #REQUIRED vendor-id CDATA #REQUIRED> ]> <parts-list> <component component-id="C28392-33-TT"> <name>Turnip Twaddler</name> <partref refid="P81952-26-PK"/> <partref refid="P86679-52-SP"/> <partref refid="P81472-68-FD"/> <partref refid="P88107-39-GT"/> <description> If you've got turnips to twaddle, this is the tool for you! Comes with a <partref refid="P81472-68-FD"/>. </description> </component> <component component-id="C28100-38-CT"> <name>Clam Teaser</name> ...
Get XSLT, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.