//A[B[contains(@a, "foo")]]
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: mark bordelon [mailto:markcbordelon(_at_)yahoo(_dot_)com]
Sent: 03 September 2008 18:28
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] xslt 1.0 vs xslt 2.0 problem
Dear Gents:
I have looked everywhere for the solution to this problem and
never seem to get what to the root of the issue. Here is the
problem in a nutshell:
I have XML of this structure:
<resp>
<A>
<B a="foo bar bar"></B>
<B a="bar bar foo"></B>
<B a="boo far far"></B>
</A>
<A>
<B a="far boo"></B>
<B a="foo bar foo"></B>
<B a="bar foo bar"></B>
</A>
</resp>
Using XSLT 1.0 (which I must, since I am constrained to use
ASP.NET 2.0) I need to query the XML above to find all <A> if
any of its children <B> fulfill a certain requirement.
//A[ contains(B/@a, "foo") ]
What I am seeing is that this XSL only checks the FIRST child
node's (B) attribute instead of checking all of them. In
other words, I only get this:
<resp>
<A>
<B a="foo bar bar"></B>
</A>
</resp>
...instead of what I need, namely this:
<resp>
<A>
<B a="foo bar bar"></B>
<B a="bar bar foo"></B>
</A>
<A>
<B a="foo bar foo"></B>
<B a="bar foo bar"></B>
</A>
</resp>
An attempt to alleviate this problem by amalgamating all the
<B> together using string-join, i.e.
//A[ contains( string-join(B/@a), "foo") ]
error-out because string-join is XSLT 2.0
So...what is the correct way to query through all child nodes
using xslt 1.0?
Thanks Guys!
Sincerely,
Mark Bordelon
Getty Trust
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--