xsl-list
[Top] [All Lists]

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

2007-12-01 05:59:29
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'>

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

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

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

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

<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"/>
</symptom>
</symptoms>

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

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

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

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

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

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

</corrective-actions>
</fault-knowledge-base>

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"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

<xsl:template match="/">
<html>
<head>

<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
}
</style>

</head>
<body>
<table style="width:100%">

<tr>
<th width="40%" class="header">Symptoms</th>
<th width="60%" class="header">Corrective Actions</th>
</tr>
<tr>
<td align="top">
<table border="0">
<xsl:for-each select="fault-knowledge-base/symptoms/symptom">
<tr>
<td><a href="??" target="I2" class="linktext"><xsl:value-of 
select="text"/></a></td>
</tr>
</xsl:for-each>
</table>
</td>
<td>
<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.
</iframe>
</td>
</tr>
</table>


</body>
</html>
</xsl:template>
</xsl:stylesheet>

If anybody can help, I would greatly appreciate it.


Tom Furst
Technical Writer
RCM Technologies
Ext. 104
tom(_dot_)furst(_at_)rcmt(_dot_)com


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--