public final class XmlBeans extends Object
Modifier and Type | Field and Description |
---|---|
static SchemaType |
NO_TYPE
The SchemaType object given to an XmlObject instance when
no type can be determined.
|
Modifier and Type | Method and Description |
---|---|
static void |
clearThreadLocals() |
static String |
compilePath(String pathExpr)
Compiles an XPath, returning a String equal to that which was passed,
but whose identity is that of one which has been precompiled and cached.
|
static String |
compilePath(String pathExpr,
XmlOptions options)
Compiles an XPath, returning a String equal to that which was passed,
but whose identity is that of one which has been precompiled and cached;
takes an option for specifying text that indicates the name of context node.
|
static String |
compileQuery(String queryExpr)
Compiles an XQuery, returning a String equal to that which was passed,
but whose identity is that of one which has been precompiled and cached.
|
static String |
compileQuery(String queryExpr,
XmlOptions options)
Compiles an XQuery, returning a String equal to that which was passed,
but whose identity is that of one which has been precompiled and cached;
takes an option for specifying text that indicates the context node.
|
static SchemaTypeSystem |
compileXmlBeans(String name,
SchemaTypeSystem system,
XmlObject[] schemas,
BindingConfig config,
SchemaTypeLoader typepath,
Filer filer,
XmlOptions options)
Returns the SchemaTypeSystem that results from augumenting the
SchemaTypeSystem passed in by incrementally adding the given XML
schema definitions.
|
static SchemaTypeSystem |
compileXsd(SchemaTypeSystem system,
XmlObject[] schemas,
SchemaTypeLoader typepath,
XmlOptions options)
Returns the SchemaTypeSystem that results from augumenting the
SchemaTypeSystem passed in by incrementally adding the given XML
schema definitions.
|
static SchemaTypeSystem |
compileXsd(XmlObject[] schemas,
SchemaTypeLoader typepath,
XmlOptions options)
Returns the SchemaTypeSystem that results from compiling the XML
schema definitions passed.
|
static SchemaTypeSystem |
getBuiltinTypeSystem()
Returns the builtin type system.
|
static SchemaTypeLoader |
getContextTypeLoader()
Gets the SchemaTypeLoader based on the current thread's context
ClassLoader.
|
static QName |
getQName(String localPart)
Obtains a name from the thread local QNameCache
|
static QName |
getQName(String namespaceUri,
String localPart)
Obtains a name from the thread local QNameCache
|
static QNameCache |
getQNameCache()
Returns a thread local QNameCache
|
static String |
getTitle()
Returns the XmlBeans Package title, "org.apache.xmlbeans",
the value of
XmlBeans.class.getPackage().getImplementationTitle() . |
static String |
getVendor()
Returns the XmlBeans vendor, "Apache Software Foundation",
the value of
XmlBeans.class.getPackage().getImplementationVendor() . |
static String |
getVersion()
Returns the XmlBeans version,
the value of
XmlBeans.class.getPackage().getImplementationVersion() . |
static SchemaTypeLoader |
loadXsd(XmlObject[] schemas)
Returns the SchemaTypeSystem that results from compiling the XML
schema definitions passed.
|
static SchemaTypeLoader |
loadXsd(XmlObject[] schemas,
XmlOptions options)
Returns the SchemaTypeSystem that results from compiling the XML
schema definitions passed in schemas.
|
static XmlCursor |
nodeToCursor(Node n)
Creates an XmlCursor for a DOM node which is implemented by XmlBwans
|
static XmlObject |
nodeToXmlObject(Node n)
Creates an XmlObject for a DOM node which is implemented by XmlBwans
|
static XMLStreamReader |
nodeToXmlStreamReader(Node n)
Creates an XmlObject for a DOM node which is implemented by XmlBwans
|
static ResourceLoader |
resourceLoaderForPath(File[] path)
Returns a new ResourceLoader for a search path where each component of
the path is either a directory or a compiled xmlbeans jar.
|
static Node |
streamToNode(XMLStreamReader xs)
Returns the XmlObject for a DOM node which is implemented by XmlBwans
|
static SchemaType |
typeForClass(Class c)
Returns the SchemaType from a corresponding XmlObject subclass,
or null if none.
|
static SchemaTypeLoader |
typeLoaderForClassLoader(ClassLoader loader)
Returns a SchemaTypeLoader that searches for compiled schema types
in the given ClassLoader.
|
static SchemaTypeLoader |
typeLoaderForResource(ResourceLoader resourceLoader)
Returns a SchemaTypeLoader that searches for compiled schema types
in the given ResourceLoader.
|
static SchemaTypeLoader |
typeLoaderUnion(SchemaTypeLoader... typeLoaders)
Returns the union of a list of typeLoaders.
|
static SchemaTypeSystem |
typeSystemForClassLoader(ClassLoader loader,
String stsName)
Returns the SchemaTypeSystem of the given name (as returned by
SchemaTypeSystem.getName() ) for the given ClassLoader. |
public static final SchemaType NO_TYPE
The NO_TYPE is the universal derived type. That is, it is derived from all other schema types, and no instances of the NO_TYPE are valid. (It is not to be confused with the anyType, which is the universal base type from which all other types can be derived, and of which all instances are valid.)
public static final String getTitle()
XmlBeans.class.getPackage().getImplementationTitle()
.public static final String getVendor()
XmlBeans.class.getPackage().getImplementationVendor()
.public static final String getVersion()
XmlBeans.class.getPackage().getImplementationVersion()
.public static void clearThreadLocals()
public static QNameCache getQNameCache()
public static QName getQName(String localPart)
public static QName getQName(String namespaceUri, String localPart)
public static String compilePath(String pathExpr) throws XmlException
XmlException
public static String compilePath(String pathExpr, XmlOptions options) throws XmlException
options
- Options for the path. For example, you can call
the XmlOptions.setXqueryCurrentNodeVar(String)
method to specify a particular name for the expression
variable that indicates the context node.XmlException
public static String compileQuery(String queryExpr) throws XmlException
XmlException
public static String compileQuery(String queryExpr, XmlOptions options) throws XmlException
options
- Options for the query. For example, you can call
the XmlOptions.setXqueryCurrentNodeVar(String)
method to specify a particular name for the expression
variable that indicates the context node and the
XmlOptions.setXqueryVariables(Map)
method to map external variable names to values.XmlException
public static SchemaTypeLoader getContextTypeLoader()
The "parse" methods of XmlBeans all delegate to the "parseInstance" methods of the context type loader.
public static SchemaTypeSystem getBuiltinTypeSystem()
public static XmlCursor nodeToCursor(Node n)
public static XmlObject nodeToXmlObject(Node n)
public static XMLStreamReader nodeToXmlStreamReader(Node n)
public static Node streamToNode(XMLStreamReader xs)
public static SchemaTypeLoader loadXsd(XmlObject[] schemas) throws XmlException
Just like compileXsd, but uses the context type loader for linking, and returns a unioned typeloader that is suitable for creating instances.
XmlException
public static SchemaTypeLoader loadXsd(XmlObject[] schemas, XmlOptions options) throws XmlException
Returns the SchemaTypeSystem that results from compiling the XML schema definitions passed in schemas.
This is just like compileXsd, but uses the context type loader for linking, and returns a unioned typeloader that is suitable for creating instances.
Use the options parameter to specify one or both of the following:
XmlOptions.setErrorListener(java.util.Collection<org.apache.xmlbeans.XmlError>)
.XmlOptions.setCompileNoValidation()
.schemas
- The schema definitions from which to build the schema type system.options
- Options specifying an error listener and/or validation behavior.XmlException
public static SchemaTypeSystem compileXsd(XmlObject[] schemas, SchemaTypeLoader typepath, XmlOptions options) throws XmlException
Returns the SchemaTypeSystem that results from compiling the XML schema definitions passed.
The XmlObjects passed in should be w3c <schema> elements whose type is org.w3c.x2001.xmlSchema.Schema. (That is, schema elements in the XML namespace http://www.w3c.org/2001/XMLSchema.) Also org.w3c.x2001.xmlSchema.SchemaDocument is permitted.
The optional second argument is a SchemaTypeLoader which will be consulted for already-compiled schema types which may be linked while processing the given schemas.
The SchemaTypeSystem that is returned should be combined
(via typeLoaderUnion(org.apache.xmlbeans.SchemaTypeLoader...)
) with the typepath typeloader in order
to create a typeloader that can be used for creating and validating
instances.
Use the options parameter to specify the following:
XmlOptions.setErrorListener(java.util.Collection<org.apache.xmlbeans.XmlError>)
.XmlOptions.setCompileNoValidation()
.schemas
- The schema definitions from which to build the schema type system.typepath
- The path to already-compiled schema types for linking while processing.options
- Options specifying an error listener and/or validation behavior.XmlException
public static SchemaTypeSystem compileXsd(SchemaTypeSystem system, XmlObject[] schemas, SchemaTypeLoader typepath, XmlOptions options) throws XmlException
Returns the SchemaTypeSystem that results from augumenting the SchemaTypeSystem passed in by incrementally adding the given XML schema definitions.
These could be new definitions (if the Schema document is not recorded into
the existing SchemaTypeSystem), modifications to the already existing
definitions (if the Schema document is already recorded in the existing
SchemaTypeSystem), or deletions (if the Schema document is already recorded
in the existing SchemaTypeSystem and the new definitions are empty).
The identity of documents is established using
XmlDocumentProperties.getSourceName()
, so if the caller choses to
construct the Schema definitions using other methods than parsing an
XML document, they should make sure that the names returned by that
method are consistent with the caller's intent (add/modify).
The XmlObjects passed in should be w3c <schema> elements whose type is org.w3c.x2001.xmlSchema.Schema. (That is, schema elements in the XML namespace http://www.w3c.org/2001/XMLSchema.) Also org.w3c.x2001.xmlSchema.SchemaDocument is permitted.
The optional second argument is a SchemaTypeLoader which will be consulted for already-compiled schema types which may be linked while processing the given schemas.
The SchemaTypeSystem that is returned should be combined
(via typeLoaderUnion(org.apache.xmlbeans.SchemaTypeLoader...)
) with the typepath typeloader in order
to create a typeloader that can be used for creating and validating
instances.
Use the options parameter to specify the following:
XmlOptions.setErrorListener(java.util.Collection<org.apache.xmlbeans.XmlError>)
.XmlOptions.setCompileNoValidation()
.schemas
- The schema definitions from which to build the schema type system.typepath
- The path to already-compiled schema types for linking while processing.options
- Options specifying an error listener and/or validation behavior.XmlException
public static SchemaTypeSystem compileXmlBeans(String name, SchemaTypeSystem system, XmlObject[] schemas, BindingConfig config, SchemaTypeLoader typepath, Filer filer, XmlOptions options) throws XmlException
Returns the SchemaTypeSystem that results from augumenting the SchemaTypeSystem passed in by incrementally adding the given XML schema definitions.
These could be new definitions (if the Schema document is not recorded into
the existing SchemaTypeSystem), modifications to the already existing
definitions (if the Schema document is already recorded in the existing
SchemaTypeSystem), or deletions (if the Schema document is already recorded
in the existing SchemaTypeSystem and the new definitions are empty).
The identity of documents is established using
XmlDocumentProperties.getSourceName()
, so if the caller choses to
construct the Schema definitions using other methods than parsing an
XML document, they should make sure that the names returned by that
method are consistent with the caller's intent (add/modify).
The XmlObjects passed in should be w3c <schema> elements whose type is org.w3c.x2001.xmlSchema.Schema. (That is, schema elements in the XML namespace http://www.w3c.org/2001/XMLSchema.) Also org.w3c.x2001.xmlSchema.SchemaDocument is permitted.
The optional name argument is used to name the compiled schema type system. A randomly generated name will be used if the name is null.
The optional BindingConfig
argument is used to control the shape
of the generated code. A BindingConfig
isn't used if Filer
is null.
The optional SchemaTypeLoader argument will be
consulted for already-compiled schema types which may be linked
while processing the given schemas. If not specified, the context
typeloader (as returned by getContextTypeLoader()
) will be used.
The optional Filer
argument is used to create new binary or source
files which are the product of the compilation. If the Filer is null, the
schema binaries (.xsb) files and source files won't be generated.
The SchemaTypeSystem that is returned should be combined
(via typeLoaderUnion(org.apache.xmlbeans.SchemaTypeLoader...)
) with the typepath typeloader in order
to create a typeloader that can be used for creating and validating
instances.
Use the options parameter to specify the following:
XmlOptions.setErrorListener(java.util.Collection<org.apache.xmlbeans.XmlError>)
.XmlOptions.setCompileNoValidation()
.name
- The type system name or null to use a randomly generated name.system
- A pre-existing SchemaTypeSystem used in incremental compilation.schemas
- The schema definitions from which to build the schema type system.config
- The configuration controls the code generation shape.typepath
- The path to already-compiled schema types for linking while processing.filer
- The Filer instance used to create binary binding files and source text files.options
- Options specifying an error listener and/or validation behavior.XmlException
public static SchemaTypeLoader typeLoaderUnion(SchemaTypeLoader... typeLoaders)
public static SchemaTypeLoader typeLoaderForClassLoader(ClassLoader loader)
public static SchemaTypeLoader typeLoaderForResource(ResourceLoader resourceLoader)
resourceLoaderForPath(File[])
public static SchemaTypeSystem typeSystemForClassLoader(ClassLoader loader, String stsName)
SchemaTypeSystem.getName()
) for the given ClassLoader.
Note: you will almost always need typeLoaderForClassLoader()
instead (see typeLoaderForClassLoader(java.lang.ClassLoader)
).
public static ResourceLoader resourceLoaderForPath(File[] path)
public static SchemaType typeForClass(Class c)