public interface XQDataFactory
The items and sequences created are immutable. The close
method can
be called to close the item or sequence and release all resources associated
with this item or sequence.
Modifier and Type | Method and Description |
---|---|
XQItemType |
createAtomicType(int basetype)
Creates a new
XQItemType object representing an XQuery atomic type. |
XQItemType |
createAtomicType(int basetype,
javax.xml.namespace.QName typename,
java.net.URI schemaURI)
Creates a new
XQItemType object representing an XQuery atomic type. |
XQItemType |
createAttributeType(javax.xml.namespace.QName nodename,
int basetype)
Creates a new
XQItemType object representing the XQuery
attribute(nodename, basetype) type
with the given node name and base type. |
XQItemType |
createAttributeType(javax.xml.namespace.QName nodename,
int basetype,
javax.xml.namespace.QName typename,
java.net.URI schemaURI)
Creates a new
XQItemType object representing the XQuery
attribute(nodename,basetype,typename,schemaURI) type,
with the given node name, base type, schema type name and schema URI. |
XQItemType |
createCommentType()
Creates a new
XQItemType object representing the XQuery
comment() type. |
XQItemType |
createDocumentElementType(XQItemType elementType)
Creates a new
XQItemType object representing the XQuery
document-node(elementType) type containing a single element. |
XQItemType |
createDocumentSchemaElementType(XQItemType elementType)
Creates a new
XQItemType object representing the XQuery
document-node(elementType) type containing a single
schema-element(...) . |
XQItemType |
createDocumentType()
Creates a new
XQItemType object representing the XQuery
document-node() type. |
XQItemType |
createElementType(javax.xml.namespace.QName nodename,
int basetype)
Creates a new
XQItemType object representing the XQuery
element(nodename, basetype) type, with the
given node name and base type. |
XQItemType |
createElementType(javax.xml.namespace.QName nodename,
int basetype,
javax.xml.namespace.QName typename,
java.net.URI schemaURI,
boolean allowNill)
Creates a new
XQItemType object representing the XQuery
element(nodename,basetype,typename,schemaURI,
allowNill) type, given the node name, base type, schema type
name, schema URI, and nilled check. |
XQItem |
createItem(XQItem item)
Creates a copy of the specified
XQItem . |
XQItem |
createItemFromAtomicValue(java.lang.String value,
XQItemType type)
Creates an item from a given value.
|
XQItem |
createItemFromBoolean(boolean value,
XQItemType type)
Creates an item from a given value.
|
XQItem |
createItemFromByte(byte value,
XQItemType type)
Creates an item from a given value.
|
XQItem |
createItemFromDocument(java.io.InputStream value,
java.lang.String baseURI,
XQItemType type)
Creates an item from the given value.
|
XQItem |
createItemFromDocument(java.io.Reader value,
java.lang.String baseURI,
XQItemType type)
Creates an item from the given value.
|
XQItem |
createItemFromDocument(javax.xml.transform.Source value,
XQItemType type)
Creates an item from the given
Source . |
XQItem |
createItemFromDocument(java.lang.String value,
java.lang.String baseURI,
XQItemType type)
Creates an item from the given value.
|
XQItem |
createItemFromDocument(javax.xml.stream.XMLStreamReader value,
XQItemType type)
Creates an item from the given value.
|
XQItem |
createItemFromDouble(double value,
XQItemType type)
Creates an item from a given value.
|
XQItem |
createItemFromFloat(float value,
XQItemType type)
Creates an item from a given value.
|
XQItem |
createItemFromInt(int value,
XQItemType type)
Creates an item from a given value.
|
XQItem |
createItemFromLong(long value,
XQItemType type)
Creates an item from a given value.
|
XQItem |
createItemFromNode(org.w3c.dom.Node value,
XQItemType type)
Creates an item from a given value.
|
XQItem |
createItemFromObject(java.lang.Object value,
XQItemType type)
Creates an item from a given value.
|
XQItem |
createItemFromShort(short value,
XQItemType type)
Creates an item from a given value.
|
XQItem |
createItemFromString(java.lang.String value,
XQItemType type)
Creates an item from a given value.
|
XQItemType |
createItemType()
Creates a new
XQItemType object representing the XQuery item type. |
XQItemType |
createNodeType()
Creates a new
XQItemType object representing the XQuery node()
type. |
XQItemType |
createProcessingInstructionType(java.lang.String piTarget)
Creates a new
XQItemType object representing the XQuery
processing-instruction(piTarget) type. |
XQItemType |
createSchemaAttributeType(javax.xml.namespace.QName nodename,
int basetype,
java.net.URI schemaURI)
Creates a new
XQItemType object representing the XQuery
schema-attribute(nodename,basetype,schemaURI) type,
with the given node name, base type, and schema URI. |
XQItemType |
createSchemaElementType(javax.xml.namespace.QName nodename,
int basetype,
java.net.URI schemaURI)
Creates a new
XQItemType object representing the XQuery
schema-element(nodename,basetype,schemaURI)
type, given the node name, base type, and the schema URI. |
XQSequence |
createSequence(java.util.Iterator i)
Creates an
XQSequence , containing all the items from the
iterator. |
XQSequence |
createSequence(XQSequence s)
Creates a copy of the specified
XQSequence . |
XQSequenceType |
createSequenceType(XQItemType item,
int occurence)
Creates a new sequence type from an item type and occurence indicator.
|
XQItemType |
createTextType()
Creates a new
XQItemType object representing the XQuery
text() type. |
XQItem createItemFromAtomicValue(java.lang.String value, XQItemType type) throws XQException
xs:string
rules outlined in
17.1.1 Casting from xs:string and xs:untypedAtomic, XQuery 1.0 and
XPath 2.0 Functions and Operators. If the cast fails
an XQException
is thrown.value
- the lexical string value of the typetype
- the item typeXQItem
representing the resulting itemXQException
- if (1) any of the arguments are null
,
(2) given type is not an atomic type,
(3) the conversion of the value to an XDM
instance failed, or (4) the underlying object
implementing the interface is closedXQItem createItemFromString(java.lang.String value, XQItemType type) throws XQException
xs:string
or a type derived by restriction from
xs:string
. If the specified type is null
, it
defaults to xs:string
.XQException
will be thrown.value
- the value to be converted, cannot be
null
type
- the type of the value to be bound to the
external variable. The default type,
xs:string
, is used in case
null
is specifiedXQItem
representing the resulting
itemXQException
- if (1) the value
argument is
null
, (2) the conversion of the
value to an XDM instance failed, or (3) the
underlying object implementing the interface
is closedXQItem createItemFromDocument(java.lang.String value, java.lang.String baseURI, XQItemType type) throws XQException
null
,
XQITEMKIND_DOCUMENT_ELEMENT
, or
XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
.
value
- the value to be converted, cannot be
null
baseURI
- an optional base URI, can be null
. It can
be used, for example, to resolve relative URIs and to
include in error messages.type
- the type of the value for the created
document node. If null
is specified,
it behaves as if
XQDataFactory.createDocumentElementType(
XQDataFactory.createElementType(null,
XQItemType.XQBASETYPE_XS_UNTYPED))
were passed in
as the type parameter. That is, the type represents the
XQuery sequence type document-node(element(*, xs:untyped))
XQItem
representing the resulting
itemXQException
- if (1) the value argument is null
,
(2) the conversion of the value to an XDM instance
failed, or (3) the underlying object
implementing the interface is closedXQItem createItemFromDocument(java.io.Reader value, java.lang.String baseURI, XQItemType type) throws XQException
null
,
XQITEMKIND_DOCUMENT_ELEMENT
, or
XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
.
value
- the value to be converted, cannot be
null
baseURI
- an optional base URI, can be null
. It can
be used, for example, to resolve relative URIs and to
include in error messages.type
- the type of the value for the created
document node. If null
is specified,
it behaves as if
XQDataFactory.createDocumentElementType(
XQDataFactory.createElementType(null,
XQItemType.XQBASETYPE_XS_UNTYPED))
were passed in
as the type parameter. That is, the type represents the
XQuery sequence type document-node(element(*, xs:untyped))
XQItem
representing the resulting
itemXQException
- if (1) the value argument is null
,
(2) the conversion of the value to an XDM instance
failed, or (3) the underlying object
implementing the interface is closedXQItem createItemFromDocument(java.io.InputStream value, java.lang.String baseURI, XQItemType type) throws XQException
null
,
XQITEMKIND_DOCUMENT_ELEMENT
, or
XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
.
value
- the value to be converted, cannot be
null
baseURI
- an optional base URI, can be null
. It can
be used, for example, to resolve relative URIs and to
include in error messages.type
- the type of the value for the created
document node. If null
is specified,
it behaves as if
XQDataFactory.createDocumentElementType(
XQDataFactory.createElementType(null,
XQItemType.XQBASETYPE_XS_UNTYPED))
were passed in
as the type parameter. That is, the type represents the
XQuery sequence type document-node(element(*, xs:untyped))
XQItem
representing the resulting
itemXQException
- if (1) the value argument is null
,
(2) the conversion of the value to an XDM instance
failed, or (3) the underlying object
implementing the interface is closedXQItem createItemFromDocument(javax.xml.stream.XMLStreamReader value, XQItemType type) throws XQException
null
,
XQITEMKIND_DOCUMENT_ELEMENT
or XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
.
value
- the value to be converted, cannot be null
type
- the type of the value for the created
document node. If null
is specified,
it behaves as if
XQDataFactory.createDocumentElementType(
XQDataFactory.createElementType(null,
XQItemType.XQBASETYPE_XS_UNTYPED))
were passed in
as the type parameter. That is, the type represents the
XQuery sequence type document-node(element(*, xs:untyped))
XQItem
representing the resulting
itemXQException
- if (1) the value argument is null
, (2)
the conversion of the value to an XDM instance failed,
or (3) the underlying object implementing the interface
is closedXQItem createItemFromDocument(javax.xml.transform.Source value, XQItemType type) throws XQException
Source
. An XQJ
implementation must at least support the following implementations:
javax.xml.transform.dom.DOMSource
javax.xml.transform.sax.SAXSource
javax.xml.transform.stream.StreamSource
null
,
XQITEMKIND_DOCUMENT_ELEMENT
, or
XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
.
value
- the value to be converted, cannot be null
type
- the type of the value for the created
document node. If null
is specified,
it behaves as if
XQDataFactory.createDocumentElementType(
XQDataFactory.createElementType(null,
XQItemType.XQBASETYPE_XS_UNTYPED))
were passed in
as the type parameter. That is, the type represents the
XQuery sequence type document-node(element(*, xs:untyped))
XQItem
representing the resulting
itemXQException
- if (1) the value argument is null
, (2)
the conversion of the value to an XDM instance failed,
or (3) the underlying object implementing the interface
is closedXQItem createItemFromObject(java.lang.Object value, XQItemType type) throws XQException
XQException
will be thrown.value
- the value to be converted, cannot be
null
type
- the type of the value to be bound to
the external variable. The default type of
the value is used in case null
is
specifiedXQItem
representing the resulting itemXQException
- if (1) the value
argument is
null
, (2) the conversion of the value
to an XDM instance failed, or (3) the underlying object
implementing the interface is closedXQItem createItemFromBoolean(boolean value, XQItemType type) throws XQException
XQException
will be thrown.value
- the value to be convertedtype
- the type of the value to be bound to
the external variable. The default type of
the value is used in case null
is
specifiedXQItem
representing the resulting itemXQException
- (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closedXQItem createItemFromByte(byte value, XQItemType type) throws XQException
XQException
will be thrown.value
- the value to be convertedtype
- the type of the value to be bound to
the external variable. The default type of
the value is used in case null
is
specifiedXQItem
representing the resulting itemXQException
- (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closedXQItem createItemFromDouble(double value, XQItemType type) throws XQException
XQException
will be thrown.value
- the value to be convertedtype
- the type of the value to be bound to
the external variable. The default type of
the value is used in case null
is
specifiedXQItem
representing the resulting itemXQException
- (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closedXQItem createItemFromFloat(float value, XQItemType type) throws XQException
XQException
will be thrown.value
- the value to be convertedtype
- the type of the value to be bound to
the external variable. The default type of
the value is used in case null
is
specifiedXQItem
representing the resulting itemXQException
- (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closedXQItem createItemFromInt(int value, XQItemType type) throws XQException
XQException
will be thrown.value
- the value to be convertedtype
- the type of the value to be bound to
the external variable. The default type of
the value is used in case null
is
specifiedXQItem
representing the resulting itemXQException
- (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closedXQItem createItemFromLong(long value, XQItemType type) throws XQException
XQException
will be thrown.value
- the value to be convertedtype
- the type of the value to be bound to
the external variable. The default type of
the value is used in case null
is
specifiedXQItem
representing the resulting itemXQException
- (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closedXQItem createItemFromNode(org.w3c.dom.Node value, XQItemType type) throws XQException
XQException
will be thrown.value
- the value to be converted, cannot be
null
type
- the type of the value to be bound to
the external variable. The default type of
the value is used in case null
is
specifiedXQItem
representing the resulting itemXQException
- if (1) the value
argument is
null
, (2) the conversion of the value
to an XDM instance failed, or (3) the underlying object
implementing the interface is closedXQItem createItemFromShort(short value, XQItemType type) throws XQException
XQException
will be thrown.value
- the value to be convertedtype
- the type of the value to be bound to
the external variable. The default type of
the value is used in case null
is
specifiedXQItem
representing the resulting itemXQException
- (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closedXQItem createItem(XQItem item) throws XQException
XQItem
. This method can be used, for
example, to copy an XQResultItem
object so that the new item is not
dependant on the connection.item
- the XQItem
to copyXQItem
independent of any underlying
XQConnection
is createdXQException
- if (1) the specified item is null
,
(2) the underlying object implementing the interface is
closed, (3) the specified item is closedXQSequence createSequence(XQSequence s) throws XQException
XQSequence
. The newly created
XQSequence
is scrollable and independent of any underlying
XQConnection
. The new XQSequence
will contain all
items from the specified XQSequence
starting from its current
position. The copy process will implicitly perform next operations on the
specified sequence to read the items. All items are consumed, the current
position of the cursor is set to point after the last item.s
- input sequenceXQSequence
representing a copy of
the input sequenceXQException
- if (1) there are errors accessing the items in
the specified sequence, (2) the specified sequence
is closed, (3) in the case of a forward only
sequence, a get or write method has already
been invoked on the current item, (4)
the s
parameter is null
,
or (5) the underlying object implementing the
interface is closedXQSequence createSequence(java.util.Iterator i) throws XQException
XQSequence
, containing all the items from the
iterator. The newly created XQSequence
is scrollable and
independent of any underlying XQConnection
.
If the iterator returns an XQItem
, it is added to the
sequence. If the iterator returns any other object, an item is added to the
sequence following the rules from 14.2 Mapping a Java Data Type
to an XQuery Data Type, XQuery API for Java (XQJ) 1.0.
If the iterator does not return any items, then an empty sequence is created.i
- input iteratorXQSequence
representing the sequence
containing all items from the input iteratorXQException
- if (1) the conversion of any of the objects in the
iterator to item fails, (2)
the i
parameter is null
,
or (3) underlying object implementing the interface
is closedXQItemType createAtomicType(int basetype) throws XQException
XQItemType
object representing an XQuery atomic type.
The item kind of the item type will be XQItemType.XQITEMKIND_ATOMIC
.
XQConnection conn = ...; // to create xs:integer item type conn.createAtomicType(XQItemType.XQBASETYPE_INTEGER);
basetype
- one of the XQItemType.XQBASETYPE_*
constants. All basetype constants except the
following are valid:
XQItemType.XQBASETYPE_UNTYPED XQItemType.XQBASETYPE_ANYTYPE XQItemType.XQBASETYPE_IDREFS XQItemType.XQBASETYPE_NMTOKENS XQItemType.XQBASETYPE_ENTITIES XQItemType.XQBASETYPE_ANYSIMPLETYPE
XQItemType
representing the atomic typeXQException
- if (1) an invalid basetype
value is
passed in, or (2) the underlying object implementing
the interface is closedXQItemType createAtomicType(int basetype, javax.xml.namespace.QName typename, java.net.URI schemaURI) throws XQException
XQItemType
object representing an XQuery atomic type.
The item kind of the item type will be XQItemType.XQITEMKIND_ATOMIC
.
XQConnection conn = ...; // to create po:hatsize atomic item type conn.createAtomicType(XQItemType.XQBASETYPE_INTEGER, new QName("http://www.hatsizes.com", "hatsize","po"), new URI("http://hatschema.com"));
basetype
- one of the XQItemType.XQBASETYPE_*
constants. All basetype constants except the
following are valid:
XQItemType.XQBASETYPE_UNTYPED XQItemType.XQBASETYPE_ANYTYPE XQItemType.XQBASETYPE_IDREFS XQItemType.XQBASETYPE_NMTOKENS XQItemType.XQBASETYPE_ENTITIES XQItemType.XQBASETYPE_ANYSIMPLETYPE
typename
- the QName
of the type. If the QName
refers to a predefinied type, it must match
the basetype
. Can be null
schemaURI
- the URI to the schema. Can be null
. This can
only be specified if the typename is also specifiedXQItemType
representing the atomic typeXQException
- if (1) an invalid basetype
value is
passed in, (2) the underlying object implementing
the interface is closed, (3) the implementation does
not support user-defined XML schema types, or (4)
if the typename
refers to a predefinied
type and does not match basetype
XQItemType createAttributeType(javax.xml.namespace.QName nodename, int basetype) throws XQException
XQItemType
object representing the XQuery
attribute(nodename, basetype)
type
with the given node name and base type. This method can be used to create
item type for attributes with a pre-defined schema type.
XQConnection conn = ..; // An XQuery connection - attribute() // no node name, pass null for the node name conn.createAttributeType(null, XQItemType.XQBASETYPE_ANYSIMPLETYPE); - attribute (*) // equivalent to attribute() conn.createAttributeType(null, XQItemType.XQBASETYPE_ANYSIMPLETYPE); - attribute (person) // attribute of name person and any simple type. conn.createAttributeType(new QName("person"), XQItemType.XQBASETYPE_ANYSIMPLETYPE); - attribute(foo:bar) // node name foo:bar, type is any simple type conn.createAttributeType(new QName("http://www.foo.com", "bar","foo"), XQItemType.XQBASETYPE_ANYSIMPLETYPE); - attribute(foo:bar, xs:integer) // node name foo:bar, type is xs:integer conn.createAttributeType(new QName("http://www.foo.com", "bar","foo"), XQItemType.XQBASETYPE_INTEGER);
nodename
- specifies the name of the node.null
indicates a wildcard for the node namebasetype
- the base type of the attribute. One of the
XQItemType.XQBASETYPE_*
other than XQItemType.XQBASETYPE_UNTYPED
or XQItemType.XQBASETYPE_ANYTYPE
XQItemType
representing the XQuery
attribute(nodename, basetype)
typeXQException
- if (1) the underlying object implementing the interface is closed or
(2) if the base type is one of:
XQItemType.XQBASETYPE_UNTYPED
or XQItemType.XQBASETYPE_ANYTYPE
XQItemType createAttributeType(javax.xml.namespace.QName nodename, int basetype, javax.xml.namespace.QName typename, java.net.URI schemaURI) throws XQException
XQItemType
object representing the XQuery
attribute(nodename,basetype,typename,schemaURI)
type,
with the given node name, base type, schema type name and schema URI. The type name can
reference either pre-defined simple types or user-defined simple types.
XQConnection conn = ..; // An XQuery connection - attribute (name, employeename) // attribute name of type employeename conn.createAttributeType(new QName("name"), XQItemType.XQBASETYPE_ANYSIMPLETYPE, new QName("employeename"), null); - attribute (foo:bar, po:city) where the prefix foo refers to the namespace http://www.foo.com and the prefix po refers to the namespace "http://www.address.com" conn.createAttributeType(new QName("http://www.foo.com", "bar","foo"), XQItemType.XQBASETYPE_ANYSIMPLETYPE, new QName("http://address.com", "address","po"), null); - attribute (zip, zipcode) // attribute zip of type zipchode which derives from // xs:string conn.createAttributeType(new QName("zip"), XQItemType.XQBASETYPE_STRING, new QName("zipcode"), null); - attribute(foo:bar, po:hatsize) where the prefix foo refers to the namespace http://www.foo.com and the prefix po refers to the namespace "http://www.hatsizes.com" with schema URI "http://hatschema.com" conn.createAttributeType(new QName("http://www.foo.com", "bar","foo"), XQItemType.XQBASETYPE_INTEGER, new QName("http://www.hatsizes.com", "hatsize","po"), new QName("http://hatschema.com"));
nodename
- specifies the name of the node.null
indicates a wildcard for the node namebasetype
- the base type of the attribute. One of the
XQItemTyupe.XQBASETYPE_*
constants
other than XQItemType.XQBASETYPE_UNTYPED
or
XQItemType.XQBASETYPE_ANYTYPE
typename
- the QName
of the type. If the QName
refers to a predefinied type, it must match
the basetype
. Can be null
.schemaURI
- the URI to the schema. Can be null
. This can
only be specified if the typename is also specifiedXQItemType
representing the XQuery
attribute(nodename,basetype,
typename,schemaURI)
type.XQException
- if (1) the underlying object implementing the interface is closed,
(2) if the base type is one of:
XQItemType.XQBASETYPE_UNTYPED
or
XQItemType.XQBASETYPE_ANYTYPE
,
(3) the schema URI is specified and the typename
is not specified, (4) the implementation does
not support user-defined XML schema types, or (5)
if the typename
refers to a predefinied
type and does not match basetype
XQItemType createSchemaAttributeType(javax.xml.namespace.QName nodename, int basetype, java.net.URI schemaURI) throws XQException
XQItemType
object representing the XQuery
schema-attribute(nodename,basetype,schemaURI)
type,
with the given node name, base type, and schema URI.
XQConnection conn = ..; // An XQuery connection - schema-attribute (name) // schema-attribute name, found in the schema // available at http://customerschema.com conn.createSchemaAttributeType(new QName("name"), XQItemType.XQBASETYPE_STRING, new URI(http://customerschema.com));
nodename
- specifies the name of the nodebasetype
- the base type of the attribute. One of the
XQItemTyupe.XQBASETYPE_*
constants
other than XQItemType.XQBASETYPE_UNTYPED
or
XQItemType.XQBASETYPE_ANYTYPE
schemaURI
- the URI to the schema. Can be null
XQItemType
representing the XQuery
schema-attribute(nodename,basetype,
schemaURI)
typeXQException
- if (1) the node name is null
,
(2) if the base type is one of:
XQItemType.XQBASETYPE_UNTYPED
or
XQItemType.XQBASETYPE_ANYTYPE
,
(3) the underlying object implementing the interface
is closed, or (4) the implementation does
not support user-defined XML schema typesXQItemType createCommentType() throws XQException
XQItemType
object representing the XQuery
comment()
type. The XQItemType
object will have
the item kind set to XQItemType.XQITEMKIND_COMMENT
.
XQConnection conn = ..; // An XQuery connection XQItemType cmttype = conn.createCommentType(); int itemkind = cmttype.getItemKind(); // will be XQItemType.XQITEMKIND_COMMENT XQExpression expr = conn.createExpression(); XQSequence result = expr.executeQuery("<!-- comments -->"); result.next(); boolean pi = result.instanceOf(cmttype); // will be true
XQItemType
representing the XQuery
comment()
typeXQException
- if the underlying object implementing the interface is closedXQItemType createDocumentElementType(XQItemType elementType) throws XQException
XQItemType
object representing the XQuery
document-node(elementType)
type containing a single element.
The XQItemType
object will have the item kind set to
XQItemType.XQITEMKIND_DOCUMENT_ELEMENT
and the
base type set to the item type of the input elementType
.elementType
- an XQItemType
object representing an XQuery
element()
type, cannot be null
XQItemType
representing the XQuery
document-node(elementType)
type containing
a single elementXQException
- if (1) the underlying object implementing the interface is
closed or (2) the elementType
has an item kind
different from XQItemType.XQITEMKIND_ELEMENT
,
(3) the elementType
argument is null
,
or (4) the implementation does not support user-defined XML
schema typesXQItemType createDocumentSchemaElementType(XQItemType elementType) throws XQException
XQItemType
object representing the XQuery
document-node(elementType)
type containing a single
schema-element(...)
. The XQItemType
object will
have the item kind set to XQItemType.XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
and the
base type set to the item type of the input elementType
.elementType
- an XQItemType
object representing an XQuery
schema-element(...)
type, cannot be null
XQItemType
representing the XQuery
document-node(elementType)
type containing
a single schema-element(...)
elementXQException
- if (1) the underlying object implementing the interface is
closed or (2) the elementType
has an item kind
different from XQItemType.XQITEMKIND_SCHEMA_ELEMENT
,
(3) the elementType
argument is null
,
(4) the implementation does not support user-defined XML
schema typesXQItemType createDocumentType() throws XQException
XQItemType
object representing the XQuery
document-node()
type. The XQItemType
object will have the item kind
set to XQItemType.XQITEMKIND_DOCUMENT
.XQItemType
representing the XQuery
document-node()
typeXQException
- if the underlying object implementing the interface is closedXQItemType createElementType(javax.xml.namespace.QName nodename, int basetype) throws XQException
XQItemType
object representing the XQuery
element(nodename, basetype)
type, with the
given node name and base type. This method can be used to create item
type for elements with a pre-defined schema type.
XQConnection conn = ..; // An XQuery connection - element() // no node name, pass null for the node name conn.createElementType(null, XQItemType.XQBASETYPE_ANYTYPE); - element (*) // equivalent to element() conn.createElementType(null, XQItemType.XQBASETYPE_ANYTYPE); - element(person) // element of name person and any type. conn.createElementType(new QName("person"), XQItemType.XQBASETYPE_ANYTYPE); - element(foo:bar) // node name foo:bar, type is anytype conn.createElementType(new QName("http://www.foo.com", "bar","foo"), XQItemType.XQBASETYPE_ANYTYPE); - element(foo:bar, xs:integer) // node name foo:bar, type is xs:integer conn.createElementType(new QName("http://www.foo.com", "bar","foo"), XQItemType.XQBASETYPE_INTEGER);
nodename
- specifies the name of the node. null
indicates a wildcard for the node namebasetype
- the base type of the item. One of the
XQItemType.XQBASETYPE_*
constantsXQItemType
representing the XQuery
element(nodename, basetype)
typeXQException
- if (1) the underlying object implementing the interface
is closedXQItemType createElementType(javax.xml.namespace.QName nodename, int basetype, javax.xml.namespace.QName typename, java.net.URI schemaURI, boolean allowNill) throws XQException
XQItemType
object representing the XQuery
element(nodename,basetype,typename,schemaURI,
allowNill)
type, given the node name, base type, schema type
name, schema URI, and nilled check. The type name can reference either pre-defined
schema types or user-defined types.
XQConnection conn = ..; // An XQuery connection - element (person, employee) // element person of type employee conn.createElementType(new QName("person"), XQItemType.XQBASETYPE_ANYTYPE, new QName("employee"), null ,false); - element(person, employee ? ) // element person of type employee, whose nilled // property may be true or false. conn.createElementType(new QName("person"), XQItemType.XQBASETYPE_ANYTYPE, new QName("employee"), null ,true); - element(foo:bar, po:address) where the prefix foo refers to the namespace http://www.foo.com and the prefix po refers to the namespace "http://www.address.com" conn.createElementType(new QName("http://www.foo.com", "bar","foo"), XQItemType.XQBASETYPE_ANYTYPE, new QName("http://address.com", "address","po"), null, false); - element (zip, zipcode) // element zip of type zipchode which derives from // xs:string conn.createElementType(new QName("zip"), XQItemType.XQBASETYPE_STRING, new QName("zipcode"), null, false); - element (*, xs:anyType ?) conn.createElementType(null, XQItemType.XQBASETYPE_ANYTYPE, null, null, true); - element(foo:bar, po:hatsize) where the prefix foo refers to the namespace http://www.foo.com and the prefix po refers to the namespace "http://www.hatsizes.com" with schema URI "http://hatschema.com" conn.createElementType(new QName("http://www.foo.com", "bar","foo"), XQItemType.XQBASETYPE_INTEGER, new QName("http://www.hatsizes.com", "hatsize","po"), new QName("http://hatschema.com"), false);
nodename
- specifies the name of the element. null
indicates a wildcard for the node namebasetype
- the base type of the item. One of the
XQItemType.XQBASETYPE_*
constantstypename
- the QName
of the type. If the QName
refers to a predefinied type, it must match
the basetype
. Can be null
schemaURI
- the URI to the schema. Can be null
. This can
only be specified if the typename is also specifiedallowNill
- the nilled property of the elementXQItemType
representing the XQuery
element(nodename,basetype,
typename,schemaURI,
allowNill)
typeXQException
- if (1) schemaURI is specified but the typename is not
specified, (2) the underlying object implementing the
interface is closed, (3) the implementation does
not support user-defined XML schema types, or
(4) if the typename
refers to a predefinied
type and does not match basetype
XQItemType createSchemaElementType(javax.xml.namespace.QName nodename, int basetype, java.net.URI schemaURI) throws XQException
XQItemType
object representing the XQuery
schema-element(nodename,basetype,schemaURI)
type, given the node name, base type, and the schema URI.
XQConnection conn = ..; // An XQuery connection - schema-element (customer) // schema-element person, found in // the schema available at http://customerschema.com conn.createElementType(new QName("customer"), XQItemType.XQBASETYPE_ANYTYPE, new URI("http://customerschema.com"));
nodename
- specifies the name of the elementbasetype
- the base type of the item. One of the
XQItemType.XQBASETYPE_*
constantsschemaURI
- the URI to the schema. Can be null
XQItemType
representing the XQuery
schema-element(nodename,basetype,
schemaURI)
typeXQException
- if (1) the node name is null
,
(2) the underlying object implementing the
interface is closed, or (3) the implementation does
not support user-defined XML schema typesXQItemType createItemType() throws XQException
XQItemType
object representing the XQuery item type.
The XQItemType
object will have the item kind set to
XQItemType.XQITEMKIND_ITEM
.
XQConnection conn = ..; // An XQuery connection XQItemType typ = conn.createItemType(); // represents the XQuery item type "item()"
XQItemType
representing the XQuery
item typeXQException
- if the underlying object implementing the interface
is closedXQItemType createNodeType() throws XQException
XQItemType
object representing the XQuery node()
type. The XQItemType
object will have the item kind set to
XQItemType.XQITEMKIND_NODE
.XQItemType
representing the
XQuery node()
typeXQException
- if the underlying object implementing the interface
is closedXQItemType createProcessingInstructionType(java.lang.String piTarget) throws XQException
XQItemType
object representing the XQuery
processing-instruction(piTarget)
type. The XQItemType
object
will have the item kind set to XQItemType.XQITEMKIND_PI
. A
string literal can be passed to match the PITarget of the processing instruction
as described in
2.5.4.2 Matching an Item Type and an Item, XQuery 1.0: An XML Query Language.
XQConnection conn = ..; // An XQuery connection XQItemType anypi = conn.createProcessingInstructionType(); XQItemType foopi = conn.createProcessingInstructionType("foo-format"); XQExpression expr = conn.createExpression(); XQSequence result = expr.executeQuery("<?format role="output" ?>"); result.next(); boolean pi = result.instanceOf(anypi); // will be true pi = result.instanceOf(foopi); // will be false XQExpression expr = conn.createExpression(); XQSequence result = expr.executeQuery("<?foo-format role="output" ?>"); result.next(); boolean pi = result.instanceOf(anypi); // will be true pi = result.instanceOf(foopi); // will be true
piTarget
- the string literal to match the processing
instruction's PITarget. A null
string
value will match all processing instruction nodesXQItemType
representing the XQuery
processing-instruction(piTarget)
typeXQException
- if the underlying object implementing the interface is
closedXQSequenceType createSequenceType(XQItemType item, int occurence) throws XQException
item
- the item type. This parameter must be null
if
the occurance is XQSequenceType.OCC_EMPTY
,
and cannot be null
for any other
occurance indicatoroccurence
- The occurence of the item type, must be one of
XQSequenceType.OCC_ZERO_OR_ONE
,
XQSequenceType.OCC_EXACTLY_ONE
,
XQSequenceType.OCC_ZERO_OR_MORE
,
XQSequenceType.OCC_ONE_OR_MORE
,
XQSequenceType.OCC_EMPTY
XQSequenceType
representing the
type of a sequenceXQException
- if (1) the item
is null
and the occurance is not XQSequenceType.OCC_EMPTY
,
(2) the item
is not null
and the occurance is XQSequenceType.OCC_EMPTY
,
(3) the occurence is not one of:
XQSequenceType.OCC_ZERO_OR_ONE
,
XQSequenceType.OCC_EXACTLY_ONE
,
XQSequenceType.OCC_ZERO_OR_MORE
,
XQSequenceType.OCC_ONE_OR_MORE
,
XQSequenceType.OCC_EMPTY
or (4) the underlying object implementing the
interface is closedXQItemType createTextType() throws XQException
XQItemType
object representing the XQuery
text()
type. The XQItemType
object will have the
item kind set to XQItemType.XQITEMKIND_TEXT
.XQItemType
representing the XQuery
text()
typeXQException
- if the underlying object implementing the interface is
closedCopyright (c) 2004-2018 Saxonica Limited. All rights reserved.