Re: [xsl] move tag up to level

Subject: Re: [xsl] move tag up to level
From: "alex v." <alex.vett@xxxxxxxxx>
Date: Fri, 29 Sep 2006 12:27:54 +0200
The 'a' and 'b' are complex type, for example:

<root>
<a>mixed content <c>huuu</c> like text and tags
<b>other <d>mixed</d> content</b>
mixed <e>content</e> also here
</a>
</root>

As result I need to have:

<root>
<a>mixed content <c>huuu</c> like text and tags</a>
<b>other <d>mixed</d> content</b>
<a>mixed <e>content</e> also here</a>
</root>

Could you please help me with this example, to understand
how apply grouping with xslt2.

I use Saxon XSLT Processor.

~alex


2006/9/28, David Carlisle <davidc@xxxxxxxxx>:

Note xslt has no access to the tags in the original document, and can't directly generate any in the result.

> a structure like this:


it depends a bit how like is like, but


<xsl:template match="*">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>

<xsl:template match="a">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="a/text()">
<a>
  <xsl:apply-templates/>
</a>
</xsl:template>

would produce the output you show.  In general though, if you need to
group more than one node inside teh a elements, this is a "grouping"
problem and you should use one of teh grouping idioms for xslt1 or
xsl:for-each-group in xslt2.

David




--

~alex

Current Thread