org.apache.xmlbeans
Class XmlOptions

java.lang.Object
  extended by org.apache.xmlbeans.XmlOptions
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
XmlOptionsBean

public class XmlOptions
extends Object
implements Serializable

Used to supply options for loading, saving, and compiling, and validating.

There are two styles for using XmlOptions: multiline setup, and single-line use. Here are two examples. First, multiline style:

 XmlOptions opts = new XmlOptions();
 opts.setSavePrettyPrint();
 opts.setSavePrettyPrintIndent(4);
 System.out.println(xobj.xmlText(opts));
 
The alternative is single-line usage:
 System.out.println(xobj.xmlText(
     new XmlOptions().setSavePrettyPrint().setSavePrettyPrintIndent(4)));
 
Table showing where each option gets used. Note that:
newInstance methods parse methods validate methods compile methods save and xmlTextmethods
setDocumentType
setDocumentSourceName
setValidateOnSet
setUnsynchronized
setLoad***
setEntityResolver
setErrorListener
setValidateTreatLaxAsSkip setValidateStrict
setErrorListener
setCompile***
setEntityResolver
setBaseURI
setGenerateJavaVersion
setSave***
setUseDefaultNamespace
setCharacterEncoding

See Also:
Serialized Form

Field Summary
static String BASE_URI
           
static String CHARACTER_ENCODING
           
static String COMPILE_DOWNLOAD_URLS
           
static String COMPILE_MDEF_NAMESPACES
           
static String COMPILE_NO_ANNOTATIONS
           
static String COMPILE_NO_PVR_RULE
           
static String COMPILE_NO_UPA_RULE
           
static String COMPILE_NO_VALIDATION
           
static String COMPILE_SUBSTITUTE_NAMES
           
static String COPY_USE_NEW_SYNC_DOMAIN
           
static String DOCUMENT_SOURCE_NAME
           
static String DOCUMENT_TYPE
           
static String ENTITY_RESOLVER
           
static String ERROR_LISTENER
           
static String GENERATE_JAVA_14
           
static String GENERATE_JAVA_15
           
static String GENERATE_JAVA_VERSION
           
static String LOAD_ADDITIONAL_NAMESPACES
           
static String LOAD_ENTITY_BYTES_LIMIT
           
static String LOAD_LINE_NUMBERS
           
static String LOAD_LINE_NUMBERS_END_ELEMENT
           
static String LOAD_MESSAGE_DIGEST
           
static String LOAD_REPLACE_DOCUMENT_ELEMENT
           
static String LOAD_SAVE_CDATA_BOOKMARKS
           
static String LOAD_STRIP_COMMENTS
           
static String LOAD_STRIP_PROCINSTS
           
static String LOAD_STRIP_WHITESPACE
           
static String LOAD_SUBSTITUTE_NAMESPACES
           
static String LOAD_TRIM_TEXT_BUFFER
           
static String LOAD_USE_DEFAULT_RESOLVER
           
static String LOAD_USE_XMLREADER
           
static String SAVE_AGGRESSIVE_NAMESPACES
           
static String SAVE_CDATA_ENTITY_COUNT_THRESHOLD
           
static String SAVE_CDATA_LENGTH_THRESHOLD
           
static String SAVE_FILTER_PROCINST
           
static String SAVE_IMPLICIT_NAMESPACES
           
static String SAVE_INNER
           
static String SAVE_NAMESPACES_FIRST
           
static String SAVE_NO_XML_DECL
           
static String SAVE_OPTIMIZE_FOR_SPEED
           
static String SAVE_OUTER
           
static String SAVE_PRETTY_PRINT
           
static String SAVE_PRETTY_PRINT_INDENT
           
static String SAVE_PRETTY_PRINT_OFFSET
           
static String SAVE_SAX_NO_NSDECLS_IN_ATTRIBUTES
           
static String SAVE_SUBSTITUTE_CHARACTERS
           
static String SAVE_SUGGESTED_PREFIXES
           
static String SAVE_SYNTHETIC_DOCUMENT_ELEMENT
           
static String SAVE_USE_DEFAULT_NAMESPACE
           
static String SAVE_USE_OPEN_FRAGMENT
           
static String SCHEMA_CODE_PRINTER
           
static String UNSYNCHRONIZED
           
static String VALIDATE_ON_SET
           
static String VALIDATE_STRICT
           
static String VALIDATE_TEXT_ONLY
           
static String VALIDATE_TREAT_LAX_AS_SKIP
           
static String XQUERY_CURRENT_NODE_VAR
           
static String XQUERY_VARIABLE_MAP
           
 
Constructor Summary
XmlOptions()
          Construct a new blank XmlOptions.
XmlOptions(XmlOptions other)
          Construct a new XmlOptions, copying the options.
 
Method Summary
 Object get(Object option)
          Used to get a generic option
 boolean hasOption(Object option)
          Used to test a generic option
static boolean hasOption(XmlOptions options, Object option)
           
static XmlOptions maskNull(XmlOptions o)
          If passed null, returns an empty options object.
 void put(Object option)
          Used to set a generic option
 void put(Object option, int value)
          Used to set a generic option
 void put(Object option, Object value)
          Used to set a generic option
 void remove(Object option)
           
