Re: [xsl] convert XML to NFC

Subject: Re: [xsl] convert XML to NFC
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Thu, 28 Apr 2011 10:55:59 +0100
On 27/04/2011 17:14, David Carlisle wrote:
well it's probably quicker to use a tool treating the file as plain text (since the unicode normalisation should not break the xml)
but since you asked on xsl-list (and I don't know off hand of a text normaliser) then you can have an identity template and templates


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


<xsl:template match="@*"> <xsl:attribute name="{name()}" select="normalize-unicode(.)"/> </xsl:template>

David

That solution (and Martin Honnen's) will only normalize the content of attribute and text nodes. They won't normalize element and attribute names, or comments and processing instructions.


I would be inclined to do this at the serialization level:

<xsl:output method="xml" normalization-form="NFC"/>
<xsl:template match="/">
<xsl:copy-of select="."/>
</xsl:template>

Michael Kay
Saxonica

Current Thread