[ 
https://issues.apache.org/jira/browse/XERCESJ-1303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Glavassevich resolved XERCESJ-1303.
-------------------------------------------

    Resolution: Invalid

Xerces doesn't have and has likely never had such a bug. Sun forked off the 
Apache codebase long ago and have made many additions/modifications which have 
never been contributed here. Their version has bugs which are unique to it and 
others which have long been fixed in Apache. If you're looking for a fix in 
Java 6 you'll need to pursue it with Sun.

Output from Xerces-J 2.9.1 with your test program:

Parser = org.apache.xerces.jaxp.SAXParserImpl
ELEMENT: t:modalpopup
id = g_24
bgpaint = #{eclntdefscr.modalPopups[0].bgpaint}
actionListener = #{eclntdefscr.modalPopups[0].onPopupClosedByUser}
height = #{eclntdefscr.modalPopups[0].height}
opened = #{eclntdefscr.modalPopups[0].opened}
title = #{eclntdefscr.modalPopups[0].title}
undecorated = #{eclntdefscr.modalPopups[0].undecorated}
width = #{eclntdefscr.modalPopups[0].width}
harryleft = #{eclntdefscr.modalPopups[0].left}
harrytop = #{eclntdefscr.modalPopups[0].top}

> SAX Parsing passes back wrong attribute value
> ---------------------------------------------
>
>                 Key: XERCESJ-1303
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-1303
>             Project: Xerces2-J
>          Issue Type: Bug
>          Components: SAX
>         Environment: Java 1.6 included Xerces: 
> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
>            Reporter: Björn Müller
>
> A certain attribute is not transferred back properly through the SAX 
> interface. I ran the parsing of one and the same XML first with Xerces and 
> then with Crimson. Please find the isolated code including the XML string 
> below.
> Somehow the attribute following the wrong one is mixing in. 
> I hope it's not me doing some foolish thing...
> This is the test class
> ======================
> package org.eclnt.zztest;
> import java.io.StringReader;
> import javax.xml.parsers.SAXParser;
> import javax.xml.parsers.SAXParserFactory;
> import org.xml.sax.Attributes;
> import org.xml.sax.InputSource;
> import org.xml.sax.SAXException;
> import org.xml.sax.helpers.DefaultHandler;
> public class TestParser
> {
>     public static class MyParser extends DefaultHandler
>     {
>         public void startElement(String uri, String localName, String name,
>                 Attributes attributes) throws SAXException
>         {
>             super.startElement(uri, localName, name, attributes);
>             System.out.println("ELEMENT: " + name);
>             for (int i=0; i<attributes.getLength(); i++)
>             {
>                 System.out.println(attributes.getQName(i) + " = " +
>                                    attributes.getValue(i));
>             }
>         }
>     }
>     
>     public static void main(String[] args)
>     {
>         String s = 
>           "<t:modalpopup id='g_24'"+ 
>           "   bgpaint='#{eclntdefscr.modalPopups[0].bgpaint}'"+ 
>           "   
> actionListener='#{eclntdefscr.modalPopups[0].onPopupClosedByUser}'"+ 
>           "   height='#{eclntdefscr.modalPopups[0].height}'"+ 
>           "   opened='#{eclntdefscr.modalPopups[0].opened}'"+
>           "   title='#{eclntdefscr.modalPopups[0].title}'"+
>           "   undecorated='#{eclntdefscr.modalPopups[0].undecorated}'"+ 
>           "   width='#{eclntdefscr.modalPopups[0].width}'"+
>           "   harryleft='#{eclntdefscr.modalPopups[0].left}'"+ 
>           "   harrytop='#{eclntdefscr.modalPopups[0].top}'"+
>           "    >"+
>           "</t:modalpopup>";
>      
>         try
>         {
>             SAXParserFactory factory = SAXParserFactory.newInstance();
>             SAXParser saxParser = factory.newSAXParser();
>             System.out.println("Parser = " + saxParser.getClass().getName());
>             InputSource is = new InputSource(new StringReader(s));
>             saxParser.parse(is,new MyParser());
>         }
>         catch (Throwable t)
>         {
>             t.printStackTrace();
>         }
>     }
> }
> This is the output with XERCES parser (included in Java 1.6):
> =============================================================
> Parser = com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
> ELEMENT: t:modalpopup
> id = g_24
> bgpaint = #{eclntdefscr.modalPopups[0].bgpaint}
> actionListener = #{eclntdefscr.modalPopups[0].onPopupClosedByUser}
> height = #{eclntdefscr.modalPopups[0].height}
> opened = #{eclntdefscr.modalPopups[0].opened}
> title = #{eclntdefscr.modalPopups[0].title}
> undecorated = #{eclntdefscr.modalPopups[0].undecorated}
> width = #{eclntdefscr.modalPopups[0].left}}
> harryleft = #{eclntdefscr.modalPopups[0].left}
> harrytop = #{eclntdefscr.modalPopups[0].top}
> This is the output with CRIMSON parser:
> =======================================
> Parser = org.apache.crimson.jaxp.SAXParserImpl
> ELEMENT: t:modalpopup
> id = g_24
> bgpaint = #{eclntdefscr.modalPopups[0].bgpaint}
> actionListener = #{eclntdefscr.modalPopups[0].onPopupClosedByUser}
> height = #{eclntdefscr.modalPopups[0].height}
> opened = #{eclntdefscr.modalPopups[0].opened}
> title = #{eclntdefscr.modalPopups[0].title}
> undecorated = #{eclntdefscr.modalPopups[0].undecorated}
> width = #{eclntdefscr.modalPopups[0].width}
> harryleft = #{eclntdefscr.modalPopups[0].left}
> harrytop = #{eclntdefscr.modalPopups[0].top}
> Please focus on the line with "width":
> ======================================
> Xerces : width = #{eclntdefscr.modalPopups[0].left}}
> Crimson: width = #{eclntdefscr.modalPopups[0].width}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to