dims        01/09/19 08:51:41

  Modified:    src/org/apache/cocoon/serialization Tag: cocoon_20_branch
                        AbstractTextSerializer.java
  Log:
  Patch from Joerg Henne <[EMAIL PROTECTED]>
  for [Incorrect serialization to XML]
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.2.2.4   +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.2.2.3
  retrieving revision 1.2.2.4
  diff -u -r1.2.2.3 -r1.2.2.4
  --- AbstractTextSerializer.java       2001/09/18 16:34:35     1.2.2.3
  +++ AbstractTextSerializer.java       2001/09/19 15:51:41     1.2.2.4
  @@ -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.2.2.3 $ $Date: 2001/09/18 16:34:35 $
  + * @version CVS $Revision: 1.2.2.4 $ $Date: 2001/09/19 15:51:41 $
    */
   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