Java Mailing List Archive

http://www.junlu.com/

Google
Google
Mailing List
Home
Forum Home
JBoss - Java Application Server
Struts - A MVC web framework
Tomcat - JSP/Servlet container
iText - An open source PDF Java Library
JDOM - JDOM XML Parser
J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition
J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog
Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology
JSP - A mailing list about Java Server Pages specification and reference
Struts & Hibernate
Subjects
JSP editor plugin for eclipse ?
org apache jasper JasperException: Unable to compile class for JSP
Tomcat: Connection reset by peer: socket write error
Cannot retrieve definition for form bean null
Struts Tiles Tutorial (free Struts training)
Where do I download Tomcat 4 0 6?
Data Access Object (DAO) pattern, example DAO 's
Where to download Tomcat v 4 1 24 from?
Tomcat 5 0 16 Requested resource not available
Oracle Connection Pooling in 3 2 2
Servlet : Session invalidate
Servlet action is currently unavailable
Tomcat/Struts Unicode Encoding/Decoding problems
Tomcat and webapplication specific java library path
Running a Simple JMS Example
Mapping in workers2 properties
org apache jasper JasperException
Cannot find message resources under key org apache struts action
   MESSAGE
problem with html:text bean throwing exception
Cannot find message resources under key org apache struts action MESSAGE
invalid direct reference problem with solution
Tool for jsp debug Try Sysdeo Eclipse Plugin
Tomcat 5 Cannot load JDBC driver class 'null ' SQL state: null
weblogic ejbc
java properties file
Jboss 3 2 3 Coyote Can 't re
Tomcat 5, Apache2 and mod jk2 integration problem
JBoss example problem new to J2EE
url string for connecting jboss to oracle
Value attribute of <html:checkbox
javax servlet ServletException: BeanUtils populate
HTTP Status 404 The requested resource is not available
5 0 18: Windows XP Pro vs Windows 2000
 
RE: Bug in SAXOutputter

RE: Bug in SAXOutputter

2004-04-02       - By PJ Fanning

 Back
Reply:     1     2  

Hi,
I recently submitted a patch for the SAXOutputter to the list. This class
does not handle the case where qualified elements have unqualified elements
for children correctly. I was wondering if this patch might be included in
the next version of JDOM and when this was likely to be released.

Regards,
PJ

-- --Original Message-- --
From: PJ Fanning
Sent: 16 March 2004 12:40
To: 'jdom-interest@(protected)'
Subject: Bug in SAXOutputter


Hi,
I think there is a bug in the way SAXOutputter handles default namespaces. I
have a document with the following format:

<?xml version="1.0"?>
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
 <Body>
   <connectResponse xmlns="">
     <sessionID>1</sessionID>
   </connectResponse>
 </Body>
</Envelope>

The SAXOutputter does not create startPrefixMapping or endPrefixMapping
events when it reaches the <connectResponse> element.

The current startPrefixMapping says:
       Namespace ns = element.getNamespace();
       if (ns != Namespace.NO_NAMESPACE && ns != Namespace.XML_NAMESPACE) {
           String prefix = ns.getPrefix();
           String uri = namespaces.getURI(prefix);
           if (!ns.getURI().equals(uri)) {
               namespaces.push(ns);
               nsAtts = this.addNsAttribute(nsAtts, ns);
               try {
                   contentHandler.startPrefixMapping(prefix, ns.getURI());
               }
               catch (SAXException se) {
                  throw new JDOMException(
                      "Exception in startPrefixMapping", se);
               }
           }
       }

I've changed this to:
       Namespace ns = element.getNamespace();
       if (ns != Namespace.XML_NAMESPACE) {
           boolean add = false;
           if (ns == Namespace.NO_NAMESPACE) {
               String uri = namespaces.getURI(ns.getPrefix());
               if(uri != null && uri.length() > 0)
                   add = true;
           }
           else {
               String uri = namespaces.getURI(ns.getPrefix());
               if (!ns.getURI().equals(uri))
                   add = true;
           }
           if (add) {
               namespaces.push(ns);
               nsAtts = this.addNsAttribute(nsAtts, ns);
               try {
                   contentHandler.startPrefixMapping(ns.getPrefix(),
ns.getURI());
               }
               catch (SAXException se) {
                  throw new JDOMException(
                      "Exception in startPrefixMapping", se);
               }
           }
       }

I have attached a patched version of SAXOutputter (based on the latest
source in CVS). Could someone double-check that this change is okay and
consider adding it to the forthcoming v1.0 release?

Regards,
PJ
__ ____ ____ ____ ____ ____ ____ ____ ____ ____
To control your jdom-interest membership:
http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@(protected)
.com

©2008 junlu.com - Jax Systems, LLC, U.S.A.