bradford    02/01/09 12:13:00

  Modified:    java/src/org/apache/xindice/xml/dom DOMCompressor.java
  Log:
  Attempting to fix some encoding problems with UTF-8 characters
  
  Revision  Changes    Path
  1.2       +17 -15    
xml-xindice/java/src/org/apache/xindice/xml/dom/DOMCompressor.java
  
  Index: DOMCompressor.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xindice/java/src/org/apache/xindice/xml/dom/DOMCompressor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DOMCompressor.java        6 Dec 2001 19:33:59 -0000       1.1
  +++ DOMCompressor.java        9 Jan 2002 20:13:00 -0000       1.2
  @@ -56,7 +56,7 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    *
  - * $Id: DOMCompressor.java,v 1.1 2001/12/06 19:33:59 bradford Exp $
  + * $Id: DOMCompressor.java,v 1.2 2002/01/09 20:13:00 bradford Exp $
    */
   
   import org.apache.xindice.core.*;
  @@ -133,35 +133,36 @@
                  symbolID = st.getSymbol(attr.getName(), nsURI, true);
               else
                  symbolID = st.getSymbol(attr.getName(), true);
  -            String value = attr.getValue();
               writeShort(symbolID);
  -            writeShort((short)value.length());
  -            write(value.getBytes());
  +            
  +            byte[] b = attr.getValue().getBytes("UTF-8");
  +            writeShort((short)b.length);
  +            write(b);
               break;
            }
   
            case Node.TEXT_NODE: {
  -            String value = node.getNodeValue();
  -            int valLen = value.length();
  +            byte[] b = node.getNodeValue().getBytes("UTF-8");
  +            int valLen = b.length;
               int sizeType = getSizeType(valLen+5);
               byte signature = (byte)(Signatures.Char << 0x6);
               signature |= (byte)(sizeType << 0x2);
               writeByte(signature);
               valLen += (getSizeSize(sizeType) + 1);
               writeSize(sizeType, valLen);
  -            write(value.getBytes());
  +            write(b);
               break;
            }
   
            case Node.CDATA_SECTION_NODE: {
  -            String value = node.getNodeValue();
  -            int valLen = value.length();
  +            byte[] b = node.getNodeValue().getBytes("UTF-8");
  +            int valLen = b.length;
               byte signature = (byte)(Signatures.Decl << 0x6);
               signature |= (byte)(Signatures.DeclCData << 0x2);
               writeByte(signature);
               valLen += 5;
               writeInt(valLen);
  -            write(value.getBytes());
  +            write(b);
               break;
            }
   
  @@ -203,24 +204,25 @@
   
            case Node.PROCESSING_INSTRUCTION_NODE: {
               String value = node.getNodeName()+" "+node.getNodeValue();
  -            int valLen = value.length();
  +            byte[] b = value.getBytes("UTF-8");
  +            int valLen = b.length;
               byte signature = (byte)(Signatures.Proc << 0x6);
               writeByte(signature);
               valLen += 5;
               writeInt(valLen);
  -            write(value.getBytes());
  +            write(b);
               break;
            }
   
            case Node.COMMENT_NODE: {
  -            String value = node.getNodeValue();
  -            int valLen = value.length();
  +            byte[] b = node.getNodeValue().getBytes("UTF-8");
  +            int valLen = b.length;
               byte signature = (byte)(Signatures.Decl << 0x6);
               signature |= (byte)(Signatures.DeclComment << 0x2);
               writeByte(signature);
               valLen += 5;
               writeInt(valLen);
  -            write(value.getBytes());
  +            write(b);
               break;
            }
   
  
  
  

Reply via email to