static Object safeGet(XmlOptions o, Object option)
          Used to test a generic option on an options object that may be null
 XmlOptions setBaseURI(URI baseURI)
          If this option is set when compiling a schema, then the given URI will be considered as base URI when deciding the directory structure for saving the sources inside the generated JAR file.
 XmlOptions setCharacterEncoding(String encoding)
          When writing a document, this sets the character encoding to use.
 XmlOptions setCompileDownloadUrls()
          If this option is set, then the schema compiler will try to download schemas that appear in imports and includes from network based URLs.
 XmlOptions setCompileMdefNamespaces(Set mdefNamespaces)
          If this option is set, then the schema compiler will permit and ignore multiple definitions of the same component (element, attribute, type, etc) names in the given namespaces.
 XmlOptions setCompileNoAnnotations()
          if this option is set, the schema compiler will skip annotations when processing Schema components.
 XmlOptions setCompileNoPvrRule()
          If this option is set, the particle valid (restriciton) rule is not enforced when building a SchemaTypeSystem.
 XmlOptions setCompileNoUpaRule()
          If this option is set, the unique particle attribution rule is not enforced when building a SchemaTypeSystem.
 XmlOptions setCompileNoValidation()
          If this option is set, validation is not done on the Schema XmlBeans when building a SchemaTypeSystem
 XmlOptions setCompileSubstituteNames(Map nameMap)
          This option allows for QName substitution during schema compilation.
 XmlOptions setCopyUseNewSynchronizationDomain(boolean useNewSyncDomain)
          If this option is set to true, the return of XmlObject.copy() method will return an object in it's own synchronization domain, otherwise both objects will share the same synchronization domain, requiring explicit synchronization when concurent accessing the two objects.
 XmlOptions setDocumentSourceName(String documentSourceName)
          This option sets the document source name into the xml store when parsing a document.
 XmlOptions setDocumentType(SchemaType type)
          When parsing a document, this sets the type of the root element.
 XmlOptions setEntityResolver(EntityResolver resolver)
          If this option is set when compiling a schema, then the given EntityResolver will be consulted in order to resolve any URIs while downloading imported schemas.
 XmlOptions setErrorListener(Collection c)
          Sets a collection object for collecting XmlError objects during parsing, validation, and compilation.
 XmlOptions setGenerateJavaVersion(String source)
          If this option is set, then the schema compiler will print java code that is compatible with the desired Java version.
 XmlOptions setLoadAdditionalNamespaces(Map nses)
          Set additional namespace mappings to be added when parsing a document.
 XmlOptions setLoadEntityBytesLimit(int entityBytesLimit)
          Sets the maximum number of bytes allowed when an Entity is expanded during parsing.
 XmlOptions setLoadLineNumbers()
          If this option is set, line number annotations are placed in the store when parsing a document.
 XmlOptions setLoadLineNumbers(String option)
          If this option is set, line number annotations are placed in the store when parsing a document.
 XmlOptions setLoadMessageDigest()
          If this option is set when loading from an InputStream or File, then the loader will compute a 160-bit SHA-1 message digest of the XML file while loading it and make it available via XmlObject.documentProperties().getMessageDigest();
