SAX: White space after last element

TAMURA Kent kent at trl.ibm.co.jp
Fri May 15 03:03:45 BST 1998


>  > I just tested SAXON with the new version of IBM's xml4j
>  > parser: it crashes because SAXON doesn't expect white space
>  > to be reported after the end of the outermost element. I'll
>  > fix SAXON so it doesn't crash, but it raises a wider point,
>  > because we now have several SAX-conformant parsers reporting
>  > white space differently, and I'm not sure whether the spec
>  > says clearly which of them is right (perhaps they all are).

> The JavaDoc comment for DocumentHandler.ignorableWhitespace begins
> with the line
>   Receive notification of ignorable whitespace in element content.
>                                                ^^^^^^^^^^^^^^^^^^

I'm sorry for the bug.  It is fixed by the following patch.


--- SAXDriver.19980512	Fri May 15 09:49:49 1998
+++ SAXDriver.java	Fri May 15 09:51:46 1998
@@ -240,8 +240,11 @@
         return 0 > ind ? null : getValue(ind);
     }
     
+
+    int depth = 0;
                                                 // parser.TagHandler
     public void handleStartTag(TXElement el, boolean empty) {
+        this.depth ++;
         m_attributes = el.getAttributeArray();
         try {
             m_documenthandler.startElement(el.getName(), this);
@@ -252,6 +255,7 @@
     }
                                                 // parser.TagHandler
     public void handleEndTag(TXElement el, boolean empty) {
+        this.depth --;
         try {
             m_documenthandler.endElement(el.getName());
         } catch (SAXException e) {
@@ -261,11 +265,13 @@
                                                 // parser.DefaultElementFactory
     public TXText createText(String data, boolean ignorable) {
         try {
+            if (0 < this.depth) {
             char[] ac = data.toCharArray();
             if (ignorable)
                 m_documenthandler.ignorableWhitespace(ac, 0, ac.length);
             else
                 m_documenthandler.characters(ac, 0, ac.length);
+            }
         } catch (SAXException e) {
             throw new ExceptionWrapper(e);
         }

-- 
TAMURA, Kent  @ Tokyo Research Laboratory, IBM Japan


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/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe 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