Does this break the existing file format?
On Wednesday, January 9, 2002, at 01:13 PM, [EMAIL PROTECTED] wrote:
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;
}
Kimbro Staken
XML Database Software, Consulting and Writing
http://www.xmldatabases.org/