Index: XMLOutputter.java
===================================================================
RCS file: /home/cvspublic/jdom-wip/src/java/org/jdom/output/XMLOutputter.java,v
retrieving revision 1.5
diff -c -r1.5 XMLOutputter.java
*** XMLOutputter.java 2001/11/02 19:30:42 1.5
--- XMLOutputter.java 2001/11/25 01:10:03
***************
*** 487,494 ****
enc = "UTF8";
}
! Writer writer = new OutputStreamWriter
! (new BufferedOutputStream(out), enc);
return writer;
}
--- 487,495 ----
enc = "UTF8";
}
! Writer writer = new BufferedWriter
! (new OutputStreamWriter
! (new BufferedOutputStream(out), enc));
return writer;
}
***************
*** 1371,1378 ****
// two different URIs. For attributes on the same element
// this is illegal; but as yet we don't throw an exception
// if someone tries to do this
- Set prefixes = new HashSet();
-
Iterator itr = attributes.iterator();
while (itr.hasNext()) {
Attribute attribute = (Attribute)itr.next();
--- 1372,1377 ----
***************
*** 1447,1459 ****
* @return String
with escaped content.
*/
protected String escapeAttributeEntities(String st) {
! StringBuffer buff = new StringBuffer();
! char[] block = st.toCharArray();
String stEntity = null;
int i, last;
! for (i=0, last=0; i < block.length; i++) {
! switch(block[i]) {
case '<' :
stEntity = "<";
break;
--- 1446,1458 ----
* @return String
with escaped content.
*/
protected String escapeAttributeEntities(String st) {
! StringBuffer buff = null;
! int length = st.length();
String stEntity = null;
int i, last;
! for (i=0, last=0; i < length; i++) {
! switch(st.charAt(i)) {
case '<' :
stEntity = "<";
break;
***************
*** 1475,1491 ****
/* no-op */ ;
}
if (stEntity != null) {
! buff.append(block, last, i - last);
buff.append(stEntity);
stEntity = null;
last = i + 1;
}
}
- if(last < block.length) {
- buff.append(block, last, i - last);
- }
! return buff.toString();
}
--- 1474,1501 ----
/* no-op */ ;
}
if (stEntity != null) {
! // An entity occurred, so we'll have to use the StringBuffer.
! if (buff == null) {
! buff = new StringBuffer(length + 20); // allow room for a few more entities
! }
! buff.append(st.substring(last, i));
buff.append(stEntity);
stEntity = null;
last = i + 1;
}
}
! // If there were any entities, return the escaped charactes that we
! // put in the StringBuffer. Otherwise, just return the unmodified
! // input string.
! if (buff != null) {
! if(last < length) {
! buff.append(st.substring(last, i));
! }
! return buff.toString();
! } else {
! return st;
! }
}
***************
*** 1501,1513 ****
* @return String
with escaped content.
*/
protected String escapeElementEntities(String st) {
! StringBuffer buff = new StringBuffer();
! char[] block = st.toCharArray();
String stEntity = null;
int i, last;
! for (i=0, last=0; i < block.length; i++) {
! switch(block[i]) {
case '<' :
stEntity = "<";
break;
--- 1511,1523 ----
* @return String
with escaped content.
*/
protected String escapeElementEntities(String st) {
! StringBuffer buff = null;
! int length = st.length();
String stEntity = null;
int i, last;
! for (i=0, last=0; i < length; i++) {
! switch(st.charAt(i)) {
case '<' :
stEntity = "<";
break;
***************
*** 1521,1537 ****
/* no-op */ ;
}
if (stEntity != null) {
! buff.append(block, last, i - last);
buff.append(stEntity);
stEntity = null;
last = i + 1;
}
}
- if (last < block.length) {
- buff.append(block, last, i - last);
- }
! return buff.toString();
}
/**
--- 1531,1558 ----
/* no-op */ ;
}
if (stEntity != null) {
! // An entity occurred, so we'll have to use the StringBuffer.
! if (buff == null) {
! buff = new StringBuffer(length + 20); // allow room for a few more entities
! }
! buff.append(st.substring(last, i));
buff.append(stEntity);
stEntity = null;
last = i + 1;
}
}
! // If there were any entities, return the escaped charactes that we
! // put in the StringBuffer. Otherwise, just return the unmodified
! // input string.
! if (buff != null) {
! if (last < length) {
! buff.append(st.substring(last, i));
! }
! return buff.toString();
! } else {
! return st;
! }
}
/**
***************
*** 1585,1593 ****
// true if string is all whitespace (space, tab, cr, lf only)
private boolean isWhitespace(String s) {
! char[] c = s.toCharArray();
! for (int i=0; i