Subject: RE: [xsl] xslt 1.0 vs xslt 2.0 problem From: "Houghton,Andrew" <houghtoa@xxxxxxxx> Date: Wed, 3 Sep 2008 13:34:32 -0400 |
> From: mark bordelon [mailto:markcbordelon@xxxxxxxxx] > Sent: Wednesday, September 03, 2008 1:28 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > 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> Two points. The obvious one, since you are using ASP.NET make sure you are using SelectNodes and not SelectSingleNode, otherwise you will get similar behaviour. The second one is that I think your XPath expression should probably be: //A[B[contains(@a, "foo")]] Andy.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xslt 1.0 vs xslt 2.0 prob, Martin Honnen | Thread | RE: [xsl] xslt 1.0 vs xslt 2.0 prob, Michael Kay |
Re: [xsl] xslt 1.0 vs xslt 2.0 prob, Martin Honnen | Date | RE: [xsl] xslt 1.0 vs xslt 2.0 prob, Michael Kay |
Month |