[xsl] Using XSL to create interactive web page from XML

Subject: [xsl] Using XSL to create interactive web page from XML
From: "Furst, Tom" <tom.furst@xxxxxxxx>
Date: Sat, 1 Dec 2007 07:58:56 -0500
I am relatively new to using XSLT. Following is an example of the xml I have
to start with.

<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="symptom.xsl"?>
<fault-knowledge-base model-code='S92A'>

<symptom ata-number="50-00-00" id="ATA50_S1">
<operator-fault-ref idref="IFS_24990"/>
<text>Lower bolt handle missing on lower cargo bulkhead.</text>
<corrective-action-ref idref="ATA50_CA1"/>
<corrective-action-ref idref="ATA50_CA2"/>

<symptom ata-number="50-00-00" id="ATA50_S2">
<operator-fault-ref idref="IFS_16199"/>
<text>Plastic panel is jamming cargo door.</text>
<corrective-action-ref idref="ATA50_CA3"/>

<symptom ata-number="50-10-02" id="ATA50_S3">
<operator-fault-ref idref="IFS_51528"/>
<text>Crack in cargo compartment roof.</text>
<corrective-action-ref idref="ATA50_CA4"/>

<symptom ata-number="50-10-04" id="ATA50_S4">
<operator-fault-ref idref="IFS_32803"/>
<text>Center lower cargo net bracket missing from upper shelf in cargo
compartment </text>
<corrective-action-ref idref="ATA50_CA5"/>

<symptom ata-number="50-10-04" id="ATA50_S5">
<operator-fault-ref idref="IFS_42757"/>
<text>Upper cargo shelf delaminated.</text>
<corrective-action-ref idref="ATA50_CA6"/>

<corrective-action id="ATA50_CA1">
<text>Installed new bolt handle on lower cargo bulkhead.</text>
<operator-action-ref idref="IFS_24990"/>

<corrective-action id="ATA50_CA2">
<text>Temporarilly installed screw.</text>
<operator-action-ref idref="IFS_22430"/>

<corrective-action id="ATA50_CA3">
<text>Repaired plastic paneling.</text>
<operator-action-ref idref="IFS_16199"/>

<corrective-action id="ATA50_CA4">
<text>Repair crack IAW DRB-2007-SA-92-018</text>
<operator-action-ref idref="IFS_51528"/>

<corrective-action id="ATA50_CA5">
<text>Installed new inserts.</text>
<operator-action-ref idref="IFS_32803"/>

<corrective-action id="ATA50_CA6">
<text>New cargo shelf installed.</text>
<operator-action-ref idref="IFS_42757"/>


Using the following style sheet, I have managed to display the <text> element
of the <symptom> element  exactly the way I want.  Now what I am trying to
create is a link that will, when you click on the displayed <text> element, it
will show a list of the corresponding corrective actions in an inline frame. I
am unsure of:

1. How to ensure that each symptom is only linked to its associated
<corrective-action-ref> elements.
2. What needs to be used as the "href" attribute for the HTML.

This is the simple stylesheet I have created so far:

<?xml version="1.0"?>
<xsl:stylesheet version="2.0"

<xsl:template match="/">

<style type="text/css">

.linktext {
font-family: Arial;
font-size: 9pt;
font-weight: bold;
color: black;
text-decoration: none

a:visited { text-decoration: none }
a:hover { text-decoration:none; color: blue; }
a:active {text-decoration: none; color:red}

.header {
font-family: Arial;
font-size: 12pt;
font-weight: bold

<table style="width:100%">

<th width="40%" class="header">Symptoms</th>
<th width="60%" class="header">Corrective Actions</th>
<td align="top">
<table border="0">
<xsl:for-each select="fault-knowledge-base/symptoms/symptom">
<td><a href="??" target="I2" class="linktext"><xsl:value-of
<iframe name="I2" marginwidth="3" marginheight="3" height="580" width="100%"
src="" align="left" frameborder="0" scrolling="auto">
Your browser does not support inline frames or is currently configured not to
display inline frames.


If anybody can help, I would greatly appreciate it.

Tom Furst
Technical Writer
RCM Technologies
Ext. 104

Current Thread