Class XmlOptions
- java.lang.Object
-
- org.apache.xmlbeans.XmlOptions
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
XmlOptionsBean
public class XmlOptions extends java.lang.Object implements java.io.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:- options available for
newInstance
methods will also apply forparse
methods - options used for
validate
methods are also used forcompile
methods, since compilation usually implies validation against Schema for Schemas
newInstance
methodsparse
methodsvalidate
methodscompile
methodssave
andxmlText
methodssetDocumentType
setDocumentSourceName
setValidateOnSet
setUnsynchronized
setLoad***
setEntityResolver
setErrorListener
setValidateTreatLaxAsSkip
setValidateStrict
setErrorListener
setCompile***
setEntityResolver
setBaseURI
setGenerateJavaVersion
setSave***
setUseDefaultNamespace
setCharacterEncoding
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
BASE_URI
static java.lang.String
CHARACTER_ENCODING
static java.lang.String
COMPILE_DOWNLOAD_URLS
static java.lang.String
COMPILE_MDEF_NAMESPACES
static java.lang.String
COMPILE_NO_ANNOTATIONS
static java.lang.String
COMPILE_NO_PVR_RULE
static java.lang.String
COMPILE_NO_UPA_RULE
static java.lang.String
COMPILE_NO_VALIDATION
static java.lang.String
COMPILE_SUBSTITUTE_NAMES
static java.lang.String
COPY_USE_NEW_SYNC_DOMAIN
static int
DEFAULT_ENTITY_EXPANSION_LIMIT
static java.lang.String
DOCUMENT_SOURCE_NAME
static java.lang.String
DOCUMENT_TYPE
static java.lang.String
ENTITY_EXPANSION_LIMIT
static java.lang.String
ENTITY_RESOLVER
static java.lang.String
ERROR_LISTENER
static java.lang.String
GENERATE_JAVA_14
static java.lang.String
GENERATE_JAVA_15
static java.lang.String
GENERATE_JAVA_VERSION
static java.lang.String
LOAD_ADDITIONAL_NAMESPACES
static java.lang.String
LOAD_DTD_GRAMMAR
static java.lang.String
LOAD_ENTITY_BYTES_LIMIT
static java.lang.String
LOAD_EXTERNAL_DTD
static java.lang.String
LOAD_LINE_NUMBERS
static java.lang.String
LOAD_LINE_NUMBERS_END_ELEMENT
static java.lang.String
LOAD_MESSAGE_DIGEST
static java.lang.String
LOAD_REPLACE_DOCUMENT_ELEMENT
static java.lang.String
LOAD_SAVE_CDATA_BOOKMARKS
static java.lang.String
LOAD_STRIP_COMMENTS
static java.lang.String
LOAD_STRIP_PROCINSTS
static java.lang.String
LOAD_STRIP_WHITESPACE
static java.lang.String
LOAD_SUBSTITUTE_NAMESPACES
static java.lang.String
LOAD_TRIM_TEXT_BUFFER
static java.lang.String
LOAD_USE_DEFAULT_RESOLVER
static java.lang.String
LOAD_USE_XMLREADER
static java.lang.String
SAVE_AGGRESSIVE_NAMESPACES
static java.lang.String
SAVE_CDATA_ENTITY_COUNT_THRESHOLD
static java.lang.String
SAVE_CDATA_LENGTH_THRESHOLD
static java.lang.String
SAVE_FILTER_PROCINST
static java.lang.String
SAVE_IMPLICIT_NAMESPACES
static java.lang.String
SAVE_INNER
static java.lang.String
SAVE_NAMESPACES_FIRST
static java.lang.String
SAVE_NO_XML_DECL
static java.lang.String
SAVE_OPTIMIZE_FOR_SPEED
static java.lang.String
SAVE_OUTER
static java.lang.String
SAVE_PRETTY_PRINT
static java.lang.String
SAVE_PRETTY_PRINT_INDENT
static java.lang.String
SAVE_PRETTY_PRINT_OFFSET
static java.lang.String
SAVE_SAX_NO_NSDECLS_IN_ATTRIBUTES
static java.lang.String
SAVE_SUBSTITUTE_CHARACTERS
static java.lang.String
SAVE_SUGGESTED_PREFIXES
static java.lang.String
SAVE_SYNTHETIC_DOCUMENT_ELEMENT
static java.lang.String
SAVE_USE_DEFAULT_NAMESPACE
static java.lang.String
SAVE_USE_OPEN_FRAGMENT
static java.lang.String
SCHEMA_CODE_PRINTER
static java.lang.String
UNSYNCHRONIZED
static java.lang.String
VALIDATE_ON_SET
static java.lang.String
VALIDATE_STRICT
static java.lang.String
VALIDATE_TEXT_ONLY
static java.lang.String
VALIDATE_TREAT_LAX_AS_SKIP
static java.lang.String
XQUERY_CURRENT_NODE_VAR
static java.lang.String
XQUERY_VARIABLE_MAP
-
Constructor Summary
Constructors Constructor Description XmlOptions()
Construct a new blank XmlOptions.XmlOptions(XmlOptions other)
Construct a new XmlOptions, copying the options.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.lang.Object
get(java.lang.Object option)
Used to get a generic optionboolean
hasOption(java.lang.Object option)
Used to test a generic optionstatic boolean
hasOption(XmlOptions options, java.lang.Object option)
static XmlOptions
maskNull(XmlOptions o)
If passed null, returns an empty options object.void
put(java.lang.Object option)
Used to set a generic optionvoid
put(java.lang.Object option, int value)
Used to set a generic optionvoid
put(java.lang.Object option, java.lang.Object value)
Used to set a generic optionvoid
remove(java.lang.Object option)
static java.lang.Object
safeGet(XmlOptions o, java.lang.Object option)
Used to test a generic option on an options object that may be nullXmlOptions
setBaseURI(java.net.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(java.lang.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(java.util.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 aSchemaTypeSystem
.XmlOptions
setCompileNoUpaRule()
If this option is set, the unique particle attribution rule is not enforced when building aSchemaTypeSystem
.XmlOptions
setCompileNoValidation()
If this option is set, validation is not done on the Schema XmlBeans when building aSchemaTypeSystem
XmlOptions
setCompileSubstituteNames(java.util.Map nameMap)
This option allows forQName
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(java.lang.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
setEntityExpansionLimit(int entityExpansionLimit)
Sets the maximum number of entity expansions allowed during parsing.XmlOptions
setEntityResolver(org.xml.sax.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(java.util.Collection c)
Sets a collection object for collectingXmlError
objects during parsing, validation, and compilation.XmlOptions
setGenerateJavaVersion(java.lang.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(java.util.Map nses)
Set additional namespace mappings to be added when parsing a document.XmlOptions
setLoadDTDGrammar(boolean loadDTDGrammar)
Controls whether DTD grammar is loaded during parsing.XmlOptions
setLoadEntityBytesLimit(int entityBytesLimit)
Sets the maximum number of bytes allowed when an Entity is expanded during parsing.XmlOptions
setLoadExternalDTD(boolean loadExternalDTD)
Controls whether external DTDs are loaded during parsing.XmlOptions
setLoadLineNumbers()
If this option is set, line number annotations are placed in the store when parsing a document.XmlOptions
setLoadLineNumbers(java.lang.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(javax.xml.namespace.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(java.util.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(org.xml.sax.XMLReader xmlReader)
By default, XmlBeans creates a JAXP parser, other parsers can be used by providing an XMLReader.XmlOptions
setSaveAggresiveNamespaces()
Deprecated.replaced bysetSaveAggressiveNamespaces()
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(java.lang.String filterProcinst)
This option causes the saver to filter a Processing Instruction with the given targetXmlOptions
setSaveImplicitNamespaces(java.util.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 contentsXmlOptions
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 contentsXmlOptions
setSavePrettyPrint()
This option will cause the saver to reformat white space for easier reading.XmlOptions
setSavePrettyPrintIndent(int indent)
When used withsetSavePrettyPrint
this sets the indent amount to use.XmlOptions
setSavePrettyPrintOffset(int offset)
When used withsetSavePrettyPrint
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(java.util.Map suggestedPrefixes)
A map of hints to pass to the saver for which prefixes to use for which namespace URI.XmlOptions
setSaveSyntheticDocumentElement(javax.xml.namespace.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 anparticle with contentModel="lax". XmlOptions
setXqueryCurrentNodeVar(java.lang.String varName)
Sets the name of the variable that represents the current node in a query expression.XmlOptions
setXqueryVariables(java.util.Map varMap)
Map the names and values of external variables in an xquery expression.
-
-
-
Field Detail
-
GENERATE_JAVA_14
public static final java.lang.String GENERATE_JAVA_14
- See Also:
- Constant Field Values
-
GENERATE_JAVA_15
public static final java.lang.String GENERATE_JAVA_15
- See Also:
- Constant Field Values
-
SAVE_NAMESPACES_FIRST
public static final java.lang.String SAVE_NAMESPACES_FIRST
- See Also:
- Constant Field Values
-
SAVE_SYNTHETIC_DOCUMENT_ELEMENT
public static final java.lang.String SAVE_SYNTHETIC_DOCUMENT_ELEMENT
- See Also:
- Constant Field Values
-
SAVE_PRETTY_PRINT
public static final java.lang.String SAVE_PRETTY_PRINT
- See Also:
- Constant Field Values
-
SAVE_PRETTY_PRINT_INDENT
public static final java.lang.String SAVE_PRETTY_PRINT_INDENT
- See Also:
- Constant Field Values
-
SAVE_PRETTY_PRINT_OFFSET
public static final java.lang.String SAVE_PRETTY_PRINT_OFFSET
- See Also:
- Constant Field Values
-
SAVE_AGGRESSIVE_NAMESPACES
public static final java.lang.String SAVE_AGGRESSIVE_NAMESPACES
- See Also:
- Constant Field Values
-
SAVE_USE_DEFAULT_NAMESPACE
public static final java.lang.String SAVE_USE_DEFAULT_NAMESPACE
- See Also:
- Constant Field Values
-
SAVE_IMPLICIT_NAMESPACES
public static final java.lang.String SAVE_IMPLICIT_NAMESPACES
- See Also:
- Constant Field Values
-
SAVE_SUGGESTED_PREFIXES
public static final java.lang.String SAVE_SUGGESTED_PREFIXES
- See Also:
- Constant Field Values
-
SAVE_FILTER_PROCINST
public static final java.lang.String SAVE_FILTER_PROCINST
- See Also:
- Constant Field Values
-
SAVE_USE_OPEN_FRAGMENT
public static final java.lang.String SAVE_USE_OPEN_FRAGMENT
- See Also:
- Constant Field Values
-
SAVE_OUTER
public static final java.lang.String SAVE_OUTER
- See Also:
- Constant Field Values
-
SAVE_INNER
public static final java.lang.String SAVE_INNER
- See Also:
- Constant Field Values
-
SAVE_NO_XML_DECL
public static final java.lang.String SAVE_NO_XML_DECL
- See Also:
- Constant Field Values
-
SAVE_SUBSTITUTE_CHARACTERS
public static final java.lang.String SAVE_SUBSTITUTE_CHARACTERS
- See Also:
- Constant Field Values
-
SAVE_OPTIMIZE_FOR_SPEED
public static final java.lang.String SAVE_OPTIMIZE_FOR_SPEED
- See Also:
- Constant Field Values
-
SAVE_CDATA_LENGTH_THRESHOLD
public static final java.lang.String SAVE_CDATA_LENGTH_THRESHOLD
- See Also:
- Constant Field Values
-
SAVE_CDATA_ENTITY_COUNT_THRESHOLD
public static final java.lang.String SAVE_CDATA_ENTITY_COUNT_THRESHOLD
- See Also:
- Constant Field Values
-
SAVE_SAX_NO_NSDECLS_IN_ATTRIBUTES
public static final java.lang.String SAVE_SAX_NO_NSDECLS_IN_ATTRIBUTES
- See Also:
- Constant Field Values
-
LOAD_REPLACE_DOCUMENT_ELEMENT
public static final java.lang.String LOAD_REPLACE_DOCUMENT_ELEMENT
- See Also:
- Constant Field Values
-
LOAD_STRIP_WHITESPACE
public static final java.lang.String LOAD_STRIP_WHITESPACE
- See Also:
- Constant Field Values
-
LOAD_STRIP_COMMENTS
public static final java.lang.String LOAD_STRIP_COMMENTS
- See Also:
- Constant Field Values
-
LOAD_STRIP_PROCINSTS
public static final java.lang.String LOAD_STRIP_PROCINSTS
- See Also:
- Constant Field Values
-
LOAD_LINE_NUMBERS
public static final java.lang.String LOAD_LINE_NUMBERS
- See Also:
- Constant Field Values
-
LOAD_LINE_NUMBERS_END_ELEMENT
public static final java.lang.String LOAD_LINE_NUMBERS_END_ELEMENT
- See Also:
- Constant Field Values
-
LOAD_SAVE_CDATA_BOOKMARKS
public static final java.lang.String LOAD_SAVE_CDATA_BOOKMARKS
- See Also:
- Constant Field Values
-
LOAD_SUBSTITUTE_NAMESPACES
public static final java.lang.String LOAD_SUBSTITUTE_NAMESPACES
- See Also:
- Constant Field Values
-
LOAD_TRIM_TEXT_BUFFER
public static final java.lang.String LOAD_TRIM_TEXT_BUFFER
- See Also:
- Constant Field Values
-
LOAD_ADDITIONAL_NAMESPACES
public static final java.lang.String LOAD_ADDITIONAL_NAMESPACES
- See Also:
- Constant Field Values
-
LOAD_MESSAGE_DIGEST
public static final java.lang.String LOAD_MESSAGE_DIGEST
- See Also:
- Constant Field Values
-
LOAD_USE_DEFAULT_RESOLVER
public static final java.lang.String LOAD_USE_DEFAULT_RESOLVER
- See Also:
- Constant Field Values
-
LOAD_USE_XMLREADER
public static final java.lang.String LOAD_USE_XMLREADER
- See Also:
- Constant Field Values
-
XQUERY_CURRENT_NODE_VAR
public static final java.lang.String XQUERY_CURRENT_NODE_VAR
- See Also:
- Constant Field Values
-
XQUERY_VARIABLE_MAP
public static final java.lang.String XQUERY_VARIABLE_MAP
- See Also:
- Constant Field Values
-
CHARACTER_ENCODING
public static final java.lang.String CHARACTER_ENCODING
- See Also:
- Constant Field Values
-
ERROR_LISTENER
public static final java.lang.String ERROR_LISTENER
- See Also:
- Constant Field Values
-
DOCUMENT_TYPE
public static final java.lang.String DOCUMENT_TYPE
- See Also:
- Constant Field Values
-
DOCUMENT_SOURCE_NAME
public static final java.lang.String DOCUMENT_SOURCE_NAME
- See Also:
- Constant Field Values
-
COMPILE_SUBSTITUTE_NAMES
public static final java.lang.String COMPILE_SUBSTITUTE_NAMES
- See Also:
- Constant Field Values
-
COMPILE_NO_VALIDATION
public static final java.lang.String COMPILE_NO_VALIDATION
- See Also:
- Constant Field Values
-
COMPILE_NO_UPA_RULE
public static final java.lang.String COMPILE_NO_UPA_RULE
- See Also:
- Constant Field Values
-
COMPILE_NO_PVR_RULE
public static final java.lang.String COMPILE_NO_PVR_RULE
- See Also:
- Constant Field Values
-
COMPILE_NO_ANNOTATIONS
public static final java.lang.String COMPILE_NO_ANNOTATIONS
- See Also:
- Constant Field Values
-
COMPILE_DOWNLOAD_URLS
public static final java.lang.String COMPILE_DOWNLOAD_URLS
- See Also:
- Constant Field Values
-
COMPILE_MDEF_NAMESPACES
public static final java.lang.String COMPILE_MDEF_NAMESPACES
- See Also:
- Constant Field Values
-
VALIDATE_ON_SET
public static final java.lang.String VALIDATE_ON_SET
- See Also:
- Constant Field Values
-
VALIDATE_TREAT_LAX_AS_SKIP
public static final java.lang.String VALIDATE_TREAT_LAX_AS_SKIP
- See Also:
- Constant Field Values
-
VALIDATE_STRICT
public static final java.lang.String VALIDATE_STRICT
- See Also:
- Constant Field Values
-
VALIDATE_TEXT_ONLY
public static final java.lang.String VALIDATE_TEXT_ONLY
- See Also:
- Constant Field Values
-
UNSYNCHRONIZED
public static final java.lang.String UNSYNCHRONIZED
- See Also:
- Constant Field Values
-
ENTITY_RESOLVER
public static final java.lang.String ENTITY_RESOLVER
- See Also:
- Constant Field Values
-
BASE_URI
public static final java.lang.String BASE_URI
- See Also:
- Constant Field Values
-
SCHEMA_CODE_PRINTER
public static final java.lang.String SCHEMA_CODE_PRINTER
- See Also:
- Constant Field Values
-
GENERATE_JAVA_VERSION
public static final java.lang.String GENERATE_JAVA_VERSION
- See Also:
- Constant Field Values
-
COPY_USE_NEW_SYNC_DOMAIN
public static final java.lang.String COPY_USE_NEW_SYNC_DOMAIN
- See Also:
- Constant Field Values
-
LOAD_ENTITY_BYTES_LIMIT
public static final java.lang.String LOAD_ENTITY_BYTES_LIMIT
- See Also:
- Constant Field Values
-
ENTITY_EXPANSION_LIMIT
public static final java.lang.String ENTITY_EXPANSION_LIMIT
- See Also:
- Constant Field Values
-
LOAD_DTD_GRAMMAR
public static final java.lang.String LOAD_DTD_GRAMMAR
- See Also:
- Constant Field Values
-
LOAD_EXTERNAL_DTD
public static final java.lang.String LOAD_EXTERNAL_DTD
- See Also:
- Constant Field Values
-
DEFAULT_ENTITY_EXPANSION_LIMIT
public static final int DEFAULT_ENTITY_EXPANSION_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.
-
setSavePrettyPrint
public XmlOptions setSavePrettyPrint()
This option will cause the saver to reformat white space for easier reading.
-
setSavePrettyPrintIndent
public XmlOptions setSavePrettyPrintIndent(int indent)
When used withsetSavePrettyPrint
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 withsetSavePrettyPrint
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(java.lang.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'sQName
.- Parameters:
type
- The root element's document type.- See Also:
XmlObject.Factory.parse(java.io.File, XmlOptions)
-
setErrorListener
public XmlOptions setErrorListener(java.util.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 withXmlError
objects viaCollection.add(E)
- 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.
-
setSaveAggresiveNamespaces
public XmlOptions setSaveAggresiveNamespaces()
Deprecated.replaced bysetSaveAggressiveNamespaces()
-
setSaveSyntheticDocumentElement
public XmlOptions setSaveSyntheticDocumentElement(javax.xml.namespace.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.
-
setSaveImplicitNamespaces
public XmlOptions setSaveImplicitNamespaces(java.util.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(java.util.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(java.lang.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.
-
setSaveOuter
public XmlOptions setSaveOuter()
This option controls whether saving begins on the element or its contents
-
setSaveInner
public XmlOptions setSaveInner()
This option controls whether saving begins on the element or its contents
-
setSaveNoXmlDecl
public XmlOptions setSaveNoXmlDecl()
This option controls whether saving saves out the XML declaration (
-
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(javax.xml.namespace.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.
-
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.
-
setLoadStripComments
public XmlOptions setLoadStripComments()
If this option is set, all comments are stripped when parsing a document.
-
setLoadStripProcinsts
public XmlOptions setLoadStripProcinsts()
If this option is set, all processing instructions are stripped when parsing a document.
-
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 wantXmlError
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)
-
setLoadLineNumbers
public XmlOptions setLoadLineNumbers(java.lang.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 wantXmlError
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)
-
setLoadSubstituteNamespaces
public XmlOptions setLoadSubstituteNamespaces(java.util.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.
-
setLoadAdditionalNamespaces
public XmlOptions setLoadAdditionalNamespaces(java.util.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.
-
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.
-
setLoadUseXMLReader
public XmlOptions setLoadUseXMLReader(org.xml.sax.XMLReader xmlReader)
By default, XmlBeans creates a JAXP 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() );
-
setXqueryCurrentNodeVar
public XmlOptions setXqueryCurrentNodeVar(java.lang.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(java.util.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(java.lang.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.
-
setCompileSubstituteNames
public XmlOptions setCompileSubstituteNames(java.util.Map nameMap)
This option allows forQName
substitution during schema compilation.- Parameters:
nameMap
- a map fromQName
s to substituteQName
s.- 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 aSchemaTypeSystem
-
setCompileNoUpaRule
public XmlOptions setCompileNoUpaRule()
If this option is set, the unique particle attribution rule is not enforced when building aSchemaTypeSystem
. See Appendix H of the XML Schema specification for information on the UPA rule.
-
setCompileNoPvrRule
public XmlOptions setCompileNoPvrRule()
If this option is set, the particle valid (restriciton) rule is not enforced when building aSchemaTypeSystem
. See Section 3.9.6 of the XML Schema specification for information on the PVR rule.
-
setCompileNoAnnotations
public XmlOptions setCompileNoAnnotations()
if this option is set, the schema compiler will skip annotations when processing Schema components.
-
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.
-
setCompileMdefNamespaces
public XmlOptions setCompileMdefNamespaces(java.util.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.
-
setValidateTreatLaxAsSkip
public XmlOptions setValidateTreatLaxAsSkip()
Instructs the validator to skip elements matching anparticle 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(org.xml.sax.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.
-
setBaseURI
public XmlOptions setBaseURI(java.net.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.
-
setGenerateJavaVersion
public XmlOptions setGenerateJavaVersion(java.lang.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:
-
setEntityExpansionLimit
public XmlOptions setEntityExpansionLimit(int entityExpansionLimit)
Sets the maximum number of entity expansions allowed during parsing. The default value is 2048.- Parameters:
entityExpansionLimit
-- Returns:
- this
-
setLoadDTDGrammar
public XmlOptions setLoadDTDGrammar(boolean loadDTDGrammar)
Controls whether DTD grammar is loaded during parsing. The default value is false.- Parameters:
loadDTDGrammar
-- Returns:
- this
-
setLoadExternalDTD
public XmlOptions setLoadExternalDTD(boolean loadExternalDTD)
Controls whether external DTDs are loaded during parsing. The default value is false.- Parameters:
loadExternalDTD
-- Returns:
- this
-
maskNull
public static XmlOptions maskNull(XmlOptions o)
If passed null, returns an empty options object. Otherwise, returns its argument.
-
put
public void put(java.lang.Object option)
Used to set a generic option
-
put
public void put(java.lang.Object option, java.lang.Object value)
Used to set a generic option
-
put
public void put(java.lang.Object option, int value)
Used to set a generic option
-
hasOption
public boolean hasOption(java.lang.Object option)
Used to test a generic option
-
hasOption
public static boolean hasOption(XmlOptions options, java.lang.Object option)
-
get
public java.lang.Object get(java.lang.Object option)
Used to get a generic option
-
remove
public void remove(java.lang.Object option)
-
safeGet
public static java.lang.Object safeGet(XmlOptions o, java.lang.Object option)
Used to test a generic option on an options object that may be null
-
-