Given this XML -
<?xml version="1.0" encoding="UTF-8"?>
<root>
<a><b>this</b><b>this 1</b><b>this 2</b></a>
<a><b>this 3</b></a>
<a><b>this 4</b><b>this 5</b></a>
<a><b>this 6</b><b>this 7</b><b>this 8</b><b>this 9</b></a>
<a><b>this 10</b><b>this 11</b><b>this 12</b><b>this 13</b></a>
</root>
This XSLT stylesheet -
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0" xmlns:common="http://exslt.org/common"
exclude-result-prefixes="common">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/root">
<root>
<xsl:apply-templates select="a"/>
</root>
</xsl:template>
<xsl:template match="a">
<b>
<xsl:variable name="rtf"><xsl:for-each select="b"><xsl:value-of
select="."/><xsl:text> </xsl:text></xsl:for-each></xsl:variable>
<xsl:value-of select="common:node-set($rtf)/text()"/>
</b>
</xsl:template>
</xsl:stylesheet>
Produces following output -
<?xml version="1.0" encoding="utf-8"?>
<root>
<b>this this 1 this 2 </b>
<b>this 3 </b>
<b>this 4 this 5 </b>
<b>this 6 this 7 this 8 this 9 </b>
<b>this 10 this 11 this 12 this 13 </b>
</root>
Hope this helps,
Regards,
Mukul
On 8/10/05, Marcin Miłkowski <milek_pl(_at_)o2(_dot_)pl> wrote:
Hi,
I'm wondering if it's practical to use XSLT in a following scenario: you
have an XML file which should be reformatted (formatted "tidy") to join
sibling elements, like:
<b>this</b><b> </b><b>is</b><b> </b><b>bold<text</b>
which should be transformed this:
<b>this is bold text</b>
Or, in a more complex example:
<a><b>this</b></a><a><b> </b></a><a><b>more</b></a><a><b>
</b></a><a><b>text</b></a>
So this is a transformation to keep the resulting file tidy, with less
tagging. I'm planning such a transformation for WordML files before
submitting them for translation where less tagging means higher
translation quality.
Thank you for all advice,
Marcin Milkowski