OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] Re: SAX is not a read-only API (wa RE: [xml-dev]re: XML SI

[ Lists Home | Date Index | Thread Index ]
  • To: xml-dev@lists.xml.org
  • Subject: RE: [xml-dev] Re: SAX is not a read-only API (wa RE: [xml-dev]re: XML SIG 17...)
  • From: Elliotte Rusty Harold <elharo@metalab.unc.edu>
  • Date: Thu, 12 Sep 2002 22:54:43 -0400
  • In-reply-to: <029401c25a96$f33dc0e0$0600a8c0@gandalf>
  • References: <029401c25a96$f33dc0e0$0600a8c0@gandalf>

At 1:59 PM -0600 9/12/02, Aaron Skonnard wrote:

>Sure, just like you need a class that implements XMLReader on the
>reading side.

The behavior of the XMLReader implementation class is defined. The 
behavior of the ContentHandler implementation is not. Along similar 
lines, the SAX implementer provides the XMLReader implementation 
class. A SAX implementer does not provide the ContentHandler 
implementation.

>I think it's clear that we have different definitions for
>"API". I consider the SAX interface definitions the "API", where you
>seem to define it as the implementation (and entire packaging) of those
>interfaces.

No, I don't think that's the source of our disagreement at all. I 
think the API for SAX using interfaces only (and the JavaDoc) clearly 
describes how to parse an XML document using only standard SAX 
interfaces and classes. It says absolutely nothing about creating or 
writing one. Hence read-only. You're the one who's arguing that 
because a serializer is one of many things you that can implement 
ContentHandler, that somehow this makes SAX a read/write API. YOu 
know, I could use JDBC to write a ContentHandler that feeds data into 
a database. That doesn't make SAX a database API.

The biggest problem with the idea that merely invoking methods in 
ContentHandler  somehow qualifies as writing XML, is that there are 
absolutely no constraints or rules on this behavior. You can use 
element names that contain spaces, text content that contains nulls, 
ignorable white space that's alphabetic, multiple root elements, and 
other wise freely violate almost every constraint of XML. In normal 
SAX processing the parser ensures that this doesn't happen. In direct 
invocation of ContentHandler methods, none of this is happening. If 
it's not well-formed, it's not XML.
-- 

+-----------------------+------------------------+-------------------+
| Elliotte Rusty Harold | elharo@metalab.unc.edu | Writer/Programmer |
+-----------------------+------------------------+-------------------+
|          XML in a  Nutshell, 2nd Edition (O'Reilly, 2002)          |
|              http://www.cafeconleche.org/books/xian2/              |
|  http://www.amazon.com/exec/obidos/ISBN%3D0596002920/cafeaulaitA/  |
+----------------------------------+---------------------------------+
|  Read Cafe au Lait for Java News:  http://www.cafeaulait.org/      |
|  Read Cafe con Leche for XML News: http://www.cafeconleche.org/    |
+----------------------------------+---------------------------------+




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS