http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Charter
Release Info

Installation
Download
Bug-Reporting

FAQs
Samples
API JavaDoc

Features
Properties

XNI Manual
XML Schema
SAX
DOM
Limitations

Source Repository
User Mail Archive
Dev Mail Archive

Setting Properties
 

If you have created a DOM document builder or a SAX parser using the JAXP interfaces, the following instructions tell you how to set properties on document builders and SAX parsers created from the JAXP interfaces.

The DocumentBuilderFactory interface contains a setAttribute(String,Object) method which may provide a means to set properties on the underlying parser. When using Xerces, you can set the value of a property with this method. For example:

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
  
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);

String id    = "http://apache.org/xml/properties/dom/document-class-name";
Object value = "org.apache.xerces.dom.DocumentImpl";
try {
    dbf.setAttribute(id, value);
} 
catch (IllegalArgumentException e) {
    System.err.println("could not set parser property");
}

The SAXParser interface contains a setProperty(String,Object) method which can be used to set properties on the underlying implementation of XMLReader. You can also retrieve the underlying XMLReader from the SAXParser allowing you to set and query properties on it directly. For example:

import javax.xml.parsers.SAXParser;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;

SAXParser parser = /* created from SAXParserFactory */;
XMLReader reader = parser.getXMLReader();

String id    = "http://apache.org/xml/properties/input-buffer-size";
Object value = new Integer(2048);
try {
    reader.setProperty(id, value);
} 
catch (SAXException e) {
    System.err.println("could not set parser property");
}

General Properties
 
http://xml.org/sax/properties/xml-string
 
Desc:  Get the string of characters associated with the current event. If the parser recognizes and supports this property but is not currently parsing text, it should return null.  
Type:  java.lang.String 
Access:  read-only 
Note:  This property is currently not supported because the contents of the XML string returned by this property is not well defined.  

http://apache.org/xml/properties/schema/external-schemaLocation
 
Desc:  The XML Schema Recommendation explicitly states that the inclusion of schemaLocation/noNamespaceSchemaLocation attributes is only a hint; it does not mandate that these attributes must be used to locate schemas. Similar situation happens to <import> element in schema documents. This property allows the user to specify a list of schemas to use. If the targetNamespace of a schema (specified using this property) matches the targetNamespace of a schema occurring in the instance document in schemaLocation attribute, or if the targetNamespace matches the namespace attribute of <import> element, the schema specified by the user using this property will be used (i.e., the schemaLocation attribute in the instance document or on the <import> element will be effectively ignored).  
Type:  java.lang.String 
Access:  read-write 
Note:  The syntax is the same as for schemaLocation attributes in instance documents: e.g, "http://www.example.com file_name.xsd". The user can specify more than one XML Schema in the list.  

http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation
 
Desc:  This property allows the user to specify an XML Schema with no namespace.  
Type:  java.lang.String 
Access:  read-write 
Note:  The syntax is a same as for the noNamespaceSchemaLocation attribute that may occur in an instance document: e.g."file_name.xsd". The user may specify only one XML Schema. For more information see the documentation for the http://apache.org/xml/properties/schema/external-schemaLocation property.  

http://apache.org/xml/properties/validation/schema/root-element-declaration
 
Desc:  A QName or XSElementDeclaration object representing the top-level element declaration used when validating the root element of a document or document fragment (also known as the validation root). If the value of this property is non-null the validation root will be validated against the specified element declaration regardless of the actual name of the root element in the instance document. If the value is a QName and a element declaration cannot be found an error will be reported.  
Type:  javax.xml.namespace.QName or org.apache.xerces.xs.XSElementDeclaration 
Access:  read-write 
Since:  Xerces-J 2.10.0 
Note:  If the 'root-type-definition' property has been set this property takes precedence if its value is non-null.  
Note:  If the value specified is an XSElementDeclaration it must be an object obtained from Xerces and must also be an object which is known to the schema validator, for example one which would be returned from an XMLGrammarPool. If these constraints are not met a ClassCastException may be thrown or processing of substitution groups, xsi:type and wildcards may fail to locate otherwise available schema components.  
See:  http://apache.org/xml/properties/validation/schema/root-type-definition 

http://apache.org/xml/properties/validation/schema/root-type-definition
 