The schema compiler uses message digests to detect and eliminate duplicate imported xsd files.
 XmlOptions setLoadReplaceDocumentElement(QName replacement)
          If this option is set, the document element is replaced with the given QName when parsing.
 XmlOptions setLoadStripComments()
          If this option is set, all comments are stripped when parsing a document.
 XmlOptions setLoadStripProcinsts()
          If this option is set, all processing instructions are stripped when parsing a document.
 XmlOptions setLoadStripWhitespace()
          If this option is set, all insignificant whitespace is stripped when parsing a document.
 XmlOptions setLoadSubstituteNamespaces(Map substNamespaces)
          This option sets a map of namespace uri substitutions that happen when parsing a document.
 XmlOptions setLoadTrimTextBuffer()
          If this option is set, the underlying xml text buffer is trimmed immediately after parsing a document resulting in a smaller memory footprint.
 XmlOptions setLoadUseDefaultResolver()
          By default, XmlBeans does not resolve entities when parsing xml documents (unless an explicit entity resolver is specified).
 XmlOptions setLoadUseXMLReader(XMLReader xmlReader)
          By default, XmlBeans uses an internal Piccolo parser, other parsers can be used by providing an XMLReader.
 XmlOptions setSaveAggresiveNamespaces()
          Deprecated. replaced by setSaveAggressiveNamespaces()
 XmlOptions setSaveAggressiveNamespaces()
          Causes the saver to reduce the number of namespace prefix declarations.
 XmlOptions setSaveCDataEntityCountThreshold(int cdataEntityCountThreshold)
          This option controls when saving will use CDATA blocks.
 XmlOptions setSaveCDataLengthThreshold(int cdataLengthThreshold)
          This option controls when saving will use CDATA blocks.
 XmlOptions setSaveFilterProcinst(String filterProcinst)
          This option causes the saver to filter a Processing Instruction with the given target
 XmlOptions setSaveImplicitNamespaces(Map implicitNamespaces)
          If namespaces have already been declared outside the scope of the fragment being saved, this allows those mappings to be passed down to the saver, so the prefixes are not re-declared.
 XmlOptions setSaveInner()
          This option controls whether saving begins on the element or its contents
 XmlOptions setSaveNamespacesFirst()
          This option will cause the saver to save namespace attributes first.
 XmlOptions setSaveNoXmlDecl()
          This option controls whether saving saves out the XML declaration (
 XmlOptions setSaveOuter()
          This option controls whether saving begins on the element or its contents
 XmlOptions setSavePrettyPrint()
          This option will cause the saver to reformat white space for easier reading.
 XmlOptions setSavePrettyPrintIndent(int indent)
          When used with setSavePrettyPrint this sets the indent amount to use.
 XmlOptions setSavePrettyPrintOffset(int offset)
          When used with setSavePrettyPrint this sets the offset amount to use.
 XmlOptions setSaveSaxNoNSDeclsInAttributes()
          This option controls whether namespace declarations are included as attributes in the startElement event.
 XmlOptions setSaveSubstituteCharacters(XmlOptionCharEscapeMap characterReplacementMap)
          This option causes the saver to replace characters with other values in the output stream.
 XmlOptions setSaveSuggestedPrefixes(Map suggestedPrefixes)
          A map of hints to pass to the saver for which prefixes to use for which namespace URI.
 XmlOptions setSaveSyntheticDocumentElement(QName name)
          This option causes the saver to wrap the current fragment in an element with the given name.
 XmlOptions setSaveUseOpenFrag()
          When saving a fragment, this option changes the qname of the synthesized root element.
 XmlOptions setSchemaCodePrinter(SchemaCodePrinter printer)
          If this option is set when compiling a schema, then the given SchemaTypeCodePrinter.Printer will be used to generate the Java code.
 XmlOptions setUnsynchronized()
          This option controls whether or not operations on XmlBeans are thread safe.
 XmlOptions setUseCDataBookmarks()
          Use this option when parsing and saving XML documents.
 XmlOptions setUseDefaultNamespace()
          If this option is set, the saver will try to use the default namespace for the most commonly used URI.
 XmlOptions setValidateOnSet()
          If this option is set when an instance is created, then value facets will be checked on each call to a setter or getter method on instances of XmlObject within the instance document.
 XmlOptions setValidateStrict()
          Performs additional validation checks that are disabled by default for better compatibility.
 XmlOptions setValidateTreatLaxAsSkip()
          Instructs the validator to skip elements matching an particle with contentModel="lax".
 XmlOptions setXqueryCurrentNodeVar(String varName)
          Sets the name of the variable that represents the current node in a query expression.
 XmlOptions setXqueryVariables(Map varMap)
          Map the names and values of external variables in an xquery expression.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

GENERATE_JAVA_14

public static final String GENERATE_JAVA_14
See Also:
Constant Field Values

GENERATE_JAVA_15

public static final String GENERATE_JAVA_15
See Also:
Constant Field Values

SAVE_NAMESPACES_FIRST

public static final String SAVE_NAMESPACES_FIRST
See Also:
Constant Field Values

SAVE_SYNTHETIC_DOCUMENT_ELEMENT

public static final String SAVE_SYNTHETIC_DOCUMENT_ELEMENT
See Also:
Constant Field Values

SAVE_PRETTY_PRINT

public static final String SAVE_PRETTY_PRINT
See Also:
Constant Field Values

SAVE_PRETTY_PRINT_INDENT

public static final String SAVE_PRETTY_PRINT_INDENT
See Also:
Constant Field Values

SAVE_PRETTY_PRINT_OFFSET

public static final String SAVE_PRETTY_PRINT_OFFSET
See Also:
Constant Field Values

SAVE_AGGRESSIVE_NAMESPACES

public static final String SAVE_AGGRESSIVE_NAMESPACES
See Also:
Constant Field Values

SAVE_USE_DEFAULT_NAMESPACE

public static final String SAVE_USE_DEFAULT_NAMESPACE
See Also:
Constant Field Values

SAVE_IMPLICIT_NAMESPACES

public static final String SAVE_IMPLICIT_NAMESPACES
See Also:
Constant Field Values

SAVE_SUGGESTED_PREFIXES

public static final String SAVE_SUGGESTED_PREFIXES
See Also:
Constant Field Values

SAVE_FILTER_PROCINST

public static final String SAVE_FILTER_PROCINST
See Also:
Constant Field Values

SAVE_USE_OPEN_FRAGMENT

public static final String SAVE_USE_OPEN_FRAGMENT
See Also:
Constant Field Values

SAVE_OUTER

public static final String SAVE_OUTER
See Also:
Constant Field Values

SAVE_INNER

public static final String SAVE_INNER
See Also:
Constant Field Values

SAVE_NO_XML_DECL

public static final String SAVE_NO_XML_DECL
See Also:
Constant Field Values

SAVE_SUBSTITUTE_CHARACTERS

public static final String SAVE_SUBSTITUTE_CHARACTERS
See Also:
Constant Field Values

SAVE_OPTIMIZE_FOR_SPEED

public static final String SAVE_OPTIMIZE_FOR_SPEED
See Also:
Constant Field Values

SAVE_CDATA_LENGTH_THRESHOLD

public static final String SAVE_CDATA_LENGTH_THRESHOLD
See Also:
Constant Field Values

SAVE_CDATA_ENTITY_COUNT_THRESHOLD

public static final String SAVE_CDATA_ENTITY_COUNT_THRESHOLD
See Also:
Constant Field Values

SAVE_SAX_NO_NSDECLS_IN_ATTRIBUTES

public static final String SAVE_SAX_NO_NSDECLS_IN_ATTRIBUTES
See Also:
Constant Field Values

LOAD_REPLACE_DOCUMENT_ELEMENT

public static final String LOAD_REPLACE_DOCUMENT_ELEMENT
See Also:
Constant Field Values

LOAD_STRIP_WHITESPACE

public static final String LOAD_STRIP_WHITESPACE
See Also:
Constant Field Values

LOAD_STRIP_COMMENTS

public static final String LOAD_STRIP_COMMENTS
See Also:
Constant Field Values

LOAD_STRIP_PROCINSTS

public static final String LOAD_STRIP_PROCINSTS
See Also:
Constant Field Values

LOAD_LINE_NUMBERS

public static final String LOAD_LINE_NUMBERS
See Also:
Constant Field Values

LOAD_LINE_NUMBERS_END_ELEMENT

public static final String LOAD_LINE_NUMBERS_END_ELEMENT
See Also:
Constant Field Values

LOAD_SAVE_CDATA_BOOKMARKS

public static final String LOAD_SAVE_CDATA_BOOKMARKS
See Also:
Constant Field Values

LOAD_SUBSTITUTE_NAMESPACES

public static final String LOAD_SUBSTITUTE_NAMESPACES
See Also:
Constant Field Values

LOAD_TRIM_TEXT_BUFFER

public static final String LOAD_TRIM_TEXT_BUFFER
See Also:
Constant Field Values

LOAD_ADDITIONAL_NAMESPACES

public static final String LOAD_ADDITIONAL_NAMESPACES
See Also:
Constant Field Values

LOAD_MESSAGE_DIGEST

public static final String LOAD_MESSAGE_DIGEST
See Also:
Constant Field Values

LOAD_USE_DEFAULT_RESOLVER

public static final String LOAD_USE_DEFAULT_RESOLVER
See Also:
Constant Field Values

LOAD_USE_XMLREADER

public static final String LOAD_USE_XMLREADER
See Also:
Constant Field Values

XQUERY_CURRENT_NODE_VAR

public static final String XQUERY_CURRENT_NODE_VAR
See Also:
Constant Field Values

XQUERY_VARIABLE_MAP

public static final String XQUERY_VARIABLE_MAP
See Also:
Constant Field Values

CHARACTER_ENCODING

public static final String CHARACTER_ENCODING
See Also:
Constant Field Values

ERROR_LISTENER

public static final String ERROR_LISTENER
See Also:
Constant Field Values

DOCUMENT_TYPE

public static final String DOCUMENT_TYPE
See Also:
Constant Field Values

DOCUMENT_SOURCE_NAME

public static final String DOCUMENT_SOURCE_NAME
See Also:
Constant Field Values

COMPILE_SUBSTITUTE_NAMES

public static final String COMPILE_SUBSTITUTE_NAMES
See Also:
Constant Field Values

COMPILE_NO_VALIDATION

public static final String COMPILE_NO_VALIDATION
See Also:
Constant Field Values

COMPILE_NO_UPA_RULE

public static final String COMPILE_NO_UPA_RULE
See Also:
Constant Field Values

COMPILE_NO_PVR_RULE

public static final String COMPILE_NO_PVR_RULE
See Also:
Constant Field Values

COMPILE_NO_ANNOTATIONS

public static final String COMPILE_NO_ANNOTATIONS
See Also:
Constant Field Values

COMPILE_DOWNLOAD_URLS

public static final String COMPILE_DOWNLOAD_URLS
See Also:
Constant Field Values

COMPILE_MDEF_NAMESPACES

public static final String COMPILE_MDEF_NAMESPACES
See Also:
Constant Field Values

VALIDATE_ON_SET

public static final String VALIDATE_ON_SET
See Also:
Constant Field Values

VALIDATE_TREAT_LAX_AS_SKIP

public static final String VALIDATE_TREAT_LAX_AS_SKIP
See Also:
Constant Field Values

VALIDATE_STRICT

public static final String VALIDATE_STRICT
See Also:
Constant Field Values

VALIDATE_TEXT_ONLY

public static final String VALIDATE_TEXT_ONLY
See Also:
Constant Field Values

UNSYNCHRONIZED

public static final String UNSYNCHRONIZED
See Also:
Constant Field Values

ENTITY_RESOLVER

public static final String ENTITY_RESOLVER
See Also:
Constant Field Values

BASE_URI

public static final String BASE_URI
See Also:
Constant Field Values

SCHEMA_CODE_PRINTER

public static final String SCHEMA_CODE_PRINTER
See Also:
Constant Field Values

GENERATE_JAVA_VERSION

public static final String GENERATE_JAVA_VERSION
See Also:
Constant Field Values

COPY_USE_NEW_SYNC_DOMAIN

public static final String COPY_USE_NEW_SYNC_DOMAIN
See Also:
Constant Field Values

LOAD_ENTITY_BYTES_LIMIT

public static final String LOAD_ENTITY_BYTES_LIMIT
See Also:
Constant Field Values
Constructor Detail

XmlOptions

public XmlOptions()
Construct a new blank XmlOptions.


XmlOptions

public XmlOptions(XmlOptions other)
Construct a new XmlOptions, copying the options.

Method Detail

setSaveNamespacesFirst

public XmlOptions setSaveNamespacesFirst()
This option will cause the saver to save namespace attributes first.

See Also:
XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setSavePrettyPrint

public XmlOptions setSavePrettyPrint()
This option will cause the saver to reformat white space for easier reading.

See Also:
XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setSavePrettyPrintIndent

public XmlOptions setSavePrettyPrintIndent(int indent)
When used with setSavePrettyPrint this sets the indent amount to use.

Parameters:
indent - the indent amount to use
See Also:
setSavePrettyPrint(), XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setSavePrettyPrintOffset

public XmlOptions setSavePrettyPrintOffset(int offset)
When used with setSavePrettyPrint this sets the offset amount to use.

Parameters:
offset - the offset amount to use
See Also:
setSavePrettyPrint(), XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setCharacterEncoding

public XmlOptions setCharacterEncoding(String encoding)
When writing a document, this sets the character encoding to use.

Parameters:
encoding - the character encoding
See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions), XmlTokenSource.save(java.io.File, XmlOptions)

