sboag 00/11/06 09:42:33
Modified: java/src/org/apache/xalan/serialize FormatterToXML.java
Log:
Some experimentation with whitespace sensing in the characters event.
Revision Changes Path
1.3 +10 -4
xml-xalan/java/src/org/apache/xalan/serialize/FormatterToXML.java
Index: FormatterToXML.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/serialize/FormatterToXML.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FormatterToXML.java 2000/11/01 16:49:02 1.2
+++ FormatterToXML.java 2000/11/06 17:42:27 1.3
@@ -1467,7 +1467,6 @@
public void characters(char chars[], int start, int length)
throws SAXException
{
-
if (m_inEntityRef)
return;
@@ -1490,17 +1489,25 @@
writeParentTagEnd();
- m_ispreserve = true;
-
int startClean = start;
int lengthClean = 0;
// int pos = 0;
int end = start + length;
+ boolean checkWhite = true;
for (int i = start; i < end; i++)
{
char ch = chars[i];
+
+ if(checkWhite)
+ {
+ if(!Character.isWhitespace(ch))
+ {
+ m_ispreserve = true;
+ checkWhite = false;
+ }
+ }
if ((ch < SPECIALSSIZE) && (m_charsMap[ch] != 'S'))
{
@@ -1526,7 +1533,6 @@
{
accum(chars, startClean, lengthClean);
}
-
m_isprevtext = true;
}