RE: [xsl] Question about generating a full tree from a tree with xrefs using xslt ?

Subject: RE: [xsl] Question about generating a full tree from a tree with xrefs using xslt ?
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Wed, 10 Dec 2003 15:48:08 -0000
The general model for this kind of problem is to use xsl:apply-templates
to process the tree recursively, in the normal way, except that at each
stage you select the logical children of a node rather than its physical
children. You can find the logical children using:

<xsl:key name="ref" match="ref" use="."/>

<xsl:template match="elem">
<xsl:apply-templates select="key('ref', @id)"/>
</xsl:template>

I haven't done anything here about the w,x,y,z in your problem, which I
don't think I understand.

Michael Kay

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Peter Biechele
> Sent: 10 December 2003 13:09
> To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Question about generating a full tree from a 
> tree with xrefs using xslt ?
> 
> 
> 
> I have the following problem with XSLT:
> 
> The input stream is like:
> 
> <elem id="a1" type="w">
>   <text>aa</text>
> </elem>
> <elem id="a2" type="x">
>   <text>bb</text>
>   <ref>a1</ref>
> </elem>
> <elem id="a3" type="y">
>  <text>cc</text>
>   <ref>a2</ref>
> </elem>
> <elem id="a4" type="x">
>  <text>dd</text>
>   <ref>a1</ref>
> </elem>
> 
> Now i need in the output stream the following:
> 
> start with the text from all "w" types,
> plot the text: for a special "w" type look for all "x" types 
> which reference 
> this "w" type
> plot the text: for this "w" type again look for all "y" 
> types, which reference 
> either the given "w" type or any "x" type, which reference 
> this "w" type.
> 
> 
> So in general this is the problem of transforming a tree 
> (with no circular 
> references) having references to another tree without references but 
> redundant tree nodes.
> 
> 
> Can anybody help with some ideas ??
> 
> Thank you very much,
> Peter Biechele
> 
> #####################################################
> Dr. Peter Biechele, E-Mail: Peter.Biechele@xxxxxxxxx
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread