[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

SAX: Processing Instructions (question 6 of 10)

  • From: David Megginson <ak117@f...>
  • To: xml-dev Mailing List <xml-dev@i...>
  • Date: Sat, 3 Jan 1998 13:12:11 -0500

sax processing instruction
[SAX is a proposal for a simple, event-based XML API, using
callbacks.  This is one in a series of ten design questions that we
need to answer to implement the API.]

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@f...
Microstar Software Ltd.         dmeggins@m...
      http://home.sprynet.com/sprynet/dmeggins/

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/
To (un)subscribe, mailto:majordomo@i... the following message;
(un)subscribe 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!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.