xsl-list
[Top] [All Lists]

Re: [xsl] move tag up to level

2006-09-29 03:28:16
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(_at_)nag(_dot_)co(_dot_)uk>:

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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--

~alex

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>