[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Using XSL to create interactive web page from XML

Subject: Using XSL to create interactive web page from XML
From: "Furst, Tom" <tom.furst@xxxxxxxx>
Date: Sat, 1 Dec 2007 07:58:56 -0500
 Using XSL to create interactive web page from XML
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

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.