473,397 Members | 2,068 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,397 software developers and data experts.

problems with apply-templates

Help! The apply-templates function is not currently allowing me to
select a specific template... eventhough I tried putting a select
statement, it does not seem to work??? Can someone help show how I can
select the first template and then have it select others? Below is a
sample of the xml as well as the .xsl file when
I do something like the following in the main section it does not seem
to work, it only works when I remove the select statement, and even
then it seems to only be using the first template... any help is
greatly appreciated...

<xsl:apply-templates select="hashref/item[starts-with(@key,'TEST_')]"
/>

XSL file
--------------
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<basefont face="Verdana" size="2" />
<body>
<xsl:apply-templates />
</body>
</html>
</xsl:template>

<xsl:key name="key-search" match="item" use="@key" />

<xsl:template match="hashref/item[starts-with(@key,'TEST_')]">
<table border="0" bgcolor="gray">
<tr>
<th colspan="2" bgcolor="navy"><font color="white"><xsl:value-of
select="@key"/></font></th>
</tr>
<!-- output all text/control tag items -->
<xsl:for-each select="hashref/item">
<xsl:if test="text()">
<tr>
<th align="left"><xsl:value-of select="@key"/></th>
<td><font face="verdana" size="2" color="white"><xsl:value-of
select="text()"/></font></td>
</tr>
</xsl:if>
</xsl:for-each>

<!-- test results -->
<tr>
<th align="left">test result</th>
<xsl:variable name="key_value"
select="key('key-search','hypothesis_test_results')"/>
<xsl:choose>
<xsl:when test="$key_value = 'false'">
<td><font face="verdana" size="2" color="red"><xsl:value-of
select="."/></font></td>
</xsl:when>
<xsl:otherwise>
<td><font face="verdana" size="2" color="white"><xsl:value-of
select="."/></font></td>
</xsl:otherwise>
</xsl:choose>
</tr>

<xsl:apply-templates select="item[@key='hypothesis_test_results']"/>

</table>
<!-- for spacing purposes between tests -->
<table border="0"><tr><td></td></tr><tr><td></td></tr></table>
</xsl:template>

<xsl:template match="item[@key='hypothesis_test_results']">
<tr>
<td><font face="verdana" size="2" color="red"><xsl:value-of
select="test"/></font></td>
<td><font face="verdana" size="2" color="red"><xsl:value-of
select="."/></font></td>
</tr>
</xsl:template>

<!--
<xsl:apply-templates select = 'item'/>

<xsl:template match="/item[@key='hypothesis_result']" >
<tr>
<th align="left"><xsl:value-of select="@key"/></th>
<td><font face="verdana" size="2" color="blue"><xsl:value-of
select="."/></font></td>
</tr>
</xsl:template>
-->

</xsl:stylesheet>
XML file
--------------

<item key="TEST_5">
<hashref memory_address="0x943c6f4">
<item key="AccountID">58279</item>
<item key="ScheduleID">7</item>
<item key="ShortName">RBCNUK-0855-CEFL</item>
<item key="hypothesis_results">
<arrayref memory_address="0x943809c">
<item key="0">
<arrayref memory_address="0x943778c">
<item key="0">
<arrayref memory_address="0x9437744">
<item key="0">4166</item>
</arrayref>
</item>
</arrayref>
</item>
</arrayref>
</item>
<item key="hypothesis_test_results">
<hashref memory_address="0x943c6ac">
<item key="result">true</item>
</hashref>
</item>
<item key="sample_results">
<arrayref memory_address="0x943259c">
<item key="0">
<arrayref memory_address="0x9432614">
<item key="0">
<arrayref memory_address="0x94381bc">
<item key="0">4160</item>
</arrayref>
</item>
<item key="1">
<arrayref memory_address="0x943241c">
<item key="0">4153</item>
</arrayref>
</item>
<item key="2">
<arrayref memory_address="0x9432638">
<item key="0">4162</item>
</arrayref>
</item>
<item key="3">
<arrayref memory_address="0x94380fc">
<item key="0">4164</item>
</arrayref>
</item>
<item key="4">
<arrayref memory_address="0x94381b0">
<item key="0">4163</item>
</arrayref>
</item>
<item key="5">
<arrayref memory_address="0x94380cc">
<item key="0">4165</item>
</arrayref>
</item>
<item key="6">
<arrayref memory_address="0x94381d4">
<item key="0">4168</item>
</arrayref>
</item>
</arrayref>
</item>
</arrayref>
</item>
<item key="stats_results">
<hashref memory_address="0x943376c">
<item key="MEAN">4162.14285714286</item>
<item key="STD">4.74090608177306</item>
<item key="STD_ERROR">1.79189406878359</item>
<item key="confidence_interval_lower">4151</item>
<item key="confidence_interval_upper">4173</item>
<item key="critical_value">5.9565</item>
<item key="degrees_of_freedom">6</item>
<item key="distribution">tdistr</item>
<item key="interval_type">integer</item>
<item key="level_of_significance">0.000499999999999972</item>
<item key="sample_size">7</item>
<item key="type_of_test">two tailed test</item>
</hashref>
</item>
</hashref>
</item>

