Quick XSLT Question

M

Mike King

Does the following code have any defined behavior in XSLT or XPath? I have
tried this before and it didn't do what I thought it should do. Instead, I
had to use the local-name() function and compare it with a string
representing the element of interest.

<xsl:if test=". = SomeElement">
</xsl:if>
 
D

David Carlisle

Mike King said:
Does the following code have any defined behavior in XSLT or XPath? I have
tried this before and it didn't do what I thought it should do. Instead, I
had to use the local-name() function and compare it with a string
representing the element of interest.

<xsl:if test=". = SomeElement">
</xsl:if>


it tests if the string value of the current node is equal to the string
value of its SomeElement child so if the current element is x it would
be true on

<x><a/><b/><SomeElement>aaa</SomeElement></x>

as they both have string value aaa.

You probably wanted

test="self::SomeElement"

which tests if the current node is a SomeElement element.

david
 
M

Mike King

it tests if the string value of the current node is equal to the string
value of its SomeElement child so if the current element is x it would
be true on

<x><a/><b/><SomeElement>aaa</SomeElement></x>

as they both have string value aaa.

You probably wanted

test="self::SomeElement"

which tests if the current node is a SomeElement element.

david


Thank you very much!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top