Oxygen XML Editor
 
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] move tag up to level


Subject: Re: [xsl] move tag up to level
From: "andrew welch" <andrew.j.welch@xxxxxxxxx>
Date: Thu, 28 Sep 2006 16:22:08 +0100

On 9/28/06, alex v. <alex.vett@xxxxxxxxx> wrote:
Hi,
I have to transform a structure like this:

<root>
<a>mixed content like text and tags
<b>other mixed content</b>
mixed content also here
</a></root>

in another like:

<root>
<a>mixed content like text and tags</a>
<b>other mixed content</b>
<a>mixed content also here</a>
</root>

Tag 'a' is closed before '<b>' and then reopen follow '</b>'.
Also tag 'b' is promote at level of tag 'a'.

Can someone tell me how to do this?

If your input really is just like that, then this will do it:


<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="@*|node()">
	<xsl:copy>
		<xsl:apply-templates select="@*|node()"/>
	</xsl:copy>
</xsl:template>

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

<xsl:template match="a/text()">
	<a><xsl:value-of select="."/></a>
</xsl:template>

</xsl:stylesheet>

cheers
andrew


Current Thread
 
© 2002-2008 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy
This website was created & generated with <oXygen/> XML Editor