Subject: Re: [xsl] how to test if a child node have a specific name? From: "Chen Yi" <chen_yi36@xxxxxxxxxxx> Date: Fri, 28 May 2004 22:52:50 +0800 |
<xsl:if test="$Operator = 'AND'"> .... </xsl:if>
Thanks in advance Chen Yi
http://www.amazon.co.uk/exec/obidos/tg/detail/-/0201362996/202-7257897-0619804From: David Carlisle <davidc@xxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx CC: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] how to test if a child node have a specific name? Date: Fri, 28 May 2004 14:25:47 +0100
> I want to know which one is the correct one?
they are all correct XSLT but I suspect none of them really tests what you want,
Note that in <a> <b/> <c/> </a>
the first node of a does not have name "b" as it is a text node with string value a newline and name "". So you probably want to test with element nodes (*) rather than all nodes (node() )
test="child::node()[1]=NodeName"
This tests if the string value (ie, the content, not the name) of the first node is equal to the string value of any child element with name NodeName
so it would be true on
<a><x>hello</x> <hh/> <NodeName>hello</NodeName></x>
as the two "hello" are equal.
test="child::node()[1]='NodeName'"
tests if the string value of the first node is the string "Nodename" so it would be true on
<a><x>NodeName</x> <hh/> </x>
test="name(child::node()[1])='NodeName'"
This is nearly what you want and would be true on <a><NodeName>hello</NodeName> ....</x> But it is false on <a> <NodeName>hello</NodeName> .... </x>
I suspect you want
test="*[1][self::NodeName]"
David
--
The LaTeX Companion
http://www.awprofessional.com/bookstore/product.asp?isbn=0201362996
________________________________________________________________________ This e-mail has been scanned for all viruses by Star Internet. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] how to test if a child no, G. Ken Holman | Thread | RE: RE: [xsl] NEED good information, Pieter Reint Siegers |
RE: [xsl] Escape caracters, Passin, Tom | Date | Re: [xsl] Performance Question: Exp, Eliot Kimber |
Month |