Package javax.xml.xquery
Interface XQDataFactory
-
- All Known Subinterfaces:
XQConnection
- All Known Implementing Classes:
SaxonXQConnection
,SaxonXQDataFactory
public interface XQDataFactory
This interface represents a factory to obtain sequences, item objects and types. The items, sequences and types obtained through this interface are independent of any connection.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.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description XQItemType
createAtomicType(int basetype)
Creates a newXQItemType
object representing an XQuery atomic type.XQItemType
createAtomicType(int basetype, javax.xml.namespace.QName typename, java.net.URI schemaURI)
Creates a newXQItemType
object representing an XQuery atomic type.XQItemType
createAttributeType(javax.xml.namespace.QName nodename, int basetype)
Creates a newXQItemType
object representing the XQueryattribute(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 newXQItemType
object representing the XQueryattribute(nodename,basetype,typename,schemaURI)
type, with the given node name, base type, schema type name and schema URI.XQItemType
createCommentType()
Creates a newXQItemType
object representing the XQuerycomment()
type.XQItemType
createDocumentElementType(XQItemType elementType)
Creates a newXQItemType
object representing the XQuerydocument-node(elementType)
type containing a single element.XQItemType
createDocumentSchemaElementType(XQItemType elementType)
Creates a newXQItemType
object representing the XQuerydocument-node(elementType)
type containing a singleschema-element(...)
.XQItemType
createDocumentType()
Creates a newXQItemType
object representing the XQuerydocument-node()
type.XQItemType
createElementType(javax.xml.namespace.QName nodename, int basetype)
Creates a newXQItemType
object representing the XQueryelement(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 newXQItemType
object representing the XQueryelement(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 specifiedXQItem
.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(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
createItemFromDocument(javax.xml.transform.Source value, XQItemType type)
Creates an item from the givenSource
.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 newXQItemType
object representing the XQuery item type.XQItemType
createNodeType()
Creates a newXQItemType
object representing the XQuerynode()
type.XQItemType
createProcessingInstructionType(java.lang.String piTarget)
Creates a newXQItemType
object representing the XQueryprocessing-instruction(piTarget)
type.XQItemType
createSchemaAttributeType(javax.xml.namespace.QName nodename, int basetype, java.net.URI schemaURI)
Creates a newXQItemType
object representing the XQueryschema-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 newXQItemType
object representing the XQueryschema-element(nodename,basetype,schemaURI)
type, given the node name, base type, and the schema URI.XQSequence
createSequence(java.util.Iterator i)
Creates anXQSequence
, containing all the items from the iterator.XQSequence
createSequence(XQSequence s)
Creates a copy of the specifiedXQSequence
.XQSequenceType
createSequenceType(XQItemType item, int occurence)
Creates a new sequence type from an item type and occurence indicator.XQItemType
createTextType()
Creates a newXQItemType
object representing the XQuerytext()
type.
-
-
-
Method Detail
-
createItemFromAtomicValue
XQItem createItemFromAtomicValue(java.lang.String value, XQItemType type) throws XQException
Creates an item from a given value. The value is converted into an instance of the specified type according to the casting fromxs: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 anXQException
is thrown.- Parameters:
value
- the lexical string value of the typetype
- the item type- Returns:
XQItem
representing the resulting item- Throws:
XQException
- if (1) any of the arguments arenull
, (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 closed
-
createItemFromString
XQItem createItemFromString(java.lang.String value, XQItemType type) throws XQException
Creates an item from a given value. The value is converted into an instance of the specified type, which must represent anxs:string
or a type derived by restriction fromxs:string
. If the specified type isnull
, it defaults toxs:string
.
Subsequently the value is converted into an instance of the specified type according to the rule defined in 14.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the conversion fails, anXQException
will be thrown.- Parameters:
value
- the value to be converted, cannot benull
type
- the type of the value to be bound to the external variable. The default type,xs:string
, is used in casenull
is specified- Returns:
XQItem
representing the resulting item- Throws:
XQException
- if (1) thevalue
argument isnull
, (2) the conversion of the value to an XDM instance failed, or (3) the underlying object implementing the interface is closed
-
createItemFromDocument
XQItem createItemFromDocument(java.lang.String value, java.lang.String baseURI, XQItemType type) throws XQException
Creates an item from the given value.
If the value represents a well-formed XML document, it will be parsed and results in a document node. The kind of the input type must benull
,XQITEMKIND_DOCUMENT_ELEMENT
, orXQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
.
The value is converted into an instance of the specified type according to the rules defined in 14.3 Mapping a Java XML document to an XQuery document node, XQuery API for Java (XQJ) 1.0.
If the value is not well formed, or if a kind of the input type other than the values list above is specified, behavior is implementation defined and may raise an exception.- Parameters:
value
- the value to be converted, cannot benull
baseURI
- an optional base URI, can benull
. 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. Ifnull
is specified, it behaves as ifXQDataFactory.createDocumentElementType( XQDataFactory.createElementType(null, XQItemType.XQBASETYPE_XS_UNTYPED))
were passed in as the type parameter. That is, the type represents the XQuery sequence typedocument-node(element(*, xs:untyped))
- Returns:
XQItem
representing the resulting item- Throws:
XQException
- if (1) the value argument isnull
, (2) the conversion of the value to an XDM instance failed, or (3) the underlying object implementing the interface is closed
-
createItemFromDocument
XQItem createItemFromDocument(java.io.Reader value, java.lang.String baseURI, XQItemType type) throws XQException
Creates an item from the given value.
If the value represents a well-formed XML document, it will be parsed and results in a document node. The kind of the input type must benull
,XQITEMKIND_DOCUMENT_ELEMENT
, orXQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
.
The value is converted into an instance of the specified type according to the rules defined in 14.3 Mapping a Java XML document to an XQuery document node, XQuery API for Java (XQJ) 1.0.
If the value is not well formed, or if a kind of the input type other than the values list above is specified, behavior is implementation defined and may raise an exception.- Parameters:
value
- the value to be converted, cannot benull
baseURI
- an optional base URI, can benull
. 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. Ifnull
is specified, it behaves as ifXQDataFactory.createDocumentElementType( XQDataFactory.createElementType(null, XQItemType.XQBASETYPE_XS_UNTYPED))
were passed in as the type parameter. That is, the type represents the XQuery sequence typedocument-node(element(*, xs:untyped))
- Returns:
XQItem
representing the resulting item- Throws:
XQException
- if (1) the value argument isnull
, (2) the conversion of the value to an XDM instance failed, or (3) the underlying object implementing the interface is closed
-
createItemFromDocument
XQItem createItemFromDocument(java.io.InputStream value, java.lang.String baseURI, XQItemType type) throws XQException
Creates an item from the given value.
If the value represents a well-formed XML document, it will be parsed and results in a document node. The kind of the input type must benull
,XQITEMKIND_DOCUMENT_ELEMENT
, orXQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
.
The value is converted into an instance of the specified type according to the rules defined in 14.3 Mapping a Java XML document to an XQuery document node, XQuery API for Java (XQJ) 1.0.
If the value is not well formed, or if a kind of the input type other than the values list above is specified, behavior is implementation defined and may raise an exception.- Parameters:
value
- the value to be converted, cannot benull
baseURI
- an optional base URI, can benull
. 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. Ifnull
is specified, it behaves as ifXQDataFactory.createDocumentElementType( XQDataFactory.createElementType(null, XQItemType.XQBASETYPE_XS_UNTYPED))
were passed in as the type parameter. That is, the type represents the XQuery sequence typedocument-node(element(*, xs:untyped))
- Returns:
XQItem
representing the resulting item- Throws:
XQException
- if (1) the value argument isnull
, (2) the conversion of the value to an XDM instance failed, or (3) the underlying object implementing the interface is closed
-
createItemFromDocument
XQItem createItemFromDocument(javax.xml.stream.XMLStreamReader value, XQItemType type) throws XQException
Creates an item from the given value.
If the value represents a well-formed XML document, it results in a document node. The kind of the input type must benull
,XQITEMKIND_DOCUMENT_ELEMENT
orXQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
.
The value is converted into an instance of the specified type according to the rules defined in 14.3 Mapping a Java XML document to an XQuery document node, XQuery API for Java (XQJ) 1.0.
If the value is not well formed, or if a kind of the input type other than the values list above is specified, behavior is implementation defined and may raise an exception.- Parameters:
value
- the value to be converted, cannot benull
type
- the type of the value for the created document node. Ifnull
is specified, it behaves as ifXQDataFactory.createDocumentElementType( XQDataFactory.createElementType(null, XQItemType.XQBASETYPE_XS_UNTYPED))
were passed in as the type parameter. That is, the type represents the XQuery sequence typedocument-node(element(*, xs:untyped))
- Returns:
XQItem
representing the resulting item- Throws:
XQException
- if (1) the value argument isnull
, (2) the conversion of the value to an XDM instance failed, or (3) the underlying object implementing the interface is closed
-
createItemFromDocument
XQItem createItemFromDocument(javax.xml.transform.Source value, XQItemType type) throws XQException
Creates an item from the givenSource
. 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
If the value represents a well-formed XML document, it will result in a document node. The kind of the input type must benull
,XQITEMKIND_DOCUMENT_ELEMENT
, orXQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
.
The value is converted into an instance of the specified type according to the rules defined in 14.3 Mapping a Java XML document to an XQuery document node, XQuery API for Java (XQJ) 1.0.
If the value is not well formed, or if a kind of the input type other than the values list above is specified, behavior is implementation defined and may raise an exception.- Parameters:
value
- the value to be converted, cannot benull
type
- the type of the value for the created document node. Ifnull
is specified, it behaves as ifXQDataFactory.createDocumentElementType( XQDataFactory.createElementType(null, XQItemType.XQBASETYPE_XS_UNTYPED))
were passed in as the type parameter. That is, the type represents the XQuery sequence typedocument-node(element(*, xs:untyped))
- Returns:
XQItem
representing the resulting item- Throws:
XQException
- if (1) the value argument isnull
, (2) the conversion of the value to an XDM instance failed, or (3) the underlying object implementing the interface is closed
-
createItemFromObject
XQItem createItemFromObject(java.lang.Object value, XQItemType type) throws XQException
Creates an item from a given value. The value is converted into an instance of the specified type according to the rule defined in 14.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, anXQException
will be thrown.- Parameters:
value
- the value to be converted, cannot benull
type
- the type of the value to be bound to the external variable. The default type of the value is used in casenull
is specified- Returns:
XQItem
representing the resulting item- Throws:
XQException
- if (1) thevalue
argument isnull
, (2) the conversion of the value to an XDM instance failed, or (3) the underlying object implementing the interface is closed
-
createItemFromBoolean
XQItem createItemFromBoolean(boolean value, XQItemType type) throws XQException
Creates an item from a given value. The value is converted into an instance of the specified type according to the rule defined in 14.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, anXQException
will be thrown.- Parameters:
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 casenull
is specified- Returns:
XQItem
representing the resulting item- Throws:
XQException
- (1) the conversion of the value to an XDM instance failed, or (2) the underlying object implementing the interface is closed
-
createItemFromByte
XQItem createItemFromByte(byte value, XQItemType type) throws XQException
Creates an item from a given value. The value is converted into an instance of the specified type according to the rule defined in 14.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, anXQException
will be thrown.- Parameters:
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 casenull
is specified- Returns:
XQItem
representing the resulting item- Throws:
XQException
- (1) the conversion of the value to an XDM instance failed, or (2) the underlying object implementing the interface is closed
-
createItemFromDouble
XQItem createItemFromDouble(double value, XQItemType type) throws XQException
Creates an item from a given value. The value is converted into an instance of the specified type according to the rule defined in 14.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, anXQException
will be thrown.- Parameters:
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 casenull
is specified- Returns:
XQItem
representing the resulting item- Throws:
XQException
- (1) the conversion of the value to an XDM instance failed, or (2) the underlying object implementing the interface is closed
-
createItemFromFloat
XQItem createItemFromFloat(float value, XQItemType type) throws XQException
Creates an item from a given value. The value is converted into an instance of the specified type according to the rule defined in 14.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, anXQException
will be thrown.- Parameters:
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 casenull
is specified- Returns:
XQItem
representing the resulting item- Throws:
XQException
- (1) the conversion of the value to an XDM instance failed, or (2) the underlying object implementing the interface is closed
-
createItemFromInt
XQItem createItemFromInt(int value, XQItemType type) throws XQException
Creates an item from a given value. The value is converted into an instance of the specified type according to the rule defined in 14.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, anXQException
will be thrown.- Parameters:
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 casenull
is specified- Returns:
XQItem
representing the resulting item- Throws:
XQException
- (1) the conversion of the value to an XDM instance failed, or (2) the underlying object implementing the interface is closed
-
createItemFromLong
XQItem createItemFromLong(long value, XQItemType type) throws XQException
Creates an item from a given value. The value is converted into an instance of the specified type according to the rule defined in 14.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, anXQException
will be thrown.- Parameters:
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 casenull
is specified- Returns:
XQItem
representing the resulting item- Throws:
XQException
- (1) the conversion of the value to an XDM instance failed, or (2) the underlying object implementing the interface is closed
-
createItemFromNode
XQItem createItemFromNode(org.w3c.dom.Node value, XQItemType type) throws XQException
Creates an item from a given value. The value is converted into an instance of the specified type according to the rule defined in 14.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, anXQException
will be thrown.- Parameters:
value
- the value to be converted, cannot benull
type
- the type of the value to be bound to the external variable. The default type of the value is used in casenull
is specified- Returns:
XQItem
representing the resulting item- Throws:
XQException
- if (1) thevalue
argument isnull
, (2) the conversion of the value to an XDM instance failed, or (3) the underlying object implementing the interface is closed
-
createItemFromShort
XQItem createItemFromShort(short value, XQItemType type) throws XQException
Creates an item from a given value. The value is converted into an instance of the specified type according to the rule defined in 14.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, anXQException
will be thrown.- Parameters:
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 casenull
is specified- Returns:
XQItem
representing the resulting item- Throws:
XQException
- (1) the conversion of the value to an XDM instance failed, or (2) the underlying object implementing the interface is closed
-
createItem
XQItem createItem(XQItem item) throws XQException
Creates a copy of the specifiedXQItem
. This method can be used, for example, to copy anXQResultItem
object so that the new item is not dependant on the connection.- Parameters:
item
- theXQItem
to copy- Returns:
XQItem
independent of any underlyingXQConnection
is created- Throws:
XQException
- if (1) the specified item isnull
, (2) the underlying object implementing the interface is closed, (3) the specified item is closed
-
createSequence
XQSequence createSequence(XQSequence s) throws XQException
Creates a copy of the specifiedXQSequence
. The newly createdXQSequence
is scrollable and independent of any underlyingXQConnection
. The newXQSequence
will contain all items from the specifiedXQSequence
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.- Parameters:
s
- input sequence- Returns:
XQSequence
representing a copy of the input sequence- Throws:
XQException
- 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) thes
parameter isnull
, or (5) the underlying object implementing the interface is closed
-
createSequence
XQSequence createSequence(java.util.Iterator i) throws XQException
Creates anXQSequence
, containing all the items from the iterator. The newly createdXQSequence
is scrollable and independent of any underlyingXQConnection
. If the iterator returns anXQItem
, 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.- Parameters:
i
- input iterator- Returns:
XQSequence
representing the sequence containing all items from the input iterator- Throws:
XQException
- if (1) the conversion of any of the objects in the iterator to item fails, (2) thei
parameter isnull
, or (3) underlying object implementing the interface is closed
-
createAtomicType
XQItemType createAtomicType(int basetype) throws XQException
Creates a newXQItemType
object representing an XQuery atomic type. The item kind of the item type will beXQItemType.XQITEMKIND_ATOMIC
.
Example -XQConnection conn = ...; // to create xs:integer item type conn.createAtomicType(XQItemType.XQBASETYPE_INTEGER);
- Parameters:
basetype
- one of theXQItemType.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
- Returns:
- a new
XQItemType
representing the atomic type - Throws:
XQException
- if (1) an invalidbasetype
value is passed in, or (2) the underlying object implementing the interface is closed
-
createAtomicType
XQItemType createAtomicType(int basetype, javax.xml.namespace.QName typename, java.net.URI schemaURI) throws XQException
Creates a newXQItemType
object representing an XQuery atomic type. The item kind of the item type will beXQItemType.XQITEMKIND_ATOMIC
.
Example -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"));
- Parameters:
basetype
- one of theXQItemType.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
- theQName
of the type. If theQName
refers to a predefinied type, it must match thebasetype
. Can benull
schemaURI
- the URI to the schema. Can benull
. This can only be specified if the typename is also specified- Returns:
- a new
XQItemType
representing the atomic type - Throws:
XQException
- if (1) an invalidbasetype
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 thetypename
refers to a predefinied type and does not matchbasetype
-
createAttributeType
XQItemType createAttributeType(javax.xml.namespace.QName nodename, int basetype) throws XQException
Creates a newXQItemType
object representing the XQueryattribute(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.
Example -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);
- Parameters:
nodename
- specifies the name of the node.null
indicates a wildcard for the node namebasetype
- the base type of the attribute. One of theXQItemType.XQBASETYPE_*
other thanXQItemType.XQBASETYPE_UNTYPED
orXQItemType.XQBASETYPE_ANYTYPE
- Returns:
- a new
XQItemType
representing the XQueryattribute(nodename, basetype)
type - Throws:
XQException
- if (1) the underlying object implementing the interface is closed or (2) if the base type is one of:XQItemType.XQBASETYPE_UNTYPED
orXQItemType.XQBASETYPE_ANYTYPE
-
createAttributeType
XQItemType createAttributeType(javax.xml.namespace.QName nodename, int basetype, javax.xml.namespace.QName typename, java.net.URI schemaURI) throws XQException
Creates a newXQItemType
object representing the XQueryattribute(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.
Example -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"));
- Parameters:
nodename
- specifies the name of the node.null
indicates a wildcard for the node namebasetype
- the base type of the attribute. One of theXQItemTyupe.XQBASETYPE_*
constants other thanXQItemType.XQBASETYPE_UNTYPED
orXQItemType.XQBASETYPE_ANYTYPE
typename
- theQName
of the type. If theQName
refers to a predefinied type, it must match thebasetype
. Can benull
.schemaURI
- the URI to the schema. Can benull
. This can only be specified if the typename is also specified- Returns:
- a new
XQItemType
representing the XQueryattribute(nodename,basetype, typename,schemaURI)
type. - Throws:
XQException
- if (1) the underlying object implementing the interface is closed, (2) if the base type is one of:XQItemType.XQBASETYPE_UNTYPED
orXQItemType.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 thetypename
refers to a predefinied type and does not matchbasetype
-
createSchemaAttributeType
XQItemType createSchemaAttributeType(javax.xml.namespace.QName nodename, int basetype, java.net.URI schemaURI) throws XQException
Creates a newXQItemType
object representing the XQueryschema-attribute(nodename,basetype,schemaURI)
type, with the given node name, base type, and schema URI.
Example -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));
- Parameters:
nodename
- specifies the name of the nodebasetype
- the base type of the attribute. One of theXQItemTyupe.XQBASETYPE_*
constants other thanXQItemType.XQBASETYPE_UNTYPED
orXQItemType.XQBASETYPE_ANYTYPE
schemaURI
- the URI to the schema. Can benull
- Returns:
- a new
XQItemType
representing the XQueryschema-attribute(nodename,basetype, schemaURI)
type - Throws:
XQException
- if (1) the node name isnull
, (2) if the base type is one of:XQItemType.XQBASETYPE_UNTYPED
orXQItemType.XQBASETYPE_ANYTYPE
, (3) the underlying object implementing the interface is closed, or (4) the implementation does not support user-defined XML schema types
-
createCommentType
XQItemType createCommentType() throws XQException
Creates a newXQItemType
object representing the XQuerycomment()
type. TheXQItemType
object will have the item kind set toXQItemType.XQITEMKIND_COMMENT
.
Example -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
- Returns:
- a new
XQItemType
representing the XQuerycomment()
type - Throws:
XQException
- if the underlying object implementing the interface is closed
-
createDocumentElementType
XQItemType createDocumentElementType(XQItemType elementType) throws XQException
Creates a newXQItemType
object representing the XQuerydocument-node(elementType)
type containing a single element. TheXQItemType
object will have the item kind set toXQItemType.XQITEMKIND_DOCUMENT_ELEMENT
and the base type set to the item type of the inputelementType
.- Parameters:
elementType
- anXQItemType
object representing an XQueryelement()
type, cannot benull
- Returns:
- a new
XQItemType
representing the XQuerydocument-node(elementType)
type containing a single element - Throws:
XQException
- if (1) the underlying object implementing the interface is closed or (2) theelementType
has an item kind different fromXQItemType.XQITEMKIND_ELEMENT
, (3) theelementType
argument isnull
, or (4) the implementation does not support user-defined XML schema types
-
createDocumentSchemaElementType
XQItemType createDocumentSchemaElementType(XQItemType elementType) throws XQException
Creates a newXQItemType
object representing the XQuerydocument-node(elementType)
type containing a singleschema-element(...)
. TheXQItemType
object will have the item kind set toXQItemType.XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
and the base type set to the item type of the inputelementType
.- Parameters:
elementType
- anXQItemType
object representing an XQueryschema-element(...)
type, cannot benull
- Returns:
- a new
XQItemType
representing the XQuerydocument-node(elementType)
type containing a singleschema-element(...)
element - Throws:
XQException
- if (1) the underlying object implementing the interface is closed or (2) theelementType
has an item kind different fromXQItemType.XQITEMKIND_SCHEMA_ELEMENT
, (3) theelementType
argument isnull
, (4) the implementation does not support user-defined XML schema types
-
createDocumentType
XQItemType createDocumentType() throws XQException
Creates a newXQItemType
object representing the XQuerydocument-node()
type. TheXQItemType
object will have the item kind set toXQItemType.XQITEMKIND_DOCUMENT
.- Returns:
- a new
XQItemType
representing the XQuerydocument-node()
type - Throws:
XQException
- if the underlying object implementing the interface is closed
-
createElementType
XQItemType createElementType(javax.xml.namespace.QName nodename, int basetype) throws XQException
Creates a newXQItemType
object representing the XQueryelement(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.
Example -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);
- Parameters:
nodename
- specifies the name of the node.null
indicates a wildcard for the node namebasetype
- the base type of the item. One of theXQItemType.XQBASETYPE_*
constants- Returns:
- a new
XQItemType
representing the XQueryelement(nodename, basetype)
type - Throws:
XQException
- if (1) the underlying object implementing the interface is closed
-
createElementType
XQItemType createElementType(javax.xml.namespace.QName nodename, int basetype, javax.xml.namespace.QName typename, java.net.URI schemaURI, boolean allowNill) throws XQException
Creates a newXQItemType
object representing the XQueryelement(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.
Example -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);
- Parameters:
nodename
- specifies the name of the element.null
indicates a wildcard for the node namebasetype
- the base type of the item. One of theXQItemType.XQBASETYPE_*
constantstypename
- theQName
of the type. If theQName
refers to a predefinied type, it must match thebasetype
. Can benull
schemaURI
- the URI to the schema. Can benull
. This can only be specified if the typename is also specifiedallowNill
- the nilled property of the element- Returns:
- a new
XQItemType
representing the XQueryelement(nodename,basetype, typename,schemaURI, allowNill)
type - Throws:
XQException
- 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 thetypename
refers to a predefinied type and does not matchbasetype
-
createSchemaElementType
XQItemType createSchemaElementType(javax.xml.namespace.QName nodename, int basetype, java.net.URI schemaURI) throws XQException
Creates a newXQItemType
object representing the XQueryschema-element(nodename,basetype,schemaURI)
type, given the node name, base type, and the schema URI.
Example -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"));
- Parameters:
nodename
- specifies the name of the elementbasetype
- the base type of the item. One of theXQItemType.XQBASETYPE_*
constantsschemaURI
- the URI to the schema. Can benull
- Returns:
- a new
XQItemType
representing the XQueryschema-element(nodename,basetype, schemaURI)
type - Throws:
XQException
- if (1) the node name isnull
, (2) the underlying object implementing the interface is closed, or (3) the implementation does not support user-defined XML schema types
-
createItemType
XQItemType createItemType() throws XQException
Creates a newXQItemType
object representing the XQuery item type. TheXQItemType
object will have the item kind set toXQItemType.XQITEMKIND_ITEM
.
Example -XQConnection conn = ..; // An XQuery connection XQItemType typ = conn.createItemType(); // represents the XQuery item type "item()"
- Returns:
- a new
XQItemType
representing the XQuery item type - Throws:
XQException
- if the underlying object implementing the interface is closed
-
createNodeType
XQItemType createNodeType() throws XQException
Creates a newXQItemType
object representing the XQuerynode()
type. TheXQItemType
object will have the item kind set toXQItemType.XQITEMKIND_NODE
.- Returns:
- a new
XQItemType
representing the XQuerynode()
type - Throws:
XQException
- if the underlying object implementing the interface is closed
-
createProcessingInstructionType
XQItemType createProcessingInstructionType(java.lang.String piTarget) throws XQException
Creates a newXQItemType
object representing the XQueryprocessing-instruction(piTarget)
type. TheXQItemType
object will have the item kind set toXQItemType.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.
Example -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
- Parameters:
piTarget
- the string literal to match the processing instruction's PITarget. Anull
string value will match all processing instruction nodes- Returns:
- a new
XQItemType
representing the XQueryprocessing-instruction(piTarget)
type - Throws:
XQException
- if the underlying object implementing the interface is closed
-
createSequenceType
XQSequenceType createSequenceType(XQItemType item, int occurence) throws XQException
Creates a new sequence type from an item type and occurence indicator.- Parameters:
item
- the item type. This parameter must benull
if the occurance isXQSequenceType.OCC_EMPTY
, and cannot benull
for any other occurance indicatoroccurence
- The occurence of the item type, must be one ofXQSequenceType.OCC_ZERO_OR_ONE
,XQSequenceType.OCC_EXACTLY_ONE
,XQSequenceType.OCC_ZERO_OR_MORE
,XQSequenceType.OCC_ONE_OR_MORE
,XQSequenceType.OCC_EMPTY
- Returns:
- a new
XQSequenceType
representing the type of a sequence - Throws:
XQException
- if (1) theitem
isnull
and the occurance is notXQSequenceType.OCC_EMPTY
, (2) theitem
is notnull
and the occurance isXQSequenceType.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 closed
-
createTextType
XQItemType createTextType() throws XQException
Creates a newXQItemType
object representing the XQuerytext()
type. TheXQItemType
object will have the item kind set toXQItemType.XQITEMKIND_TEXT
.- Returns:
- a new
XQItemType
representing the XQuerytext()
type - Throws:
XQException
- if the underlying object implementing the interface is closed
-
-