dims        01/09/19 08:51:49

  Modified:    src/org/apache/cocoon/serialization
                        AbstractTextSerializer.java
  Log:
  Patch from Joerg Henne <[EMAIL PROTECTED]>
  for [Incorrect serialization to XML]
  
  Revision  Changes    Path
  1.6       +11 -9     
xml-cocoon2/src/org/apache/cocoon/serialization/AbstractTextSerializer.java
  
  Index: AbstractTextSerializer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/serialization/AbstractTextSerializer.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- AbstractTextSerializer.java       2001/09/18 16:34:27     1.5
  +++ AbstractTextSerializer.java       2001/09/19 15:51:49     1.6
  @@ -35,7 +35,7 @@
    *         (Apache Software Foundation, Exoffice Technologies)
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stefano Mazzocchi</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Sylvain Wallez</a>
  - * @version CVS $Revision: 1.5 $ $Date: 2001/09/18 16:34:27 $
  + * @version CVS $Revision: 1.6 $ $Date: 2001/09/19 15:51:49 $
    */
   public abstract class AbstractTextSerializer extends AbstractSerializer implements 
Configurable, Cacheable, Poolable {
   
  @@ -188,8 +188,12 @@
           this.uriList.add(uri);
   
           // store mappings for xalan-bug-workaround.
  -        // append the prefix colon now, in order to save concatenations later.
  -        this.uriToPrefixMap.put(uri, prefix + ":");
  +        // append the prefix colon now, in order to save concatenations later, but
  +        // only for non-empty prefixes.
  +        if(prefix.length() > 0)
  +          this.uriToPrefixMap.put(uri, prefix + ":");
  +        else
  +          this.uriToPrefixMap.put(uri, prefix);
           this.prefixToUriMap.put(prefix, uri);
           
           super.startPrefixMapping(prefix, uri);
  @@ -222,9 +226,8 @@
         throws SAXException {
           
           // try to restore the qName. The map already contains the colon
  -        // FIXME (DIMS): This causes problems. This was a patch posted by Joerg
  -        //if(eltUri.length() != 0 && this.uriToPrefixMap.containsKey(eltUri) )
  -        //  eltQName = (String) this.uriToPrefixMap.get(eltUri) + eltLocalName;
  +        if(null != eltUri && eltUri.length() != 0 && 
this.uriToPrefixMap.containsKey(eltUri) )
  +          eltQName = (String) this.uriToPrefixMap.get(eltUri) + eltLocalName;
           
           if (this.hasMappings) {
               // Add xmlns* attributes where needed
  @@ -294,9 +297,8 @@
       public void endElement(String eltUri, String eltLocalName, String eltQName)
       throws SAXException {
           // try to restore the qName. The map already contains the colon
  -        // FIXME (DIMS): This causes problems. This was a patch posted by Joerg
  -        //if(eltUri.length() != 0 && this.uriToPrefixMap.containsKey(eltUri) )
  -        //  eltQName = (String) this.uriToPrefixMap.get(eltUri) + eltLocalName;
  +        if(null != eltUri && eltUri.length() != 0 && 
this.uriToPrefixMap.containsKey(eltUri) )
  +          eltQName = (String) this.uriToPrefixMap.get(eltUri) + eltLocalName;
           
           super.endElement(eltUri, eltLocalName, eltQName);
       }
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to