setDocumentType

public XmlOptions setDocumentType(SchemaType type)
When parsing a document, this sets the type of the root element. If this is set, the parser will not try to guess the type based on the document's QName.

Parameters:
type - The root element's document type.
See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions)

setErrorListener

public XmlOptions setErrorListener(Collection c)

Sets a collection object for collecting XmlError objects during parsing, validation, and compilation. When set, the collection will contain all the errors after the operation takes place. Notice that the errors will only have line numbers if the document was loaded with line numbers enabled.

The following simple example illustrates using an error listener during validation.

 // Create an XmlOptions instance and set the error listener.
 XmlOptions validateOptions = new XmlOptions();
 ArrayList errorList = new ArrayList();
 validateOptions.setErrorListener(errorList);
 
 // Validate the XML.
 boolean isValid = newEmp.validate(validateOptions);
 
 // If the XML isn't valid, loop through the listener's contents,
 // printing contained messages.
 if (!isValid)
 {
      for (int i = 0; i < errorList.size(); i++)
      {
          XmlError error = (XmlError)errorList.get(i);
          
          System.out.println("\n");
          System.out.println("Message: " + error.getMessage() + "\n");
          System.out.println("Location of invalid XML: " + 
              error.getCursorLocation().xmlText() + "\n");
      }
 }
 

