SAX2 Namespace Support
Richard Anderson
rja at arpsolutions.demon.co.uk
Mon Dec 20 23:46:17 GMT 1999
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
Anybody agree with me or am I standing in the dark all alone on this ?
Thanks,
Rich
----- Original Message -----
From: David Megginson <david at megginson.com>
To: XMLDev list <xml-dev-digest at ic.ac.uk>
Sent: Monday, December 20, 1999 11:02 PM
Subject: SAX2 Namespace Support
> OK, here goes...
>
> Background
> ----------
>
> I accept Tim Bray's argument that Namespace-qualified names should be
> passed on in two parts and not one, and that Namespace-aware
> processing is the future of XML.
>
> I accept James Clark's argument that there must be a mechanism for
> passing on the original prefix if the parser supports doing so and the
> application desires it, if only for DOM2 support.
>
>
> General Rules
> -------------
>
> 1. By default, SAX2 parsers shall perform Namespace processing unless
> explicitly requested not to do so. There's no point having them
> start in an indeterminate state, or in allowing SAX2 parsers not to
> do Namespace processing. I will provide a filter that can be
> embedded in the driver for parsers that don't do NS processing
> natively.
>
> 2. There will be features for (i) requesting that the original prefix
> be prepended to each local name and (ii) turning off Namespace
> processing altogether. The default value for each of these
> features will be false, and no parser is required to support either
> of them.
>
> 3. If a LexicalHandler is set, the parser may use it to report the
> scope of Namespace declarations. Note that this is a little
> brittle, and probably less useful than people think, but that it is
> essential for XSLT. Not all parsers will support LexicalHandler.
>
> 4. Namespace-qualified names are always reported as two separate
> strings: the Namespace URI and the local name. The local name may
> have the original prefix prepended at client request, but the
> prefix will not be there by default.
>
> The idea of all of this is that fully-cooked Namespace processing is
> the default behaviour and the normal, transparent operating mode for
> SAX2 -- most application writers need never know that other modes are
> available.
>
> However, there are optional, non-obtrusive mechanisms for passing on
> extra information (such as the original prefixes and the scope of NS
> declarations). The presence or absence of support for these optional
> features can be determined by feature queries.
>
>
> Implementation
> --------------
>
> This implementation is based largely on suggestions from James Clark.
>
>
> [from org.xml.sax2.DocumentHandler]
>
> public void startElement (String ns, String name,
> AttributeList atts)
> throws SAXException;
>
> public void endElement (String ns, String name)
> throws SAXException;
>
>
> [org.xml.sax2.AttributeList]
>
> public class AttributeList
> {
> public int getLength ();
>
> public String getNamespaceURI (int i);
> public String getName (int i);
> public String getType (int i);
> public String getValue (int i);
>
> public String getType (String ns, String localName);
> public String getValue (String ns, String localName);
>
> // For searching on prefixed names
> public String getType (String name);
> public String getValue (String name);
> }
>
>
> [from org.xml.sax2.LexicalHandler]
>
> public void startNamespaceDeclScope (String prefix, String uri)
> throws SAXException;
>
> public void endNamespaceDeclScope (String prefix)
> throws SAXException;
>
>
> Unless someone shows a catastrophic problem with all this (not a
> purely aesthetic one), I plan to go ahead to other SAX2 problems now.
>
>
> All the best,
>
>
> David
>
> --
> David Megginson david at megginson.com
> http://www.megginson.com/
>
> xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
> Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on
CD-ROM/ISBN 981-02-3594-1
> To unsubscribe, mailto:majordomo at ic.ac.uk the following message;
> unsubscribe xml-dev
> To subscribe to the digests, mailto:majordomo at ic.ac.uk the following
message;
> subscribe xml-dev-digest
> List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
>
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list