Class SaxonXQDynamicContext
- java.lang.Object
-
- com.saxonica.xqj.Closable
-
- com.saxonica.xqj.SaxonXQDynamicContext
-
- All Implemented Interfaces:
XQDynamicContext
- Direct Known Subclasses:
SaxonXQExpression
,SaxonXQPreparedExpression
public abstract class SaxonXQDynamicContext extends Closable implements XQDynamicContext
Saxon implementation of the XQJ DynamicContext interface
-
-
Field Summary
Fields Modifier and Type Field Description protected SaxonXQConnection
connection
-
Constructor Summary
Constructors Constructor Description SaxonXQDynamicContext()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
bindAtomicValue(javax.xml.namespace.QName varname, java.lang.String value, XQItemType type)
Binds a value to the given external variable or the context item.void
bindBoolean(javax.xml.namespace.QName varname, boolean value, XQItemType type)
Binds a value to the given external variable or the context item.void
bindByte(javax.xml.namespace.QName varname, byte value, XQItemType type)
Binds a value to the given external variable or the context item.void
bindDocument(javax.xml.namespace.QName varname, java.io.InputStream value, java.lang.String baseURI, XQItemType type)
Binds a value to the given external variable or the context item.void
bindDocument(javax.xml.namespace.QName varname, java.io.Reader value, java.lang.String baseURI, XQItemType type)
Binds a value to the given external variable or the context item.void
bindDocument(javax.xml.namespace.QName varname, java.lang.String value, java.lang.String baseURI, XQItemType type)
Binds a value to the given external variable or the context item.void
bindDocument(javax.xml.namespace.QName varname, javax.xml.stream.XMLStreamReader value, XQItemType type)
Binds a value to the given external variable or the context item.void
bindDocument(javax.xml.namespace.QName varname, javax.xml.transform.Source value, XQItemType type)
Binds a value to the given external variable or the context item from the givenSource
.void
bindDouble(javax.xml.namespace.QName varname, double value, XQItemType type)
Binds a value to the given external variable or the context item.void
bindFloat(javax.xml.namespace.QName varname, float value, XQItemType type)
Binds a value to the given external variable or the context item.void
bindInt(javax.xml.namespace.QName varname, int value, XQItemType type)
Binds a value to the given external variable or the context item.void
bindItem(javax.xml.namespace.QName varname, XQItem value)
Binds a value to the given external variable.void
bindLong(javax.xml.namespace.QName varname, long value, XQItemType type)
Binds a value to the given external variable or the context item.void
bindNode(javax.xml.namespace.QName varname, org.w3c.dom.Node value, XQItemType type)
Binds a value to the given external variable or the context item.void
bindObject(javax.xml.namespace.QName varname, java.lang.Object value, XQItemType type)
Binds a value to the given external variable or the context item.void
bindSequence(javax.xml.namespace.QName varname, XQSequence value)
Binds a value to the given external variable or the context item.void
bindShort(javax.xml.namespace.QName varname, short value, XQItemType type)
Binds a value to the given external variable or the context item.void
bindString(javax.xml.namespace.QName varname, java.lang.String value, XQItemType type)
Binds a value to the given external variable or the context item.protected abstract boolean
externalVariableExists(javax.xml.namespace.QName name)
protected Configuration
getConfiguration()
protected abstract SaxonXQDataFactory
getDataFactory()
protected abstract DynamicQueryContext
getDynamicContext()
java.util.TimeZone
getImplicitTimeZone()
Gets the implicit timezonevoid
setImplicitTimeZone(java.util.TimeZone implicitTimeZone)
Sets the implicit timezone-
Methods inherited from class com.saxonica.xqj.Closable
close, isClosed, setClosableContainer
-
-
-
-
Field Detail
-
connection
protected SaxonXQConnection connection
-
-
Method Detail
-
getDynamicContext
protected abstract DynamicQueryContext getDynamicContext()
-
getConfiguration
protected final Configuration getConfiguration()
-
getDataFactory
protected abstract SaxonXQDataFactory getDataFactory() throws XQException
- Throws:
XQException
-
externalVariableExists
protected abstract boolean externalVariableExists(javax.xml.namespace.QName name)
-
bindAtomicValue
public void bindAtomicValue(javax.xml.namespace.QName varname, java.lang.String value, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item. 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, or if there is a mismatch between the static and dynamic types, anXQException
is thrown either by this method or during query evaluation.- Specified by:
bindAtomicValue
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind tovalue
- the lexical string value of the typetype
- the item type of the bind- 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, (4) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (5) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (6) the expression is in a closed state
-
bindBoolean
public void bindBoolean(javax.xml.namespace.QName varname, boolean value, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item. 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, or if there is a mismatch between the static and dynamic types, anXQException
is raised either by this method, or during query evaluation.- Specified by:
bindBoolean
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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- Throws:
XQException
- if (1) thevarName
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindByte
public void bindByte(javax.xml.namespace.QName varname, byte value, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item. 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, or if there is a mismatch between the static and dynamic types, anXQException
is raised either by this method, or during query evaluation.- Specified by:
bindByte
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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- Throws:
XQException
- if (1) thevarName
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindDocument
public void bindDocument(javax.xml.namespace.QName varname, java.io.InputStream value, java.lang.String baseURI, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item.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 be
null
,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 conversion fails, or if there is a mismatch between the static and dynamic types, an
XQException
is raised either by this method, or during query evaluation. 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.- Specified by:
bindDocument
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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))
- Throws:
XQException
- if (1) thevarName
orvalue
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindDocument
public void bindDocument(javax.xml.namespace.QName varname, java.io.Reader value, java.lang.String baseURI, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item.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 be
null
,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 conversion fails, or if there is a mismatch between the static and dynamic types, an
XQException
is raised either by this method, or during query evaluation. 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.- Specified by:
bindDocument
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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))
- Throws:
XQException
- if (1) thevarName
orvalue
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindDocument
public void bindDocument(javax.xml.namespace.QName varname, javax.xml.transform.Source value, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context 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 be
null
,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. If the conversion fails, or if there is a mismatch between the static and dynamic types, an
XQException
is raised either by this method, or during query evaluation.- Specified by:
bindDocument
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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))
- Throws:
XQException
- if (1) thevarName
orvalue
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindDocument
public void bindDocument(javax.xml.namespace.QName varname, java.lang.String value, java.lang.String baseURI, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item.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 be
null
,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 conversion fails, or if there is a mismatch between the static and dynamic types, an
XQException
is raised either by this method, or during query evaluation. 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.- Specified by:
bindDocument
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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))
- Throws:
XQException
- if (1) thevarName
orvalue
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindDocument
public void bindDocument(javax.xml.namespace.QName varname, javax.xml.stream.XMLStreamReader value, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item.If the value represents a well-formed XML document, it results in a document node. The kind of the input type must be
null
,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. If the conversion fails, or if there is a mismatch between the static and dynamic types, an
XQException
is raised either by this method, or during query evaluation.- Specified by:
bindDocument
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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))
- Throws:
XQException
- if (1) thevarName
orvalue
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindDouble
public void bindDouble(javax.xml.namespace.QName varname, double value, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item. 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, or if there is a mismatch between the static and dynamic types, anXQException
is raised either by this method, or during query evaluations.- Specified by:
bindDouble
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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- Throws:
XQException
- if (1) thevarName
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindFloat
public void bindFloat(javax.xml.namespace.QName varname, float value, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item. 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, or if there is a mismatch between the static and dynamic types, anXQException
is raised either by this method, or during query evaluations.- Specified by:
bindFloat
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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- Throws:
XQException
- if (1) thevarName
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindInt
public void bindInt(javax.xml.namespace.QName varname, int value, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item. 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, or if there is a mismatch between the static and dynamic types, anXQException
is raised either by this method, or during query evaluations.- Specified by:
bindInt
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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- Throws:
XQException
- if (1) thevarName
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindItem
public void bindItem(javax.xml.namespace.QName varname, XQItem value) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable. The dynamic type of the value is derived from theXQItem
. In case of a mismatch between the static and dynamic types, anXQException
is raised either by this method, or during query evaluation.- Specified by:
bindItem
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
value
- the value to be bound, cannot benull
- Throws:
XQException
- if (1) any of the arguments arenull
, (2) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (3) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, (4) the expression is in a closed state, or (5) the specified item is closed
-
bindLong
public void bindLong(javax.xml.namespace.QName varname, long value, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item. 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, or if there is a mismatch between the static and dynamic types, anXQException
is raised either by this method, or during query evaluation.- Specified by:
bindLong
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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- Throws:
XQException
- if (1) thevarName
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindNode
public void bindNode(javax.xml.namespace.QName varname, org.w3c.dom.Node value, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item. 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, or if there is a mismatch between the static and dynamic types, anXQException
is raised either by this method, or during query evaluation.- Specified by:
bindNode
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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- Throws:
XQException
- if (1) thevarName
orvalue
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindObject
public void bindObject(javax.xml.namespace.QName varname, java.lang.Object value, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item. 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, or if there is a mismatch between the static and dynamic types, anXQException
is raised either by this method, or during query evaluation.- Specified by:
bindObject
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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- Throws:
XQException
- if (1) thevarName
orvalue
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindSequence
public void bindSequence(javax.xml.namespace.QName varname, XQSequence value) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item. The input sequence is consumed from its current position to the end, after which the input sequence's position will be set to point after the last item. The dynamic type of the value is derived from the items in the sequence. In case of a mismatch between the static and dynamic types, anXQException
is be raised either by this method, or during query evaluation.- Specified by:
bindSequence
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
value
- the value to be bound, cannot benull
- Throws:
XQException
- if (1) any of the arguments arenull
, (2) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (3) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, (4) the expression is in a closed state, or (5) the specified sequence is closed
-
bindShort
public void bindShort(javax.xml.namespace.QName varname, short value, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item. 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, or if there is a mismatch between the static and dynamic types, anXQException
is raised either by this method, or during query evaluation.- Specified by:
bindShort
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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- Throws:
XQException
- if (1) thevarName
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
bindString
public void bindString(javax.xml.namespace.QName varname, java.lang.String value, XQItemType type) throws XQException
Description copied from interface:XQDynamicContext
Binds a value to the given external variable or the context item. 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, or if there is a mismatch between the static and dynamic types, an
XQException
is raised either by this method, or during query evaluation.- Specified by:
bindString
in interfaceXQDynamicContext
- Parameters:
varname
- the name of the external variable to bind to, cannot benull
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- Throws:
XQException
- if (1) thevarName
orvalue
argument isnull
, (2) the conversion of the value to an XDM instance failed, (3) in case of anXQPreparedExpression
, the dynamic type of the bound value is not compatible with the static type of the variable, (4) in case of anXQPreparedExpression
, the variable is not defined in the prolog of the expression, or (5) if the expression is in a closed state
-
getImplicitTimeZone
public java.util.TimeZone getImplicitTimeZone() throws XQException
Description copied from interface:XQDynamicContext
Gets the implicit timezone- Specified by:
getImplicitTimeZone
in interfaceXQDynamicContext
- Returns:
- the implicit timezone. This may have been set by an
application using the
setImplicitTimeZone
method or provided by the implementation - Throws:
XQException
- if the expression is in a closed state
-
setImplicitTimeZone
public void setImplicitTimeZone(java.util.TimeZone implicitTimeZone) throws XQException
Description copied from interface:XQDynamicContext
Sets the implicit timezone- Specified by:
setImplicitTimeZone
in interfaceXQDynamicContext
- Parameters:
implicitTimeZone
- time zone to be set- Throws:
XQException
- if the expression is in a closed state
-
-