RE: [xml-dev] Wikipedia on XML

From
Michael Kay <>
To
'Michael Ludwig' <>, 'XML Developers List' <>
Date
2009-08-26T09:49:43Z
ID
<6037B9660A1948D7B4A548B822BFA403@Sealion>
Thread
RE: [xml-dev] Wikipedia on XML
> Your OoxmlProcessor could load the stylesheet using a SAX 
> filter that performs the appropriate identifier replacement 
> on all xmlns or xmlns:xy attributes carrying your standard 
> OOXML namespace.

Actually, you don't have to descend to SAX programming to achieve this. With
XSLT 2.1 streaming you will be able to write:

 <xsl:stylesheet xmlns:xsl=...
   xmlns:oo=...>

 <xsl:mode streamable="yes" default-action="copy">

 <xsl:template match="oo:*">
   <xsl:element name="{local-name()}" namespace="oo2namespace">
     <xsl:apply-templates select="@*,node()"/>
   </xsl:element>
 </xsl:template>

 <xsl:template match="@oo:*">
   <xsl:attribute name="{local-name()}" namespace="oo2namespace"
select="."/>
 </xsl:template>

 </xsl:stylesheet>

and with luck it will be just as efficient as your SAX filter.

You can do this in Saxon-EE 9.2 today, just changing "xsl:mode" to
"saxon:mode".

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay