[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Help on node selection

Subject: RE: Help on node selection
From: "Fabien Tillier" <f.tillier@xxxxxxxx>
Date: Fri, 27 Aug 2010 14:19:29 +0200
RE:  Help on node selection
Well, it is not what I want. The XML is a lot more complex
That's why I didn't put an output at first...
I want to know the syntax to call a template with a list of nodes, based on a
criteria.

I will probably have several templates, like

<xsl:template match="data/row[N1=1]">

</xsl:template>

<xsl:template match="data/row[N1=2]">

</xsl:template>

To be able to handle this level (N1), then, once I get all nodes which match
the N1=1 clause (or any number than 1), I will have to call other templates to
generate several tables for the node group I get.
I know it is unclear...
I want to treat all nodes which have a certain criteria (like N1=1) in a
template (and by all, I mean, call once the template with all matching nodes).
Then treat them again in another template to generate another set of tables,
and so on...
Ideally, the XSL template will be built based on an XML file which gave, for
each criteria (like N1=1) the tables which have to be built, and on which
other criteria (like only for N2=120...).

Thus, it is not really good XSL as the treatment will not be in document
order...
Sorry for being thick...

Regards,
Fabien




-----Message d'origine-----
De : Andrew Welch [mailto:andrew.j.welch@xxxxxxxxx]
Envoyi : vendredi 27 ao{t 2010 13:53
@ : xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Objet : Re:  Help on node selection

> <N1>120,120,110</N1>
> <N2>120,120</N2>

<xsl:template match="data">
  <N1><xsl:value-of select="string-join(row[N1 eq '1']/N2, ', '))"/></N1>
  <N2><xsl:value-of select="string-join(row[N1 eq '2']/N2, ', '))"/></N2>
</xsl:template>


> -----Message d'origine-----
> De : Andrew Welch [mailto:andrew.j.welch@xxxxxxxxx]
> Envoyi : vendredi 27 ao{t 2010 13:45
> @ : xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Objet : Re:  Help on node selection
>
>> My question is pretty basic, so far.
>>
>> Suppose I get an XML document
>>
>> <data>
>>      <row>
>>                      <N1>1</N1>
>>      <N2>120</N2>
>>      </row>
>>      <row>
>>                      <N1>1</N1>
>>      <N2>120</N2>
>>      </row>
>>      <row>
>>                      <N1>2</N1>
>>      <N2>120</N2>
>>      </row>
>>      <row>
>>                      <N1>2</N1>
>>      <N2>120</N2>
>>      </row>
>>      <row>
>>                      <N1>1</N1>
>>      <N2>110</N2>
>>      </row>
>> </data>
> ...
>> Is called on each matching node...(thus 3 times here), rather than once,
and then gets some loop to individually treat each node from the list.
>> How can I proceed ?
>
> You need to provide the expected output for that input...
>
>
> --
> Andrew Welch
> http://andrewjwelch.com
>
>



--
Andrew Welch
http://andrewjwelch.com

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.