RE: Flattening a tree

Subject: RE: Flattening a tree
From: "Pierre-Yves Saumont" <pys@xxxxxxxx>
Date: Fri, 14 Jul 2000 12:51:01 +0200
Thanks for your help. For the time being, I can't find a solution better
than converting inline elements to non-xml before applying the style-sheet.
This is the worst solution I can imagine, but as it is the only one, it will
do the job for some times.

Thanks again,
Pierre-Yves

-----Message d'origine-----
De : owner-xsl-list@xxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxx]De la part de Kay Michael
Envoyé : jeudi 13 juillet 2000 17:14
À : 'xsl-list@xxxxxxxxxxxxxxxx'
Objet : RE: Flattening a tree


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


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


Current Thread