neeraj      2003/07/23 11:09:00

  Modified:    java/src/org/apache/xerces/dom DOMConfigurationImpl.java
  Log:
  Well-formed feature could be both true or false. For ex. currently 
DOMWriter/DOMSerializer
  doesn't check for well-formedness when serializing and sets the value of this 
feature to false.
  Still need to make changes in  DOMBuilderImpl.java for "well-formed". Will work on 
it tomorrow.
  
  Revision  Changes    Path
  1.6       +17 -18    
xml-xerces/java/src/org/apache/xerces/dom/DOMConfigurationImpl.java
  
  Index: DOMConfigurationImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/dom/DOMConfigurationImpl.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DOMConfigurationImpl.java 22 Jul 2003 14:03:37 -0000      1.5
  +++ DOMConfigurationImpl.java 23 Jul 2003 18:09:00 -0000      1.6
  @@ -186,7 +186,7 @@
       protected final static short COMMENTS            = 0x1<<5;
       protected final static short VALIDATE            = 0x1<<6;
       protected final static short PSVI                = 0x1<<7;
  -
  +    protected final static short WELLFORMED          = 0x1<<8;
       // components
   
       /** Symbol table. */
  @@ -284,6 +284,7 @@
           features |= COMMENTS;
           features |= CDATA;
           features |= SPLITCDATA;
  +        features |= WELLFORMED;
           
           if (symbolTable == null) {
               symbolTable = new SymbolTable();
  @@ -573,6 +574,9 @@
                   features = (short) (state ? features | VALIDATE : features & 
~VALIDATE);
   
               }
  +            else if (name.equals(Constants.DOM_WELLFORMED)) {
  +                features = (short) (state ? features | WELLFORMED : features & 
~WELLFORMED);
  +            }            
               else if (name.equals(Constants.DOM_INFOSET)
                       || name.equals(Constants.DOM_NORMALIZE_CHARACTERS)
                       || name.equals(Constants.DOM_CANONICAL_FORM)
  @@ -586,15 +590,14 @@
                       throw new DOMException(DOMException.NOT_SUPPORTED_ERR, msg);
                   }
               }
  -            else if (name.equals(Constants.DOM_NAMESPACE_DECLARATIONS)
  -                        || name.equals(Constants.DOM_WELLFORMED)) {
  +            else if (name.equals(Constants.DOM_NAMESPACE_DECLARATIONS)) {
                   if (!state) { // false is not supported
                       String msg =
                           DOMMessageFormatter.formatMessage(
                               DOMMessageFormatter.DOM_DOMAIN,
                               "FEATURE_NOT_SUPPORTED",
                               new Object[] { name });
  -                    throw new DOMException(DOMException.NOT_SUPPORTED_ERR, msg);
  +                   throw new DOMException(DOMException.NOT_SUPPORTED_ERR, msg);
                   }
   
               }
  @@ -781,20 +784,16 @@
   
                if (name.equals(Constants.DOM_COMMENTS)) {
                        return ((features & COMMENTS) != 0) ? Boolean.TRUE : 
Boolean.FALSE;
  -
                }
                else if (name.equals(Constants.DOM_NAMESPACES)) {
                        return (features & NAMESPACES) != 0 ? Boolean.TRUE : 
Boolean.FALSE;
  -
                }
                else if (name.equals(Constants.DOM_DATATYPE_NORMALIZATION)) {
                        // REVISIT: datatype-normalization only takes effect if 
validation is on
                        return (features & DTNORMALIZATION) != 0 ? Boolean.TRUE : 
Boolean.FALSE;
  -
                }
                else if (name.equals(Constants.DOM_CDATA_SECTIONS)) {
                        return (features & CDATA) != 0 ? Boolean.TRUE : Boolean.FALSE;
  -
                }
                else if (name.equals(Constants.DOM_ENTITIES)) {
                        return (features & ENTITIES) != 0 ? Boolean.TRUE : 
Boolean.FALSE;
  @@ -805,6 +804,9 @@
                else if (name.equals(Constants.DOM_VALIDATE)) {
                        return (features & VALIDATE) != 0 ? Boolean.TRUE : 
Boolean.FALSE;
                }
  +             else if (name.equals(Constants.DOM_WELLFORMED)) {
  +                     return (features & WELLFORMED) != 0 ? Boolean.TRUE : 
Boolean.FALSE;
  +             }        
                else if (name.equals(Constants.DOM_INFOSET)
                                || name.equals(Constants.DOM_NORMALIZE_CHARACTERS)
                                || name.equals(Constants.DOM_CANONICAL_FORM)
  @@ -822,11 +824,7 @@
                        name.equals(Constants.DOM_NAMESPACE_DECLARATIONS)
                                || 
name.equals(Constants.DOM_WHITESPACE_IN_ELEMENT_CONTENT)) {
                        return Boolean.TRUE;    
  -             }//well formed ness is always true
  -        else if (name.equals(Constants.DOM_WELLFORMED)) {
  -            return Boolean.TRUE ;
  -        }
  -        
  +             }        
                else if (name.equals(Constants.DOM_ERROR_HANDLER)) {
               return fErrorHandlerWrapper.getErrorHandler();
                }
  @@ -865,16 +863,17 @@
        * canSetParameter
        */
        public boolean canSetParameter(String name, Object state) {
  -        //parameters whose value can be set to either 'true' or 'false'
  +        //features whose parameter value can be set either 'true' or 'false'
                if (name.equals(Constants.DOM_COMMENTS)
                        || name.equals(Constants.DOM_DATATYPE_NORMALIZATION)
                        || name.equals(Constants.DOM_CDATA_SECTIONS)
                        || name.equals(Constants.DOM_ENTITIES)
                        || name.equals(Constants.DOM_SPLIT_CDATA)
                        || name.equals(Constants.DOM_NAMESPACES)
  -                     || name.equals(Constants.DOM_VALIDATE)) {
  +                     || name.equals(Constants.DOM_VALIDATE)
  +            || name.equals(Constants.DOM_WELLFORMED)) {
                        return (state instanceof Boolean) ? true : false;
  -             }//parameter whose 'true' value can not be set.
  +             }//features whose parameter value can not be set to 'true'
                else if (
                        name.equals(Constants.DOM_INFOSET)
                                || name.equals(Constants.DOM_NORMALIZE_CHARACTERS)
  @@ -885,7 +884,7 @@
                                return (state.equals(Boolean.TRUE)) ? false : true;
                        }
                        return false;
  -             } //parameter whose 'false' value can not be set.
  +             }//features whose parameter value can not be set to 'true'
                else if ( name.equals(Constants.DOM_NAMESPACE_DECLARATIONS)
                                || 
name.equals(Constants.DOM_WHITESPACE_IN_ELEMENT_CONTENT)
                   || name.equals(SEND_PSVI)
  
  
  

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

Reply via email to