[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Noobie: normalize <b><a>...</a></b> to <a><b>...<
Subject: Re: Noobie: normalize <b><a>...</a></b> to <a><b>...</b></a>
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Thu, 18 Feb 2010 19:09:04 +0100
|
Kenneth Reid Beesley wrote:
I'm converting a non-XML data-dump into XML, and the document contains
examples of both
<a><b>...</b></a>
and
<b><a>...</a></b>
which (in this document) are equivalent. I'd like to use XSLT to
convert all examples of the latter to the former, with the following
caveats:
1. <b> can contain mixed text, in which case nothing should be changed.
2. <b><a>...</a></b> should be changed to <a><b>...</b></a> only if the
<a>...</a> element is the unique child node of <b>...</b>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="b[a and not(a[2]) and not(node()[not(self::a)])]">
<a>
<b>
<xsl:apply-templates select="a/node()"/>
</b>
</a>
</xsl:template>
might suffice.
--
Martin Honnen
http://msmvps.com/blogs/martin_honnen/
|
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
RSS 2.0 |
|
Atom 0.3 |
|
|