in src/org/apache/xerces/parsers/DOMParserImpl.java [624:762]
public Object getParameter (String name) throws DOMException {
if (name.equalsIgnoreCase (Constants.DOM_COMMENTS)) {
return (fConfiguration.getFeature (INCLUDE_COMMENTS_FEATURE))
? Boolean.TRUE
: Boolean.FALSE;
}
else if (name.equalsIgnoreCase (Constants.DOM_DATATYPE_NORMALIZATION)) {
return (fConfiguration.getFeature (NORMALIZE_DATA))
? Boolean.TRUE
: Boolean.FALSE;
}
else if (name.equalsIgnoreCase (Constants.DOM_ENTITIES)) {
return (fConfiguration.getFeature (CREATE_ENTITY_REF_NODES))
? Boolean.TRUE
: Boolean.FALSE;
}
else if (name.equalsIgnoreCase (Constants.DOM_NAMESPACES)) {
return (fConfiguration.getFeature (NAMESPACES))
? Boolean.TRUE
: Boolean.FALSE;
}
else if (name.equalsIgnoreCase (Constants.DOM_VALIDATE)) {
return (fConfiguration.getFeature (VALIDATION_FEATURE))
? Boolean.TRUE
: Boolean.FALSE;
}
else if (name.equalsIgnoreCase (Constants.DOM_VALIDATE_IF_SCHEMA)) {
return (fConfiguration.getFeature (DYNAMIC_VALIDATION))
? Boolean.TRUE
: Boolean.FALSE;
}
else if (name.equalsIgnoreCase (Constants.DOM_ELEMENT_CONTENT_WHITESPACE)) {
return (fConfiguration.getFeature (INCLUDE_IGNORABLE_WHITESPACE))
? Boolean.TRUE
: Boolean.FALSE;
}
else if (name.equalsIgnoreCase (Constants.DOM_DISALLOW_DOCTYPE)) {
return (fConfiguration.getFeature (DISALLOW_DOCTYPE_DECL_FEATURE))
? Boolean.TRUE
: Boolean.FALSE;
}
else if (name.equalsIgnoreCase (Constants.DOM_INFOSET)) {
// REVISIT: This is somewhat expensive to compute
// but it's possible that the user has a reference
// to the configuration and is changing the values
// of these features directly on it.
boolean infoset = fConfiguration.getFeature(NAMESPACES) &&
fConfiguration.getFeature(Constants.DOM_NAMESPACE_DECLARATIONS) &&
fConfiguration.getFeature(INCLUDE_COMMENTS_FEATURE) &&
fConfiguration.getFeature(INCLUDE_IGNORABLE_WHITESPACE) &&
!fConfiguration.getFeature(DYNAMIC_VALIDATION) &&
!fConfiguration.getFeature(CREATE_ENTITY_REF_NODES) &&
!fConfiguration.getFeature(NORMALIZE_DATA) &&
!fConfiguration.getFeature(CREATE_CDATA_NODES_FEATURE);
return (infoset) ? Boolean.TRUE : Boolean.FALSE;
}
else if (name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)) {
return (fConfiguration.getFeature(CREATE_CDATA_NODES_FEATURE))
? Boolean.TRUE : Boolean.FALSE;
}
else if (name.equalsIgnoreCase(Constants.DOM_CHECK_CHAR_NORMALIZATION ) ||
name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)) {
return Boolean.FALSE;
}
else if (name.equalsIgnoreCase(Constants.DOM_NAMESPACE_DECLARATIONS)
|| name.equalsIgnoreCase (Constants.DOM_WELLFORMED)
|| name.equalsIgnoreCase (Constants.DOM_IGNORE_UNKNOWN_CHARACTER_DENORMALIZATIONS)
|| name.equalsIgnoreCase (Constants.DOM_CANONICAL_FORM)
|| name.equalsIgnoreCase (Constants.DOM_SUPPORTED_MEDIATYPES_ONLY)
|| name.equalsIgnoreCase (Constants.DOM_SPLIT_CDATA)
|| name.equalsIgnoreCase (Constants.DOM_CHARSET_OVERRIDES_XML_ENCODING)) {
return (fConfiguration.getFeature (name.toLowerCase(Locale.ENGLISH)))
? Boolean.TRUE
: Boolean.FALSE;
}
else if (name.equalsIgnoreCase (Constants.DOM_ERROR_HANDLER)) {
if (fErrorHandler != null) {
return fErrorHandler.getErrorHandler ();
}
return null;
}
else if (name.equalsIgnoreCase (Constants.DOM_RESOURCE_RESOLVER)) {
try {
XMLEntityResolver entityResolver =
(XMLEntityResolver) fConfiguration.getProperty (ENTITY_RESOLVER);
if (entityResolver != null
&& entityResolver instanceof DOMEntityResolverWrapper) {
return ((DOMEntityResolverWrapper) entityResolver).getEntityResolver();
}
}
catch (XMLConfigurationException e) {}
return null;
}
else if (name.equalsIgnoreCase (Constants.DOM_SCHEMA_TYPE)) {
return fConfiguration.getProperty (
Constants.JAXP_PROPERTY_PREFIX + Constants.SCHEMA_LANGUAGE);
}
else if (name.equalsIgnoreCase (Constants.DOM_SCHEMA_LOCATION)) {
return fSchemaLocation;
}
else if (name.equalsIgnoreCase (SYMBOL_TABLE)) {
return fConfiguration.getProperty (SYMBOL_TABLE);
}
else if (name.equalsIgnoreCase (DOCUMENT_CLASS_NAME)) {
return fConfiguration.getProperty (DOCUMENT_CLASS_NAME);
}
else {
// This could be a recognized feature or property.
String normalizedName;
// The honour-all-schemaLocations feature is
// mixed case so requires special treatment.
if (name.equalsIgnoreCase(HONOUR_ALL_SCHEMALOCATIONS)) {
normalizedName = HONOUR_ALL_SCHEMALOCATIONS;
}
else if (name.equals(NAMESPACE_GROWTH)) {
normalizedName = NAMESPACE_GROWTH;
}
else if (name.equals(TOLERATE_DUPLICATES)) {
normalizedName = TOLERATE_DUPLICATES;
}
else {
normalizedName = name.toLowerCase(Locale.ENGLISH);
}
try {
return fConfiguration.getFeature(normalizedName)
? Boolean.TRUE : Boolean.FALSE;
}
catch (XMLConfigurationException e) {}
// This isn't a feature; perhaps it's a property
try {
return fConfiguration.getProperty(normalizedName);
}
catch (XMLConfigurationException e) {}
throw newFeatureNotFoundError(name);
}
}