Author: mrglavas
Date: Sat Feb 18 21:35:05 2006
New Revision: 378849

URL: http://svn.apache.org/viewcvs?rev=378849&view=rev
Log:
JIRA Issue #1116:
https://issues.apache.org/jira/browse/XERCESJ-1116

Support setting the format-pretty-print parameter to true. Patch thanks
to Matej Kraus. So that the value is set correctly when the XML 1.1
serializer is used I moved the call to setIndenting() down into
prepareForSerialization().

Modified:
    xerces/java/trunk/src/org/apache/xml/serialize/DOMSerializerImpl.java

Modified: xerces/java/trunk/src/org/apache/xml/serialize/DOMSerializerImpl.java
URL: 
http://svn.apache.org/viewcvs/xerces/java/trunk/src/org/apache/xml/serialize/DOMSerializerImpl.java?rev=378849&r1=378848&r2=378849&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xml/serialize/DOMSerializerImpl.java 
(original)
+++ xerces/java/trunk/src/org/apache/xml/serialize/DOMSerializerImpl.java Sat 
Feb 18 21:35:05 2006
@@ -106,6 +106,7 @@
     protected final static short XMLDECL             = 0x1<<8;
     protected final static short NSDECL              = 0x1<<9;
     protected final static short DOM_ELEMENT_CONTENT_WHITESPACE = 0x1<<10;
+    protected final static short PRETTY_PRINT        = 0x1<<11;
     
     // well-formness checking
     private DOMErrorHandler fErrorHandler = null;    
@@ -203,13 +204,17 @@
                      (short) (state
                          ? features | COMMENTS
                          : features & ~COMMENTS);
+            } else if 
(name.equalsIgnoreCase(Constants.DOM_FORMAT_PRETTY_PRINT)) {
+                features =
+                     (short) (state
+                         ? features | PRETTY_PRINT
+                         : features & ~PRETTY_PRINT);
             }
                 else if (name.equalsIgnoreCase(Constants.DOM_CANONICAL_FORM)
                     || name.equalsIgnoreCase(Constants.DOM_VALIDATE_IF_SCHEMA)
                     || name.equalsIgnoreCase(Constants.DOM_VALIDATE)
                     || 
name.equalsIgnoreCase(Constants.DOM_CHECK_CHAR_NORMALIZATION)
                     || 
name.equalsIgnoreCase(Constants.DOM_DATATYPE_NORMALIZATION)
-                    || name.equalsIgnoreCase(Constants.DOM_FORMAT_PRETTY_PRINT)
                     || 
name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)) {
                 // true is not supported
                 if (state) {
@@ -298,6 +303,7 @@
             || name.equalsIgnoreCase(Constants.DOM_ENTITIES)
             || name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)
             || name.equalsIgnoreCase(Constants.DOM_COMMENTS)
+            || name.equalsIgnoreCase(Constants.DOM_FORMAT_PRETTY_PRINT)
             || name.equalsIgnoreCase(Constants.DOM_NAMESPACE_DECLARATIONS)){
                    // both values supported
                                return true;
@@ -307,7 +313,6 @@
                            || name.equalsIgnoreCase(Constants.DOM_VALIDATE)
                            || 
name.equalsIgnoreCase(Constants.DOM_CHECK_CHAR_NORMALIZATION)
                            || 
name.equalsIgnoreCase(Constants.DOM_DATATYPE_NORMALIZATION)
-                           || 
name.equalsIgnoreCase(Constants.DOM_FORMAT_PRETTY_PRINT)
                            || 
name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)) {
                                // true is not supported
                                return !value;
@@ -398,6 +403,8 @@
             return Boolean.TRUE;
         }else if 
(name.equalsIgnoreCase(Constants.DOM_DISCARD_DEFAULT_CONTENT)){
             return ((features & DISCARDDEFAULT)!=0)?Boolean.TRUE:Boolean.FALSE;
+        }else if (name.equalsIgnoreCase(Constants.DOM_FORMAT_PRETTY_PRINT)){
+          return ((features & PRETTY_PRINT)!=0)?Boolean.TRUE:Boolean.FALSE;
         }else if (name.equalsIgnoreCase(Constants.DOM_INFOSET)){
             if ((features & ENTITIES) == 0 &&
                  (features & CDATA) == 0 &&
@@ -408,8 +415,7 @@
                      return Boolean.TRUE;
                  }                 
                  return Boolean.FALSE;
-        } else if (name.equalsIgnoreCase (Constants.DOM_FORMAT_PRETTY_PRINT)
-                || name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)
+        } else if (name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)
                 || name.equalsIgnoreCase(Constants.DOM_CANONICAL_FORM)
                 || name.equalsIgnoreCase(Constants.DOM_VALIDATE_IF_SCHEMA)
                 || 
name.equalsIgnoreCase(Constants.DOM_CHECK_CHAR_NORMALIZATION)
@@ -985,6 +991,7 @@
         ser.fDOMErrorHandler = fErrorHandler;
         ser.fNamespaces = (features & NAMESPACES) != 0;
         ser.fNamespacePrefixes = (features & NSDECL) != 0;
+        ser._format.setIndenting((features & PRETTY_PRINT) != 0);
         ser._format.setOmitComments((features & COMMENTS)==0);
         ser._format.setOmitXMLDeclaration((features & XMLDECL) == 0);   
  



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to