Parameters:
c - A collection that will be filled with XmlError objects via Collection.add(java.lang.Object)
See Also:
XmlError, XmlObject.Factory.parse(java.io.File, XmlOptions), XmlObject.validate(XmlOptions), XmlBeans.compileXsd(org.apache.xmlbeans.XmlObject[], org.apache.xmlbeans.SchemaTypeLoader, org.apache.xmlbeans.XmlOptions), setLoadLineNumbers()

setSaveAggressiveNamespaces

public XmlOptions setSaveAggressiveNamespaces()
Causes the saver to reduce the number of namespace prefix declarations. The saver will do this by passing over the document twice, first to collect the set of needed namespace declarations, and then second to actually save the document with the declarations collected at the root.

See Also:
XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setSaveAggresiveNamespaces

public XmlOptions setSaveAggresiveNamespaces()
Deprecated. replaced by setSaveAggressiveNamespaces()


setSaveSyntheticDocumentElement

public XmlOptions setSaveSyntheticDocumentElement(QName name)
This option causes the saver to wrap the current fragment in an element with the given name.

Parameters:
name - the name to use for the top level element
See Also:
XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setUseDefaultNamespace

public XmlOptions setUseDefaultNamespace()
If this option is set, the saver will try to use the default namespace for the most commonly used URI. If it is not set the saver will always created named prefixes.

See Also:
XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setSaveImplicitNamespaces

public XmlOptions setSaveImplicitNamespaces(Map implicitNamespaces)
If namespaces have already been declared outside the scope of the fragment being saved, this allows those mappings to be passed down to the saver, so the prefixes are not re-declared.

Parameters:
implicitNamespaces - a map of prefixes to uris that can be used by the saver without being declared
See Also:
XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setSaveSuggestedPrefixes

public XmlOptions setSaveSuggestedPrefixes(Map suggestedPrefixes)
A map of hints to pass to the saver for which prefixes to use for which namespace URI.

Parameters:
suggestedPrefixes - a map from URIs to prefixes
See Also:
XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setSaveFilterProcinst

public XmlOptions setSaveFilterProcinst(String filterProcinst)
This option causes the saver to filter a Processing Instruction with the given target

Parameters:
filterProcinst - the name of a Processing Instruction to filter on save
See Also:
XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setSaveSubstituteCharacters

public XmlOptions setSaveSubstituteCharacters(XmlOptionCharEscapeMap characterReplacementMap)
This option causes the saver to replace characters with other values in the output stream. It is intended to be used for escaping non-standard characters during output.

Parameters:
characterReplacementMap - is an XmlOptionCharEscapeMap containing the characters to be escaped.
See Also:
XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions), XmlOptionCharEscapeMap

setSaveUseOpenFrag

public XmlOptions setSaveUseOpenFrag()
When saving a fragment, this option changes the qname of the synthesized root element. Normally <xml-fragment> is used.

See Also:
XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setSaveOuter

public XmlOptions setSaveOuter()
This option controls whether saving begins on the element or its contents

See Also:
XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setSaveInner

