[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Wikipedia on XML
Michael Kay schrieb: >> 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> I'm sure there is a lot of good new stuff in XSLT 2.1 and it's great to see that it is moving on. The way I understood Rick, however, which may well be wrong, was that he did not want to move the OOXML documents to a new namespace (which your example seems to be doing), but to parametrize the XSLT stylesheet to cope with the new OOXML namespace his instances have already been moved into. So that instead of: <xsl:stylesheet xmlns:ooxml="ooxml-v1" ... he'd have: <xsl:stylesheet xmlns:ooxml="ooxml-v2" ... So I think he wants a parameter to alter the namespace declaration in the XSLT stylesheet, and that is not possible at the XSLT level. It is possible, however, by changing the source. (A program manipulating a program to generate a new program.) Thinking more about it, he'd need a URI Resolver to load all stylesheet modules through the namespace substitution filter, including those pulled in via xsl:include and xsl:import. As the very last resort, my shameless DPH advice would be: cp -r ooxml-xsl-v1 ooxml-xsl-v2 perl -pi -e 's#old-ooxml-ns-uri#new-ooxml-ns-uri#g' ooxml-xsl-v2/* That would work instantly. -- Michael Ludwig
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
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
|