Hello list,
I have been trying to create a list of nodes containing sometimes the
parent and sometimes the childs depending on a "selected" attribute (but
then not keeping the parent).
While keeping the order the nodes came from.
+ adding an "order" attribute which is an incremental integer.
Which would give:
Input XML ->
Output XML
<n1 id=1> -> <newNode
order=1>...</newNode>
<n2 id=1 selected=0>...</n2>
<n2 id=2 selected=0>...</n2>
</n1>
<n1 id=2> -> this one is
not kept as we will keep some of the childs
<n2 id=1 selected=1>...</n2> -> <newNode
order=2>...</newNode>
<n2 id=2 selected=0>...</n2>
<n2 id=3 selected=1>...</n2> -> <newNode
order=3>...</newNode>
</n1>
<n1 id=3> -> <newNode
order=4>...</newNode>
<n2 id=1 selected=0>...</n2>
<n2 id=2 selected=0>...</n2>
</n1>
I tried to do a template select to return all the wanted nodes and then
use position() to feed the order attribute, but by using the operator |
I ended up with first all the nodes coming from n1 and then all the
nodes coming from n2, which is not the order I want them. And also the
node <n1 id=1> would be transferred although its childs are transferred.
It is a bit of a dual problem because of this order attribute, which is
incremental...
I would be happy with any clue/quidelines/ideas.
Although I am not sure if my explanations are very clear.
Anyway, I thought of a backup solution of using two xsl transform, one
to get all the nodes I want in the correct order, and an other xslt to
fill the order attribute using position()
Thank you for your time
Mathieu Sagot
--~------------------------------------------------------------------
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>
--~--