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]