public XmlOptions setSaveInner()
This option controls whether saving begins on the element or its contents

See Also:
XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setSaveNoXmlDecl

public XmlOptions setSaveNoXmlDecl()
This option controls whether saving saves out the XML declaration (

See Also:
XmlTokenSource.save(java.io.File, XmlOptions), XmlTokenSource.xmlText(XmlOptions)

setSaveCDataLengthThreshold

public XmlOptions setSaveCDataLengthThreshold(int cdataLengthThreshold)
This option controls when saving will use CDATA blocks. CDATA will be used if the folowing condition is true:
textLength > cdataLengthThreshold && entityCount > cdataEntityCountThreshold
The default value of cdataLengthThreshold is 32.

Use the folowing values for these cases:
Scenario cdataLengthThreshold cdataEntityCountThreshold
Every text is CDATA 0 -1
Only text that has an entity is CDATA 0 0
Only text longer than x chars is CDATA x -1
Only text that has y entitazable chars is CDATA 0 y
Only text longer than x chars and has y entitazable chars is CDATA x y

See Also:
setSaveCDataEntityCountThreshold(int)

setSaveCDataEntityCountThreshold

public XmlOptions setSaveCDataEntityCountThreshold(int cdataEntityCountThreshold)
This option controls when saving will use CDATA blocks. CDATA will be used if the folowing condition is true:
textLength > cdataLengthThreshold && entityCount > cdataEntityCountThreshold
The default value of cdataEntityCountThreshold is 5.

See Also:
setSaveCDataLengthThreshold(int)

setUseCDataBookmarks

public XmlOptions setUseCDataBookmarks()

Use this option when parsing and saving XML documents.

For parsing this option will annotate the text fields in the store with CDataBookmark.

For saving this option will save the text fields annotated with CDataBookmark as CDATA XML text.
Note: The SaveCDataEntityCountThreshold and SaveCDataLengthThreshold options and their default values still apply.

Note: Due to the store representation, a CDATA will not be recognized if it is imediately after non CDATA text and all text following it will be considered CDATA.
Example:

 <a><![CDATA[cdata text]]></a>               - is considered as: <a><![CDATA[cdata text]]></a>
 <b><![CDATA[cdata text]]> regular text</b>  - is considered as: <b><![CDATA[cdata text regular text]]></b>
 <c>text <![CDATA[cdata text]]></c>          - is considered as: <c>text cdata text</c>
 

Sample code:

        String xmlText = "<a>\n" +
                "<a><![CDATA[cdata text]]></a>\n" +
                "<b><![CDATA[cdata text]]> regular text</b>\n" +
                "<c>text <![CDATA[cdata text]]></c>\n" +
                "</a>";
        System.out.println(xmlText);

        XmlOptions opts = new XmlOptions();
        opts.setUseCDataBookmarks();

        XmlObject xo = XmlObject.Factory.parse( xmlText , opts);

        System.out.println("xo1:\n" + xo.xmlText(opts));
        System.out.println("\n");

        opts.setSavePrettyPrint();
        System.out.println("xo2:\n" + xo.xmlText(opts));
 

See Also:
CDataBookmark, CDataBookmark.CDATA_BOOKMARK

setSaveSaxNoNSDeclsInAttributes

public XmlOptions setSaveSaxNoNSDeclsInAttributes()
This option controls whether namespace declarations are included as attributes in the startElement event. By default, up to and including XMLBeans 2.3.0 they were included, in subsequent versions, they are no longer included.


setLoadReplaceDocumentElement

public XmlOptions setLoadReplaceDocumentElement(QName replacement)
If this option is set, the document element is replaced with the given QName when parsing. If null is supplied, the document element is removed.

See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions)

setLoadStripWhitespace

public XmlOptions setLoadStripWhitespace()
If this option is set, all insignificant whitespace is stripped when parsing a document. Can be used to save memory on large documents when you know there is no mixed content.

See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions)

setLoadStripComments

public XmlOptions setLoadStripComments()
If this option is set, all comments are stripped when parsing a document.

See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions)

setLoadStripProcinsts

public XmlOptions setLoadStripProcinsts()
If this option is set, all processing instructions are stripped when parsing a document.

See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions)

setLoadLineNumbers

public XmlOptions setLoadLineNumbers()
If this option is set, line number annotations are placed in the store when parsing a document. This is particularly useful when you want XmlError objects to contain line numbers.
Note: This adds line numbers info only for start tags. For line number info on end tags use: setLoadLineNumbers(java.lang.String)
Example: xmlOptions.setLoadLineNumbers(XmlOptions.LOAD_LINE_NUMBERS_END_ELEMENT)

See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions), XmlError

setLoadLineNumbers

public XmlOptions setLoadLineNumbers(String option)
If this option is set, line number annotations are placed in the store when parsing a document. This is particularly useful when you want XmlError objects to contain line numbers. Use the option to load line numbers at the end of an element.
Example: xmlOptions.setLoadLineNumbers(XmlOptions.LOAD_LINE_NUMBERS_END_ELEMENT)

See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions), XmlError

setLoadSubstituteNamespaces

public XmlOptions setLoadSubstituteNamespaces(Map substNamespaces)
This option sets a map of namespace uri substitutions that happen when parsing a document.

This is particularly useful if you have documents that use no namespace, but you wish to avoid the name collision problems that occur when you introduce schema definitions without a target namespace.

