Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


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

From: "Furst, Tom" <tom.furst@-------->
To:
Date: 12/1/2007 12:59:00 PM
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.furst@xxxxxxxx


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent