Subject: Re: [xsl] processing nodes by value precedence From: "David Carlisle d.p.carlisle@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 2 Feb 2016 21:08:48 -0000 |
On 2 February 2016 at 20:57, Matthew Stoeffler matthew.stoeffler@xxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Lets say Ibm processing products that can have multiple types of a certain > node distinguished by value, of which I want only one in my result, and I > have a precedence order by type of those nodes that shoudl determine which > one I get. So, if the child of product Ibm interested in is price currency > and my product had > > > > <product> > > b&. > > > > <price> > > <amount>25.00</amount> > > <currency>FR</currency> > > </price> > > > > <price> > > <amount>20.00</amount> > > <currency>US</currency> > > </price> > > > > <price> > > <amount>30.00</amount> > > <currency>CA</currency> > > </price> > > > > </product> > > > > And my preference is to take the only one price in the order 1., US, 2. > CA, 3.FR. > > > > In context product, if I say > > > > <xsl:apply-templates > select=b(price[currency=bUSb],price[currency=bCAb],price[currency=b FRb])[1]b/> > > > > I get the FR price because itbs first in doc order, but my expression was > meant to say process nodes in this sequence order, taking the first one, in > the sequence, not in the doc order of the input tree. > > No you should get the US one. if you execute <xsl:stylesheet version="2.0" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform"> <xsl:template match="product"> <xsl:copy-of select="(price[currency='US'],price[currency='CA'],price[currency='FR'])[1]"/ > </xsl:template> </xsl:stylesheet> on the xml you posted then you get <price> <amount>20.00</amount> <currency>US</currency> </price> Does you real code have a path step /xxx after the comma expression? (that would sort into document order) David > > > I thought the above instruction would be a short cut to achieving this, > but it doesnbt work. Is there a concise way to express the kind of > precedence I want? > > > > Thanks. > > > > > > -- http://dpcarlisle.blogspot.com/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] processing nodes by value pre, Matthew Stoeffler ma | Thread | Re: [xsl] processing nodes by value, Matthew Stoeffler ma |
[xsl] processing nodes by value pre, Matthew Stoeffler ma | Date | Re: [xsl] processing nodes by value, Matthew Stoeffler ma |
Month |