By mapping the empty string "" (the absence of a URI) to a specific namespace, you can force the parser to behave as if a no-namespace document were actually in the specified namespace. This allows you to type the instance according to a schema in a nonempty namespace, and therefore avoid the problematic practice of using schema definitions without a target namespace.

Parameters:
substNamespaces - a map of document URIs to replacement URIs
See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions)

setLoadTrimTextBuffer

public XmlOptions setLoadTrimTextBuffer()
If this option is set, the underlying xml text buffer is trimmed immediately after parsing a document resulting in a smaller memory footprint. Use this option if you are loading a large number of unchanging documents that will stay in memory for some time.

See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions)

setLoadAdditionalNamespaces

public XmlOptions setLoadAdditionalNamespaces(Map nses)
Set additional namespace mappings to be added when parsing a document.

Parameters:
nses - additional namespace mappings
See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions)

setLoadMessageDigest

public XmlOptions setLoadMessageDigest()
If this option is set when loading from an InputStream or File, then the loader will compute a 160-bit SHA-1 message digest of the XML file while loading it and make it available via XmlObject.documentProperties().getMessageDigest();
The schema compiler uses message digests to detect and eliminate duplicate imported xsd files.

See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions)

setLoadUseDefaultResolver

public XmlOptions setLoadUseDefaultResolver()
By default, XmlBeans does not resolve entities when parsing xml documents (unless an explicit entity resolver is specified). Use this option to turn on entity resolving by default.

See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions)

setLoadUseXMLReader

public XmlOptions setLoadUseXMLReader(XMLReader xmlReader)
By default, XmlBeans uses an internal Piccolo parser, other parsers can be used by providing an XMLReader. For using the default JDK's SAX parser use: xmlOptions.setLoadUseXMLReader( SAXParserFactory.newInstance().newSAXParser().getXMLReader() );

See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions)

setXqueryCurrentNodeVar

public XmlOptions setXqueryCurrentNodeVar(String varName)
Sets the name of the variable that represents the current node in a query expression.

Parameters:
varName - The new variable name to use for the query.
See Also:
XmlObject.execQuery(java.lang.String), XmlCursor.execQuery(java.lang.String)

setXqueryVariables

public XmlOptions setXqueryVariables(Map varMap)
Map the names and values of external variables in an xquery expression. The keys of the map are the variable names in the query without the '$' prefix. The values of the map are objects and can be any of the primitive wrapper classes, String, XmlObject, or XmlCursor. The mapping only applies to xquery and has no effect on xpath expressions.

Parameters:
varMap - a map from Strings to variable instances.
See Also:
XmlObject.execQuery(java.lang.String), XmlCursor.execQuery(java.lang.String)

setDocumentSourceName

public XmlOptions setDocumentSourceName(String documentSourceName)
This option sets the document source name into the xml store when parsing a document. If a document is parsed from a File or URI, it is automatically set to the URI of the source; otherwise, for example, when parsing a String, you can use this option to specify the source name yourself.

See Also:
XmlObject.Factory.parse(java.lang.String, XmlOptions)

setCompileSubstituteNames

public XmlOptions setCompileSubstituteNames(Map nameMap)
This option allows for QName substitution during schema compilation.

Parameters:
nameMap - a map from QNames to substitute QNames.
See Also:
XmlBeans.compileXsd(org.apache.xmlbeans.XmlObject[], org.apache.xmlbeans.SchemaTypeLoader, org.apache.xmlbeans.XmlOptions)

setCompileNoValidation

public XmlOptions setCompileNoValidation()
If this option is set, validation is not done on the Schema XmlBeans when building a SchemaTypeSystem

See Also:
XmlBeans.compileXsd(org.apache.xmlbeans.XmlObject[], org.apache.xmlbeans.SchemaTypeLoader, org.apache.xmlbeans.XmlOptions)

setCompileNoUpaRule

public XmlOptions setCompileNoUpaRule()
If this option is set, the unique particle attribution rule is not enforced when building a SchemaTypeSystem. See Appendix H of the XML Schema specification for information on the UPA rule.

See Also:
XmlBeans.compileXsd(org.apache.xmlbeans.XmlObject[], org.apache.xmlbeans.SchemaTypeLoader, org.apache.xmlbeans.XmlOptions)

setCompileNoPvrRule

public XmlOptions setCompileNoPvrRule()
If this option is set, the particle valid (restriciton) rule is not enforced when building a SchemaTypeSystem. See Section 3.9.6 of the XML Schema specification for information on the PVR rule.

See Also:
XmlBeans.compileXsd(org.apache.xmlbeans.XmlObject[], org.apache.xmlbeans.SchemaTypeLoader, org.apache.xmlbeans.XmlOptions)

setCompileNoAnnotations

public XmlOptions setCompileNoAnnotations()
if this option is set, the schema compiler will skip annotations when processing Schema components.

See Also:
XmlBeans.compileXsd(org.apache.xmlbeans.XmlObject[], org.apache.xmlbeans.SchemaTypeLoader, org.apache.xmlbeans.XmlOptions)

setCompileDownloadUrls

public XmlOptions setCompileDownloadUrls()
If this option is set, then the schema compiler will try to download schemas that appear in imports and includes from network based URLs.

