Should SAX implement a callback for processing instructions?
public void processingInstruction (String name, String data);
(In XML, all processing instructions begin with a name, followed
optionally by whitespace and then other characters).
CON
---- this method would make SAX slightly larger;
- processing instructions are difficult for non-specialists to understand -- the HTML world never managed to figure them out, and used specialised comments instead;
- processing instructions are not part of a document's logical element structure, and providing a callback event might encourage people to abuse them.
PRO
---- processing instructions are required for most proposed XML-related standards, including XSL and architectural forms;
- novice users can extend the XmlAppBase class and simply ignore processing instructions altogether.
MY RECOMMENDATION -----------------
Yes.
Omitting PI's would cripple SAX beyond any but the most trivial uses. PI's provide the only way to make new types of declarations in XML, and nearly every XML-related standard requires at least one special enabling declaration (to locate a stylesheet, declare a namespace, etc.).
OTHER CONSIDERATIONS --------------------
XML processing instructions consist of two parts: a name, and (optional) data. It makes sense to report the two of these separately, since the name can be an internalized string and may be the name of a declared notation. Should the data (if present) be a string, or should it be an array of characters on the model of charData?
public void processingInstruction (String name, char data[], int length)
On a different point, I am assuming that SAX-based parsers will not report the XML declaration or text declaration using this event, even though they resemble PIs.
All the best,
David
-- David Megginson ak117@freenet.carleton.ca Microstar Software Ltd. dmeggins@microstar.com http://home.sprynet.com/sprynet/dmeggins/xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@ic.ac.uk the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)