[Home] [By Thread] [By Date] [Recent Entries]
> 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
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |

Cart