Jul 20 '05 #1
3 1619

<xsl:template match="hashref/item[starts-with(@key,'TEST_')]">

so here your current node is an item node

<xsl:apply-templates select="item[@key='hypothesis_test_results']"/>

so this selects item children (with that attribute) of teh current item
node, but your sample input didnt have any such children, they seem to
be grandchildren below a hashref so perhaps you meant to do

<xsl:apply-templates select="hashref/item[@key='hypothesis_test_results']"/>

David

Jul 20 '05 #2
Hi, Thanks for the response I will try that. How about when the first
<xsl:apply-templates\> is called? It seems that I cannot get this to
just apply the following template specifically... any ideas? I tried
the following but maybe something is wrong here?

statement to call template

<xsl:apply-templates select="hashref/item[starts-with(@key,'TEST_')]">\>

template to call

<xsl:template match="hashref/item[starts-with(@key,'TEST_')]">
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Jul 20 '05 #3
Hi, Thanks for the response I will try that. How about when the first
<xsl:apply-templates\> is called? It seems that I cannot get this to
just apply the following template specifically... any ideas? I tried
the following but maybe something is wrong here?
you used a similar wording in your original message and I didn't
understand what you meant then or now. I suspect that you have the
wrong mental model of how xslt is working.
When you use apply-templates you _never_ specify which templates are to
be applied (and there is no real notion of a "next" template, the order
of templates in the stylesheet is not significant). apply-templates uses
a select expression which selects nodes in the input tree.

If you want to call a block of code explictly then you want to use a
named template not a match template and use xsl:call-template rather
than apply-templates. However that isn't normally what you would want to
do for this kind of transform.

David
Jul 20 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

10
by: yawnmoth | last post by:
http://www.frostjedi.com/terra/dev/test.html I'd like to have the colored boxes appear on the same line as "Test" does. The div containing the colored boxes is defined as being inline, yet...
14
by: Jim Hubbard | last post by:
Are you up to speed on the difficulties in using the 1.1 .Net framework? Not if you are unaware of the 1,596 issues listed at KBAlertz (http://www.kbalertz.com/technology_3.aspx). If you are...
1
by: manish | last post by:
Hi, I am a fresher in the programming field i.e although I have done programming at the basic level but at professional level I am very new and I am facing many problems. These probllems are...
2
by: mb12036 | last post by:
All- Having a problem installing a DB2 client on a machine running AIX version 5.0. Client appeared to install one time succesfully, then was uninstalled and a reinstall was attempted. For...
1
by: Andy K | last post by:
Hi , Finally i was able to setup my replication process between two databases . For those who were not following my story , i was trying to setup a replication between two databases on...
0
by: Claire | last post by:
Hi Ive been using Mattias Sjögren's example at http://www.msjogren.net/dotnet/eng/samples/dotnet_dynpinvoke.asp to load an unmanaged 3rd party dll dynamically when my object is created. Calling...
19
by: Dales | last post by:
I have a custom control that builds what we refer to as "Formlets" around some content in a page. These are basically content "wrapper" sections that are tables that have a colored header and...
6
by: Wescotte | last post by:
I've wrote a little test app to use XMLHTTPRquest test app but I'm looking to add some functionality and I'm not quite so how to go about doing it. Below is the source What I'd really like is...
5
by: Chris Lieb | last post by:
I am trying to add an event listener to the keyup event for some text inputs that I am creating dynamically. I have no problems getting it to work in Firefox, but IE just ignores them. I have...
3
by: Bethrezen | last post by:
hi all I have something of a quandary I'm trying to create a footer that has rounded corners using the code on this page http://www.cssplay.co.uk/boxes/snazzy.html I managed to get the...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.