|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: xslt 1.0 vs xslt 2.0 problem
//A[B[contains(@a, "foo")]] Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: mark bordelon [mailto:markcbordelon@xxxxxxxxx] > Sent: 03 September 2008 18:28 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: 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
|
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
|






