|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: How to "flatten" an input document?
> 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:copy>
<xsl:for-each select="*">
<ref type="{name()}">
</xsl:for-each>
</xsl:copy>
<xsl:apply-templates/>
</xsl:template>
>
> 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: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








