O'Reilly logo

XSLT, 2nd Edition by Doug Tidwell

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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> ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required