You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mr...@apache.org on 2004/03/29 21:19:31 UTC
cvs commit: xml-xerces/java/src/org/apache/xml/serialize BaseMarkupSerializer.java DOMSerializerImpl.java
mrglavas 2004/03/29 11:19:31
Modified: java/src/org/apache/xml/serialize BaseMarkupSerializer.java
DOMSerializerImpl.java
Log:
Fixing Bug #27924:
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=27924
Entity reference nodes with no children should always be
serialized even if the 'entities' parameter is set to false. We
were breaking out of serializeNode without writing anything
for such nodes.
The attribute actualEncoding was renamed inputEncoding
on the Document interface. We never updated this in the
serializer and since the method is being called through
reflection, it was failing silently at runtime. Once DOM Level 3
goes to REC all the reflective calls on Document should be
replaced with static ones.
These two bugs are fixed thanks to the patch from Naela Nissar.
Revision Changes Path
1.53 +3 -2 xml-xerces/java/src/org/apache/xml/serialize/BaseMarkupSerializer.java
Index: BaseMarkupSerializer.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xml/serialize/BaseMarkupSerializer.java,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- BaseMarkupSerializer.java 24 Feb 2004 23:34:03 -0000 1.52
+++ BaseMarkupSerializer.java 29 Mar 2004 19:19:31 -0000 1.53
@@ -1086,7 +1086,8 @@
endCDATA();
content();
- if ( ((features & DOMSerializerImpl.ENTITIES) != 0)){
+ if (((features & DOMSerializerImpl.ENTITIES) != 0)
+ || (node.getFirstChild() == null)) {
if (fDOMFilter !=null &&
(fDOMFilter.getWhatToShow() & NodeFilter.SHOW_ENTITY_REFERENCE)!= 0) {
short code = fDOMFilter.acceptNode(node);
1.19 +8 -4 xml-xerces/java/src/org/apache/xml/serialize/DOMSerializerImpl.java
Index: DOMSerializerImpl.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xml/serialize/DOMSerializerImpl.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- DOMSerializerImpl.java 2 Mar 2004 23:06:58 -0000 1.18
+++ DOMSerializerImpl.java 29 Mar 2004 19:19:31 -0000 1.19
@@ -78,6 +78,10 @@
*/
public class DOMSerializerImpl implements LSSerializer, DOMConfiguration {
+ // TODO: When DOM Level 3 goes to REC replace method calls using
+ // reflection for: getXmlEncoding, getInputEncoding and getXmlEncoding
+ // with regular static calls on the Document object.
+
// data
// serializer
private XMLSerializer serializer;
@@ -663,7 +667,7 @@
if ((encoding = destination.getEncoding()) == null) {
try {
Method getEncoding =
- fDocument.getClass().getMethod("getActualEncoding", new Class[] {});
+ fDocument.getClass().getMethod("getInputEncoding", new Class[] {});
if (getEncoding != null) {
encoding = (String) getEncoding.invoke(fDocument, null);
}
@@ -802,7 +806,7 @@
* (or its owner document) in this order:
* <ol>
* <li>
- * <code>Document.actualEncoding</code>,
+ * <code>Document.inputEncoding</code>,
* </li>
* <li>
* <code>Document.xmlEncoding</code>.
@@ -856,7 +860,7 @@
try {
Method getEncoding =
- fDocument.getClass().getMethod("getActualEncoding", new Class[] {});
+ fDocument.getClass().getMethod("getInputEncoding", new Class[] {});
if (getEncoding != null) {
encoding = (String) getEncoding.invoke(fDocument, null);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org