RE: How to "flatten" an input document?

Subject: RE: How to "flatten" an input document?
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Wed, 14 Jun 2000 10:22:44 +0100
> 	I have an input document that's a set of nested tags :
> 	<X>
> 	  <Y>
> 	    <Z/>
> 	  </Y>
> 	</X>
> 	And I want to generate an output document that looks like this:
> 	<X>
> 	  <ref type="Y">
> 	</X>
> 	<Y>
> 	  <ref type="Z">
> 	</Y>
> 	<Z/>
It's hard to infer your requirement from one example, perhaps you want
something like:

<xsl:template match="*">
    <xsl:for-each select="*">
      <ref type="{name()}">
> 	This does not seem to be possible in XSL,
Everything is possible in XSL

> since there doesn't seem to be 
> any way to output two elements at different places in the 
> output tree as a result of one rule.

Think of the stylesheet as having "append" access to the result tree. It's
not quite the exact model (because there's no guarantee of sequential
execution) but it's closer than the way you're thinking about it.

 Mike Kay

 XSL-List info and archive:

Current Thread