RE: Flattening a tree

Subject: RE: Flattening a tree
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Thu, 13 Jul 2000 16:14:12 +0100
Ignoring the "inline elements", you could do 
<xsl:for-each select=".//text()">
   <xsl:element name="{name(..)}">
       <xsl:value-of select="."/>
   </xsl:element>
</xsl:for-each>

Can't immediately think how to handle the inline elements, but perhaps you
can build on the above.

Mike Kay

> 
> Does anyone know how it would be possible to transform a 
> (sub)tree into a
> flat list of some of its elements (those considered not 
> "inline"), mixing
> cdata and subelements, for example how to transform :
> 
> <document>
> 	<para>
> 		content-1
> 		<List>
> 			<Item>content-2</Item>
> 			<Item>content-3</Item>
> 		</list>
> 		content-4
> 		</graphic>
> 		content-5
> 	</para>
> </document>
> 
> into :
> 
> <document>
> 	<para>content-1</para>
> 	<Item>content-2</Item>
> 	<Item>content-3</Item>
> 	<para>content-4</para>
> 	</graphic>
> 	<para>content-5</para>
> </document>
> 
> "content-n" being arbitrary contents mixing cdata, entities and inline
> elements.
> 
> Thanks
> 
> Pierre-Yves
> 
> 
>  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