You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by ji...@apache.org on 2004/04/23 20:07:53 UTC
[jira] Closed: (XERCESJ-902) DOMConfiguration names should not be case-sensitive
Message:
The following issue has been closed.
Resolver: Michael Glavassevich
Date: Fri, 23 Apr 2004 11:06 AM
Closed as per state in Bugzilla.
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/XERCESJ-902
Here is an overview of the issue:
---------------------------------------------------------------------
Key: XERCESJ-902
Summary: DOMConfiguration names should not be case-sensitive
Type: Bug
Status: Closed
Resolution: FIXED
Project: Xerces2-J
Components:
DOM
Versions:
2.6.2
Assignee: Michael Glavassevich
Reporter: Naela Nissar
Created: Fri, 27 Feb 2004 9:31 PM
Updated: Fri, 23 Apr 2004 11:06 AM
Environment: Operating System: Other
Platform: Other
Description:
Spec states DOMConfiguration names are case-insensitive [1]. Xerces currently
treats these as case sensitive. Requires calling equalsIgnoreCase instead of
equals in setParameter, canSetParameter, and getParameter methods in
DOMConfigurationImpl
[1] http://www.w3.org/2004/01/CR-DOM-Level-3-Core-
20040108/core#DOMConfiguration
Proposed patch to DOMConfigurationImpl
--- C:\xml-xerces\java\src\org\apache\xerces\dom\DOMConfigurationImpl.java
2004-02-27 15:17:13 -0500 1.24
+++ C:\xerces-temp\DOMConfigurationImpl.java 2004-02-27 15:00:00. -0500
@@ -515,11 +515,11 @@
if(value instanceof Boolean){
boolean state = ((Boolean)value).booleanValue();
- if (name.equals(Constants.DOM_COMMENTS)) {
+ if (name.equalsIgnoreCase(Constants.DOM_COMMENTS)) {
features = (short) (state ? features | COMMENTS : features &
~COMMENTS);
}
- else if (name.equals(Constants.DOM_DATATYPE_NORMALIZATION)) {
+ else if (name.equalsIgnoreCase
(Constants.DOM_DATATYPE_NORMALIZATION)) {
setFeature(NORMALIZE_DATA, state);
features =
(short) (state ? features | DTNORMALIZATION : features &
~DTNORMALIZATION);
@@ -527,25 +527,25 @@
features = (short) (features | VALIDATE);
}
}
- else if (name.equals(Constants.DOM_NAMESPACES)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_NAMESPACES)) {
features = (short) (state ? features | NAMESPACES : features &
~NAMESPACES);
}
- else if (name.equals(Constants.DOM_CDATA_SECTIONS)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)) {
features = (short) (state ? features | CDATA : features &
~CDATA);
}
- else if (name.equals(Constants.DOM_ENTITIES)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_ENTITIES)) {
features = (short) (state ? features | ENTITIES : features &
~ENTITIES);
}
- else if (name.equals(Constants.DOM_SPLIT_CDATA)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_SPLIT_CDATA)) {
features = (short) (state ? features | SPLITCDATA : features &
~SPLITCDATA);
}
- else if (name.equals(Constants.DOM_VALIDATE)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_VALIDATE)) {
features = (short) (state ? features | VALIDATE : features &
~VALIDATE);
}
- else if (name.equals(Constants.DOM_WELLFORMED)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_WELLFORMED)) {
features = (short) (state ? features | WELLFORMED : features &
~WELLFORMED );
}
- else if (name.equals(Constants.DOM_INFOSET)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_INFOSET)) {
// Setting to false has no effect.
if (state) {
features = (short) (features | INFOSET_TRUE_PARAMS);
@@ -553,10 +553,10 @@
setFeature(NORMALIZE_DATA, false);
}
}
- else if (name.equals(Constants.DOM_NORMALIZE_CHARACTERS)
- || name.equals(Constants.DOM_CANONICAL_FORM)
- || name.equals(Constants.DOM_VALIDATE_IF_SCHEMA)
- || name.equals(Constants.DOM_CHECK_CHAR_NORMALIZATION)
+ 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)
) {
if (state) { // true is not supported
String msg =
@@ -567,8 +567,8 @@
throw new DOMException(DOMException.NOT_SUPPORTED_ERR,
msg);
}
}
- else if (name.equals(Constants.DOM_NAMESPACE_DECLARATIONS)
- || name.equals(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)) {
+ else if (name.equalsIgnoreCase
(Constants.DOM_NAMESPACE_DECLARATIONS)
+ || name.equalsIgnoreCase
(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)) {
if (!state) { // false is not supported
String msg =
DOMMessageFormatter.formatMessage(
@@ -605,7 +605,7 @@
}
}
else { // set properties
- if (name.equals(Constants.DOM_ERROR_HANDLER)) {
+ if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER)) {
if (value instanceof DOMErrorHandler) {
fErrorHandlerWrapper.setErrorHandler((DOMErrorHandler)
value);
setErrorHandler(fErrorHandlerWrapper);
@@ -639,7 +639,7 @@
}
}
- else if (name.equals(Constants.DOM_SCHEMA_LOCATION)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_LOCATION)) {
if (value instanceof String) {
try {
String schemaType = (String) getProperty(
@@ -675,7 +675,7 @@
}
}
- else if (name.equals(Constants.DOM_SCHEMA_TYPE)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_TYPE)) {
// REVISIT: should null value be supported?
if (value instanceof String) {
try {
@@ -760,38 +760,38 @@
// REVISIT: Recognizes DOM L3 default features only.
// Does not yet recognize Xerces features.
- if (name.equals(Constants.DOM_COMMENTS)) {
+ if (name.equalsIgnoreCase(Constants.DOM_COMMENTS)) {
return ((features & COMMENTS) != 0) ? Boolean.TRUE :
Boolean.FALSE;
}
- else if (name.equals(Constants.DOM_NAMESPACES)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_NAMESPACES)) {
return (features & NAMESPACES) != 0 ? Boolean.TRUE :
Boolean.FALSE;
}
- else if (name.equals(Constants.DOM_DATATYPE_NORMALIZATION)) {
+ else if (name.equalsIgnoreCase
(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)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)) {
return (features & CDATA) != 0 ? Boolean.TRUE :
Boolean.FALSE;
}
- else if (name.equals(Constants.DOM_ENTITIES)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_ENTITIES)) {
return (features & ENTITIES) != 0 ? Boolean.TRUE :
Boolean.FALSE;
}
- else if (name.equals(Constants.DOM_SPLIT_CDATA)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_SPLIT_CDATA)) {
return (features & SPLITCDATA) != 0 ? Boolean.TRUE :
Boolean.FALSE;
}
- else if (name.equals(Constants.DOM_VALIDATE)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_VALIDATE)) {
return (features & VALIDATE) != 0 ? Boolean.TRUE :
Boolean.FALSE;
}
- else if (name.equals(Constants.DOM_WELLFORMED)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_WELLFORMED)) {
return (features & WELLFORMED) != 0 ? Boolean.TRUE :
Boolean.FALSE;
}
- else if (name.equals(Constants.DOM_INFOSET)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_INFOSET)) {
return (features & INFOSET_MASK) ==
INFOSET_TRUE_PARAMS ? Boolean.TRUE : Boo
lean.FALSE;
}
- else if (name.equals(Constants.DOM_NORMALIZE_CHARACTERS)
- || name.equals(Constants.DOM_CANONICAL_FORM)
- || name.equals(Constants.DOM_VALIDATE_IF_SCHEMA)
- || name.equals
(Constants.DOM_CHECK_CHAR_NORMALIZATION)
+ 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)
) {
return Boolean.FALSE;
}
@@ -803,11 +803,11 @@
return (features & PSVI) != 0 ? Boolean.TRUE : Boolean.FALSE;
}
else if (
- name.equals(Constants.DOM_NAMESPACE_DECLARATIONS)
- || name.equals
(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)) {
+ name.equalsIgnoreCase
(Constants.DOM_NAMESPACE_DECLARATIONS)
+ || name.equalsIgnoreCase
(Constants.DOM_ELEMENT_CONTENT_WHITESPACE))
{
return Boolean.TRUE;
}
- else if (name.equals(Constants.DOM_ERROR_HANDLER)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER)) {
return fErrorHandlerWrapper.getErrorHandler();
}
else if (name.equals(Constants.DOM_RESOURCE_RESOLVER)) {
@@ -817,10 +817,10 @@
}
return null;
}
- else if (name.equals(Constants.DOM_SCHEMA_TYPE)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_TYPE)) {
return getProperty(Constants.JAXP_PROPERTY_PREFIX +
Constants.SCHEMA_LANGUAG
E);
}
- else if (name.equals(Constants.DOM_SCHEMA_LOCATION)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_LOCATION)) {
return getProperty(Constants.JAXP_PROPERTY_PREFIX +
Constants.SCHEMA_SOURCE)
;
}
else if (name.equals(SYMBOL_TABLE)){
@@ -868,28 +868,28 @@
//features whose parameter value can be set either 'true'
or 'false'
// or they accept any boolean value -- so we just need to check
that
// its a boolean value..
- 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_WELLFORMED)
- || name.equals(Constants.DOM_INFOSET)
+ if (name.equalsIgnoreCase(Constants.DOM_COMMENTS)
+ || name.equalsIgnoreCase(Constants.DOM_DATATYPE_NORMALIZATION)
+ || name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)
+ || name.equalsIgnoreCase(Constants.DOM_ENTITIES)
+ || name.equalsIgnoreCase(Constants.DOM_SPLIT_CDATA)
+ || name.equalsIgnoreCase(Constants.DOM_NAMESPACES)
+ || name.equalsIgnoreCase(Constants.DOM_VALIDATE)
+ || name.equalsIgnoreCase(Constants.DOM_WELLFORMED)
+ || name.equalsIgnoreCase(Constants.DOM_INFOSET)
) {
return true ;
}//features whose parameter value can not be set to 'true'
else if (
- name.equals(Constants.DOM_NORMALIZE_CHARACTERS)
- || name.equals(Constants.DOM_CANONICAL_FORM)
- || name.equals(Constants.DOM_VALIDATE_IF_SCHEMA)
- || name.equals(Constants.DOM_CHECK_CHAR_NORMALIZATION)
+ 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)
) {
return (value.equals(Boolean.TRUE)) ? false : true;
}//features whose parameter value can not be set to 'false'
- else if( name.equals(Constants.DOM_NAMESPACE_DECLARATIONS)
- || name.equals(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)
+ else if( name.equalsIgnoreCase
(Constants.DOM_NAMESPACE_DECLARATIONS)
+ || name.equalsIgnoreCase
(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)
|| name.equals(SEND_PSVI)
) {
return (value.equals(Boolean.TRUE)) ? true : false;
@@ -898,16 +898,16 @@
return false ;
}
}
- else if (name.equals(Constants.DOM_ERROR_HANDLER)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER)) {
return (value instanceof DOMErrorHandler) ? true : false ;
}
else if (name.equals(Constants.DOM_RESOURCE_RESOLVER)) {
return (value instanceof LSResourceResolver) ? true : false ;
}
- else if (name.equals(Constants.DOM_SCHEMA_LOCATION)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_LOCATION)) {
return (value instanceof String) ? true : false ;
}
- else if (name.equals(Constants.DOM_SCHEMA_TYPE)) {
+ else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_TYPE)) {
// REVISIT: should null value be supported?
//as of now we are only supporting W3C XML Schema
return ( (value instanceof String) && value.equals
(Constants.NS_XMLSCHEMA) ) ? true : f
alse ;
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-dev-help@xml.apache.org