Author: gvanmatre
Date: Sat Oct 21 19:01:32 2006
New Revision: 466613
URL: http://svn.apache.org/viewvc?view=rev&rev=466613
Log:
Added logic to better handle whitespace mixed with well-formed markup.
Modified:
shale/framework/trunk/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/ElementBuilder.java
shale/framework/trunk/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/JsfDefaultBuilder.java
Modified:
shale/framework/trunk/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/ElementBuilder.java
URL:
http://svn.apache.org/viewvc/shale/framework/trunk/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/ElementBuilder.java?view=diff&rev=466613&r1=466612&r2=466613
==============================================================================
---
shale/framework/trunk/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/ElementBuilder.java
(original)
+++
shale/framework/trunk/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/ElementBuilder.java
Sat Oct 21 19:01:32 2006
@@ -311,8 +311,10 @@
deleteList.add(child);
}
} else {
- // remove white space
- deleteList.add(child);
+ if (child.isComment() || isNodeWhitespace(child)) {
+ // remove white space
+ deleteList.add(child);
+ }
}
}
@@ -417,5 +419,24 @@
}
+
+ /**
+ * <p>Test the value of the node and returns <code>true</code> if
+ * the value is only whitespace.</p>
+ *
+ * @param node markup node
+ * @return <code>true</code> if value of the node is only whitespace
+ */
+ protected boolean isNodeWhitespace(Node node) {
+ StringBuffer document = node.getToken().getDocument();
+ for (int i = node.getToken().getBeginOffset();
+ i < node.getToken().getEndOffset(); i++) {
+ char c = document.charAt(i);
+ if (!Character.isWhitespace(c)) {
+ return false;
+ }
+ }
+ return true;
+ }
}
Modified:
shale/framework/trunk/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/JsfDefaultBuilder.java
URL:
http://svn.apache.org/viewvc/shale/framework/trunk/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/JsfDefaultBuilder.java?view=diff&rev=466613&r1=466612&r2=466613
==============================================================================
---
shale/framework/trunk/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/JsfDefaultBuilder.java
(original)
+++
shale/framework/trunk/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/JsfDefaultBuilder.java
Sat Oct 21 19:01:32 2006
@@ -402,8 +402,10 @@
if (node.getName() != null &&
node.getName().equals("verbatim")) {
continue next;
}
- // remove white space
- deleteList.add(child);
+ if (child.isComment() || isNodeWhitespace(child)) {
+ // remove white space
+ deleteList.add(child);
+ }
}
}
@@ -446,5 +448,4 @@
return jsfid.toString();
}
-
}