[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: SAX2 Namespace Support
Richard Anderson writes: > Why are you trying to complicate ours lifes :) > > Please change these from: > > > public void startElement (String ns, String name, > > AttributeList atts) > > throws SAXException; > > > > public void endElement (String ns, String name) > > throws SAXException; > > to: > > > public void startElement (String nsPrefix, String ns, String name, > > AttributeList atts) > > throws SAXException; > > > > public void endElement (String nsPrefix,String ns, String name) > > throws SAXException; > > We can build ours DOM more easily this way dont have to buffer the other > namespace events. I also would be surprised if at least 80% of SAX2 users > a) wouldnt mind this being present b) would probably use it That was my original suggestion, but James Clark wisely pointed out that it was possible to drop one of the arguments. Consider the following document: <html:p xmlns:html="http://www.w3c.org/1999/xhtml">Hello.</html:p> With my proposal, what you will get by default is startElement("http://www.w3c.org/1999/xhtml", "p", atts); characters("Hello."); endElement("http://www.w3c.org/1999/xhtml", "p"); Nothing too tricky there, and that's all that most apps will ever need. If you pass in a LexicalHandler and the parser supports it, you might get a little more: startNamespaceDeclScope("html", "http://www.w3c.org/1999/xhtml"); startElement("http://www.w3c.org/1999/xhtml", "p", atts); characters("Hello."); endElement("http://www.w3c.org/1999/xhtml", "p"); endNamespaceDeclScope("html"); I assume that's what you were thinking you'd have to cache, but that would be wrong, since you could not with certainty map the Namespace URI back to the original prefix used. James's suggestion was that, at user option, the parser leave the original prefix on the name: startElement("http://www.w3c.org/1999/xhtml", "html:p", atts); characters("Hello."); endElement("http://www.w3c.org/1999/xhtml", "html:p"); This would never be enabled by default, but for the relatively small class of apps that needed to know the original prefix, the prefix would be available simply by splitting the name argument. I like this approach because it doesn't throw the prefix in the face of apps that don't need it -- to paraphrase Larry Wall, it makes common tasks easy and uncommon tasks possible. All the best, David -- David Megginson david@m... http://www.megginson.com/ xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1 To unsubscribe, mailto:majordomo@i... the following message; unsubscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
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
|