Desc:  A QName or XSTypeDefinition object representing the top-level type definition used when validating the root element of a document or document fragment (also known as the validation root). If the value of this property is non-null and the 'root-element-declaration' property is not set the validation root will not be validated against any element declaration. If the value is a QName and a type definition cannot be found an error will be reported.  
Type:  javax.xml.namespace.QName or org.apache.xerces.xs.XSTypeDefinition 
Access:  read-write 
Since:  Xerces-J 2.8.0 
Note:  If the 'root-element-declaration' property has been set this property is ignored.  
Note:  Prior to Xerces-J 2.10.0 setting the value of this property to an XSTypeDefinition was not supported.  
Note:  If the value specified is an XSTypeDefinition it must be an object obtained from Xerces and must also be an object which is known to the schema validator, for example one which would be returned from an XMLGrammarPool. If these constraints are not met a ClassCastException may be thrown or processing of substitution groups, xsi:type and wildcards may fail to locate otherwise available schema components.  
See:  http://apache.org/xml/properties/validation/schema/root-element-declaration 

http://apache.org/xml/properties/input-buffer-size
 
Desc:  The size of the input buffer in the readers. This determines how many bytes to read for each chunk.  
Type:  java.lang.Integer 
Access:  read-write 
Since:  Xerces-J 2.1.0 
Note:  Some tests indicate that a bigger buffer size can improve the parsing performance for relatively large files. The default buffer size in Xerces is 2K. This would give a good performance for small documents (less than 10K). For documents larger than 10K, specifying the buffer size to 4K or 8K will significantly improve the performance. But it's not recommended to set it to a value larger than 16K. For really tiny documents (1K, for example), you can also set it to a value less than 2K, to get the best performance.  
Note:  There are some conditions where the size of the parser's internal buffers may be increased beyond the size specified for the input buffer. This would happen in places where the text in the document cannot be split, for instance if the document contains a name which is longer than the input buffer.  

http://apache.org/xml/properties/locale
 
Desc:  The locale to use for reporting errors and warnings. When the value of this property is null the platform default returned from java.util.Locale.getDefault() will be used.  
Type:  java.util.Locale 
Access:  read-write 
Since:  Xerces-J 2.10.0 
Note:  If no messages are available for the specified locale the platform default will be used. If the platform default is not English and no messages are available for this locale then messages will be reported in English.  

http://apache.org/xml/properties/security-manager
 
Desc:  It is possible to create XML documents whose processing could result in the use of all system resources. This property enables Xerces to detect such documents, and abort their processing.  
Type:  org.apache.xerces.util.SecurityManager 
Access:  read-write 
Since:  Xerces-J 2.3.0 
Note:  The org.apache.xerces.util.SecurityManager class contains a number of methods that allow applications to tailor Xerces's tolerance of document constructs that could result in the heavy consumption of system resources (see the javadoc of this class for details). Default values that should be appropriate for many environments are provided when the class is instantiated. Xerces will not behave in a strictly spec-compliant way when this property is set. By default, this property is not set; Xerces's behaviour is therefore strictly spec-compliant by default.  


DOM Properties
 
http://apache.org/xml/properties/dom/current-element-node
 
Desc:  The current DOM element node while parsing. 
Type:  org.w3c.dom.Element 
Access:  read-only 
Note:  This property is useful for determining the location with a DOM document when an error occurs.  

http://apache.org/xml/properties/dom/document-class-name
 
Desc:  The fully qualified name of the class implementing the org.w3c.dom.Document interface. The implementation used must have a zero argument constructor.  
Type:  java.lang.String 
Default:  "org.apache.xerces.dom.DocumentImpl" 
Access:  read-write 
Note:  When the document class name is set to a value other than the name of the default document factory, the deferred node expansion feature does not work.  


SAX Properties
 
http://xml.org/sax/properties/declaration-handler
 
Desc:  Set the handler for DTD declarations. 
Type:  org.xml.sax.ext.DeclHandler 
Access:  read-write 

http://xml.org/sax/properties/lexical-handler
 
Desc:  Set the handler for lexical parsing events. 
Type:  org.xml.sax.ext.LexicalHandler 
Access:  read-write 

http://xml.org/sax/properties/dom-node
 
Desc:  The DOM node currently being visited, if SAX is being used as a DOM iterator. If the parser recognizes and supports this property but is not currently visiting a DOM node, it should return null.  
Type:  org.w3c.dom.Node 
Access:  (parsing) read-only; (not parsing) read-write;  
Note:  This property is only for SAX parser implementations used as DOM tree walkers. Currently, Xerces does not have this functionality.  

http://xml.org/sax/properties/document-xml-version
 
Desc:  A literal string describing the actual XML version of the document, such as "1.0" or "1.1".  
Type:  java.lang.String 
Access:  read-only 
Since:  Xerces-J 2.7.0 
Note:  This property may only be examined during a parse after the startDocument callback has been completed.  



Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.