[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: Extension elements and namespace prefixes
Subject: Re: Extension elements and namespace prefixes From: James Clark <jjc@xxxxxxxxxx> Date: Mon, 16 Aug 1999 12:28:09 +0700 |
XT doesn't support the extension element mechanism yet. The output handler isn't where you're supposed to handle extension elements. Even for output handlers, there is a bit of the problem here. An output handler should not be stripping of namespace prefixes; rather if it needs to recognize specific elements, it should be recognizing the expanded name (the namespace URI/local name pair) not the qualified name. At the moment do to this properly, it would have to process namespace declarations, which is not very convenient (and a waste since XT uses the expanded names internally, as any XSLT processor must). The HTML output handler doesn't, which means it doesn't always do the right thing. For example, <xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0"> <xsl:output method="html"/> <xsl:template match="/"> <html> <body> <p>An html br element: <br/>.</p> <p>Not at html br element: <br xmlns="http://www.jclark.com/not-html"/></p> </body> </html> </xsl:template> </xsl:stylesheet> will output <html> <body> <p>An html br element: <br>.</p> <p>Not at html br element: <br xmlns="http://www.jclark.com/not-html"> </p> </body> </html> This is wrong because the second br element should not be recognized as the HTML br element and so shouldn't get special treatment. I'll fix this somehow; I haven't decided how yet. Denys Duchier wrote: > > I have been playing with the new release of XT which I think is > wonderful (thank you James). While adapting my own output handler to > work with the new implementation I discovered a `problem' that had > escaped my attention before: > > the name of the element passed to methods startElement and > endElement contain the namespace prefix if it wasn't null. > > previously I always had a null prefix in such cases which is probably > why I never noticed the problem. The reason for passing a prefixed > name of course is that this is what is mandated by SAX. However it > seems to me that this doesn't make sense for extension elements since > the prefix is chosen by the stylesheet not by the implementation of > the extension. Thus a robust implementation must strip off the prefix > (btw, this is not done by XT's output handlers, which means that if > they are invoked with an arbitrary prefix they don't work - at least > the NXML output handler has this problem). At the moment, I simply > look for a `:' in order to strip a prefix if any. My question is: is > this the correct way to recognize a prefix? Is the namespace > separator guaranteed to always be a colon? XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Extension elements and namespace pr, Denys Duchier | Thread | Re: Extension elements and namespac, Denys Duchier |
XSLT over SAX?, Mark D. Anderson | Date | Re: xml to pdf with fop, Sebastian Rahtz |
Month |
Keywords