ASP Error: 70
Description: Permission denied
Source: Microsoft VBScript runtime error
|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: RE: Testing values from parent nodes
Hey Neil,
I'm assuming that based on your sample code and the source XML that you
are interested in the value of RR_group2/type as opposed to
RR_group1/type (which doesnt exist)? If so, and without seeing the
context in which you are processing RR_group4, heres a sample that
should help get you where you need to go...
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:apply-templates
select="RR/RR_row/RR_group1/RR_group2/RR_group3/RR_group4"/>
</xsl:template>
<xsl:template match="RR_group4">
<xsl:if test="ancestor::RR_group2[type = '1']">
hello world
</xsl:if>
</xsl:template>
</xsl:stylesheet>
This will output "hello world" if the value of ancestor::RR_group2/type
is equal to 1. I treated 1 as a string by using the single quotes but
this would work just as well without them given that 1 can be treated as
a string or a number by the processor. You could also use <xsl:if
test="ancestor::RR_group2/type = '1'"> and get the same result. The
difference between these two methods is show when they are used to
process the node and its children (as opposed to test for a value.)
"ancestor::RR_group2/type" puts 'type' into context where as
"ancestor::RR_group2[type]" puts 'RR_group2' into context if it has a
child with a local-name() of 'type'.
Let me know if this helps get you to where you need to be...
Best of luck!
<M:D/>
> -----Original Message-----
> From: SMITH Neil [mailto:neil.smith@xxxxxxxx]
> Sent: Wednesday, May 26, 2004 3:07 AM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: Testing values from parent nodes
>
> <RR>
> <RR_row>
> <ind_no>81723</ind_no>
> <pos_acad_m_no>1</pos_acad_m_no>
> <pos_acad_lib>Emeritierte(r)
Professor(in)</pos_acad_lib>
> <et25_lng>2</et25_lng>
> <RR_group1>
> <gr_no>330</gr_no>
> <gr_nom>Analysis: Gruppe Kaup</gr_nom>
> <RR_group2>
> <type>1</type>
> <type_lib>Publications</type_lib>
> <RR_group3>
> <cle>15381</cle>
> <RR_group4>
> <ordre>10</ordre>
> <text>G. Bissig: \ber
die Stabilitdt
> separierbarer Bldtterungen. Dissertation Fribourg, Juni 2002</text>
> <date_debut/>
> <date_fin/>
> <financement/>
>
<montant>0</montant>
> </RR_group4>
> </RR_group3>
> </RR_group2>
>
>
> Here is a part of my XML file that I am parsing to HTML.
> Here is my problem, I would like to test the value of
> /RR/RR_Row/RR_group1[type=1] while I am parsing the values of the
> RR_group4 node (the output is not the same depending on the type).
>
> I tried :
> <xsl:if
test="ancestor::RR/RR_row/RR_group1/RR_group2[type=1]">
> But that doesn't work (crashes XMLSPY...)
> <xsl:if test="/RR/RR_row/RR_group1/RR_group2[type=1]">
> Same same...
>
>
> Could someone please help me as I have been stuck on this for a couple
of
> days now...
>
> Thanks a lot
> Best regards,
> Neil.
>
>
>
> Neil Smith
> Analyste Programmeur
> Universiti de Fribourg
> Av. de l'Europe 20
> CH - 1700 Fribourg
> Til. +41 26 300 7091
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








