XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
thomas furstSubject: XSLT help with linking
Author: thomas furst
Date: 30 Nov 2007 02:20 PM
Originally Posted: 30 Nov 2007 02:19 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>

I am trying to create a link that will, when you click on the symptom text, will show a list of the corresponding corrective actions in an inline frame.

this is the simple stylesheet I have gotten 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.

Posttop
James DurningSubject: XSLT help with linking
Author: James Durning
Date: 03 Dec 2007 09:50 AM
The way you have it set up at the moment, you'd probably need a javascript solution involving show/hide on elements.

Clicking on the link calls a onclick_ method which runs a javascript function, passing a single argument, say ID.

Use a getElementsByTagName to get all of the elements.
Then run a for-each on the NodeList.
If it has the right value in it's attribute, set it to show. Otherwise, set it to hide.
(Note I'm not a javascript expert, so don't know the exact code for this solution. Suggest googling for it.)

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.