See Also:
XmlBeans.compileXsd(org.apache.xmlbeans.XmlObject[], org.apache.xmlbeans.SchemaTypeLoader, org.apache.xmlbeans.XmlOptions)

setCompileMdefNamespaces

public XmlOptions setCompileMdefNamespaces(Set mdefNamespaces)
If this option is set, then the schema compiler will permit and ignore multiple definitions of the same component (element, attribute, type, etc) names in the given namespaces. If multiple definitions with the same name appear, the definitions that happen to be processed last will be ignored.

Parameters:
mdefNamespaces - a set of namespace URIs as Strings
See Also:
XmlBeans.compileXsd(org.apache.xmlbeans.XmlObject[], org.apache.xmlbeans.SchemaTypeLoader, org.apache.xmlbeans.XmlOptions)

setValidateOnSet

public XmlOptions setValidateOnSet()
If this option is set when an instance is created, then value facets will be checked on each call to a setter or getter method on instances of XmlObject within the instance document. If the facets are not satisfied, then an unchecked exception is thrown immediately. This option is useful for finding code that is introducing invalid values in an XML document, but it slows performance.

See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions)

setValidateTreatLaxAsSkip

public XmlOptions setValidateTreatLaxAsSkip()
Instructs the validator to skip elements matching an particle with contentModel="lax". This is useful because, in certain situations, XmlBeans will find types on the classpath that the document author did not anticipate.


setValidateStrict

public XmlOptions setValidateStrict()
Performs additional validation checks that are disabled by default for better compatibility.


setUnsynchronized

public XmlOptions setUnsynchronized()
This option controls whether or not operations on XmlBeans are thread safe. When not on, all XmlBean operations will be syncronized. This provides for multiple thread the ability to access a single XmlBeans simultainously, but has a perf impact. If set, then only one thread may access an XmlBean.


setEntityResolver

public XmlOptions setEntityResolver(EntityResolver resolver)
If this option is set when compiling a schema, then the given EntityResolver will be consulted in order to resolve any URIs while downloading imported schemas. EntityResolvers are currently only used by compileXsd; they are not consulted by other functions, for example, parse. This will likely change in the future.

See Also:
XmlBeans.compileXsd(org.apache.xmlbeans.XmlObject[], org.apache.xmlbeans.SchemaTypeLoader, org.apache.xmlbeans.XmlOptions)

setBaseURI

public XmlOptions setBaseURI(URI baseURI)
If this option is set when compiling a schema, then the given URI will be considered as base URI when deciding the directory structure for saving the sources inside the generated JAR file.

Parameters:
baseURI - the URI to be considered as "base"
See Also:
XmlBeans.compileXsd(org.apache.xmlbeans.XmlObject[], org.apache.xmlbeans.SchemaTypeLoader, org.apache.xmlbeans.XmlOptions)

setSchemaCodePrinter

public XmlOptions setSchemaCodePrinter(SchemaCodePrinter printer)
If this option is set when compiling a schema, then the given SchemaTypeCodePrinter.Printer will be used to generate the Java code.

See Also:
XmlBeans.compileXsd(org.apache.xmlbeans.XmlObject[], org.apache.xmlbeans.SchemaTypeLoader, org.apache.xmlbeans.XmlOptions)

setGenerateJavaVersion

public XmlOptions setGenerateJavaVersion(String source)
If this option is set, then the schema compiler will print java code that is compatible with the desired Java version. If not set, the current Java version is used. Currently, only "1.4" and "1.5" are supported.

Parameters:
source - A Java version number
See Also:
GENERATE_JAVA_14, GENERATE_JAVA_15, XmlBeans.compileXmlBeans(java.lang.String, org.apache.xmlbeans.SchemaTypeSystem, org.apache.xmlbeans.XmlObject[], org.apache.xmlbeans.BindingConfig, org.apache.xmlbeans.SchemaTypeLoader, org.apache.xmlbeans.Filer, org.apache.xmlbeans.XmlOptions)

setCopyUseNewSynchronizationDomain

public XmlOptions setCopyUseNewSynchronizationDomain(boolean useNewSyncDomain)
If this option is set to true, the return of XmlObject.copy() method will return an object in it's own synchronization domain, otherwise both objects will share the same synchronization domain, requiring explicit synchronization when concurent accessing the two objects.

Parameters:
useNewSyncDomain - A flag representing the usage of new domain
See Also:
XmlObject.copy()

setLoadEntityBytesLimit

public XmlOptions setLoadEntityBytesLimit(int entityBytesLimit)
Sets the maximum number of bytes allowed when an Entity is expanded during parsing. The default value is 10240 bytes.

Parameters:
entityBytesLimit -
Returns:

maskNull

public static XmlOptions maskNull(XmlOptions o)
If passed null, returns an empty options object. Otherwise, returns its argument.


put

public void put(Object option)
Used to set a generic option


put

public void put(Object option,
                Object value)
Used to set a generic option


put

public void put(Object option,
                int value)
Used to set a generic option


hasOption

public boolean hasOption(Object option)
Used to test a generic option


hasOption

public static boolean hasOption(XmlOptions options,
                                Object option)

get

public Object get(Object option)
Used to get a generic option


remove

public void remove(Object option)

safeGet

public static Object safeGet(XmlOptions o,
                             Object option)
Used to test a generic option on an options object that may be null