|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.sf.saxon.xqj.Closable
net.sf.saxon.xqj.SaxonXQDataFactory
public abstract class SaxonXQDataFactory
Saxon implementation of the XQJ interface XQDataFactory. This is an abstract superclass for SaxonXQDataSource and SaxonXQConnection, both of which provide the factory methods in this interface.
For Javadoc specifications of the public methods in this class, see the XQJ documentation.
| Constructor Summary | |
|---|---|
SaxonXQDataFactory()
|
|
| Method Summary | |
|---|---|
XQItemType |
createAtomicType(int baseType)
Create an atomic item type object representing a particular built-in atomic type |
XQItemType |
createAtomicType(int baseType,
QName typename,
URI schemaURI)
See interface definition, and description of Saxon extensions below. |
XQItemType |
createAttributeType(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(QName nodename,
int basetype,
QName typename,
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 type)
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(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(QName nodename,
int basetype,
QName typename,
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(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(InputStream value,
String baseURI,
XQItemType type)
Creates an item from the given value. |
XQItem |
createItemFromDocument(Reader value,
String baseURI,
XQItemType type)
Creates an item from the given value. |
XQItem |
createItemFromDocument(Source value,
XQItemType type)
Creates an item from the given Source. |
XQItem |
createItemFromDocument(String value,
String baseURI,
XQItemType type)
Creates an item from the given value. |
XQItem |
createItemFromDocument(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(Node value,
XQItemType type)
Creates an item from a given value. |
XQItem |
createItemFromObject(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(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(String piTarget)
Creates a new XQItemType object representing the XQuery
processing-instruction(piTarget) type. |
XQItemType |
createSchemaAttributeType(QName nodename,
int basetype,
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(QName nodename,
int basetype,
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(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 occurrence)
Creates a new sequence type from an item type and occurence indicator. |
XQItemType |
createTextType()
Creates a new XQItemType object representing the XQuery
text() type. |
ObjectConverter |
getObjectConverter()
Get the ObjectConverter in use. |
protected void |
init()
|
void |
setObjectConverter(ObjectConverter converter)
Set the ObjectConverter to be used. |
| Methods inherited from class net.sf.saxon.xqj.Closable |
|---|
close, isClosed, setClosableContainer |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SaxonXQDataFactory()
| Method Detail |
|---|
protected void init()
public void setObjectConverter(ObjectConverter converter)
converter - the user-supplied ObjectConverterpublic ObjectConverter getObjectConverter()
public XQItemType createAtomicType(int baseType)
throws XQException
createAtomicType in interface XQDataFactorybaseType - the built-in atomic type, typically a constant such as
XQItemType.XQBASETYPE_BOOLEAN
XQException - if the supplied baseType parameter is not an atomic type
public XQItemType createAtomicType(int baseType,
QName typename,
URI schemaURI)
throws XQException
In addition to the actions described in the XQJ interface definitions, Saxon allows the
typename to be a name representing a Java external type. In this case the URI part of the QName
must be NamespaceConstant.JAVA_TYPE, and the local part of the name must be the Java class
name (qualified with its package name)
createAtomicType in interface XQDataFactorybaseType - the "baseType" (in XQJ terminology)typename - the qualified name of the typeschemaURI - the location of a schema document in which the type is defined (may be null)
XQException
public XQItemType createAttributeType(QName nodename,
int basetype)
throws XQException
XQDataFactoryXQItemType 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);
createAttributeType in interface XQDataFactorynodename - 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) type
XQException - 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
public XQItemType createAttributeType(QName nodename,
int basetype,
QName typename,
URI schemaURI)
throws XQException
XQDataFactoryXQItemType 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"));
createAttributeType in interface XQDataFactorynodename - 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_ANYTYPEtypename - 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 specified
XQItemType 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
public XQItemType createCommentType()
throws XQException
XQDataFactoryXQItemType 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
createCommentType in interface XQDataFactoryXQItemType representing the XQuery
comment() type
XQException - if the underlying object implementing the interface is closed
public XQItemType createDocumentElementType(XQItemType elementType)
throws XQException
XQDataFactoryXQItemType 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.
createDocumentElementType in interface XQDataFactoryelementType - an XQItemType object representing an XQuery
element() type, cannot be null
XQItemType representing the XQuery
document-node(elementType) type containing
a single element
XQException - 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 types
public XQItemType createDocumentSchemaElementType(XQItemType type)
throws XQException
XQDataFactoryXQItemType 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.
createDocumentSchemaElementType in interface XQDataFactorytype - 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(...) element
XQException - 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 types
public XQItemType createDocumentType()
throws XQException
XQDataFactoryXQItemType object representing the XQuery
document-node() type. The XQItemType object will have the item kind
set to XQItemType.XQITEMKIND_DOCUMENT.
createDocumentType in interface XQDataFactoryXQItemType representing the XQuery
document-node() type
XQException - if the underlying object implementing the interface is closed
public XQItemType createElementType(QName nodename,
int basetype)
throws XQException
XQDataFactoryXQItemType 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);
createElementType in interface XQDataFactorynodename - 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_* constants
XQItemType representing the XQuery
element(nodename, basetype) type
XQException - if (1) the underlying object implementing the interface
is closed
public XQItemType createElementType(QName nodename,
int basetype,
QName typename,
URI schemaURI,
boolean allowNill)
throws XQException
XQDataFactoryXQItemType 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);
createElementType in interface XQDataFactorynodename - 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 nullschemaURI - the URI to the schema. Can be null. This can
only be specified if the typename is also specifiedallowNill - the nilled property of the element
XQItemType representing the XQuery
element(nodename,basetype,
typename,schemaURI,
allowNill) type
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 the typename refers to a predefinied
type and does not match basetype
public XQItem createItem(XQItem item)
throws XQException
XQDataFactoryXQItem. This method can be used, for
example, to copy an XQResultItem object so that the new item is not
dependant on the connection.
createItem in interface XQDataFactoryitem - the XQItem to copy
XQItem independent of any underlying
XQConnection is created
XQException - if (1) the specified item is null,
(2) the underlying object implementing the interface is
closed, (3) the specified item is closed
public XQItem createItemFromAtomicValue(String value,
XQItemType type)
throws XQException
XQDataFactoryxs: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.
createItemFromAtomicValue in interface XQDataFactoryvalue - the lexical string value of the typetype - the item type
XQItem representing the resulting item
XQException - 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 closed
public XQItem createItemFromBoolean(boolean value,
XQItemType type)
throws XQException
XQDataFactoryXQException will be thrown.
createItemFromBoolean in interface XQDataFactoryvalue - 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
specified
XQItem representing the resulting item
XQException - (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closed
public XQItem createItemFromByte(byte value,
XQItemType type)
throws XQException
XQDataFactoryXQException will be thrown.
createItemFromByte in interface XQDataFactoryvalue - 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
specified
XQItem representing the resulting item
XQException - (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closed
public XQItem createItemFromDocument(InputStream value,
String baseURI,
XQItemType type)
throws XQException
XQDataFactorynull,
XQITEMKIND_DOCUMENT_ELEMENT, or
XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT.
createItemFromDocument in interface XQDataFactoryvalue - the value to be converted, cannot be
nullbaseURI - 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
item
XQException - 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 closed
public XQItem createItemFromDocument(Reader value,
String baseURI,
XQItemType type)
throws XQException
XQDataFactorynull,
XQITEMKIND_DOCUMENT_ELEMENT, or
XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT.
createItemFromDocument in interface XQDataFactoryvalue - the value to be converted, cannot be
nullbaseURI - 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
item
XQException - 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 closed
public XQItem createItemFromDocument(Source value,
XQItemType type)
throws XQException
XQDataFactorySource. An XQJ
implementation must at least support the following implementations:
javax.xml.transform.dom.DOMSourcejavax.xml.transform.sax.SAXSourcejavax.xml.transform.stream.StreamSourcenull,
XQITEMKIND_DOCUMENT_ELEMENT, or
XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT.
createItemFromDocument in interface XQDataFactoryvalue - the value to be converted, cannot be nulltype - 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
item
XQException - 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 closed
public XQItem createItemFromDocument(String value,
String baseURI,
XQItemType type)
throws XQException
XQDataFactorynull,
XQITEMKIND_DOCUMENT_ELEMENT, or
XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT.
createItemFromDocument in interface XQDataFactoryvalue - the value to be converted, cannot be
nullbaseURI - 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
item
XQException - 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 closed
public XQItem createItemFromDocument(XMLStreamReader value,
XQItemType type)
throws XQException
XQDataFactorynull,
XQITEMKIND_DOCUMENT_ELEMENT or XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT.
createItemFromDocument in interface XQDataFactoryvalue - the value to be converted, cannot be nulltype - 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
item
XQException - 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 closed
public XQItem createItemFromDouble(double value,
XQItemType type)
throws XQException
XQDataFactoryXQException will be thrown.
createItemFromDouble in interface XQDataFactoryvalue - 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
specified
XQItem representing the resulting item
XQException - (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closed
public XQItem createItemFromFloat(float value,
XQItemType type)
throws XQException
XQDataFactoryXQException will be thrown.
createItemFromFloat in interface XQDataFactoryvalue - 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
specified
XQItem representing the resulting item
XQException - (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closed
public XQItem createItemFromInt(int value,
XQItemType type)
throws XQException
XQDataFactoryXQException will be thrown.
createItemFromInt in interface XQDataFactoryvalue - 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
specified
XQItem representing the resulting item
XQException - (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closed
public XQItem createItemFromLong(long value,
XQItemType type)
throws XQException
XQDataFactoryXQException will be thrown.
createItemFromLong in interface XQDataFactoryvalue - 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
specified
XQItem representing the resulting item
XQException - (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closed
public XQItem createItemFromNode(Node value,
XQItemType type)
throws XQException
XQDataFactoryXQException will be thrown.
createItemFromNode in interface XQDataFactoryvalue - the value to be converted, cannot be
nulltype - the type of the value to be bound to
the external variable. The default type of
the value is used in case null is
specified
XQItem representing the resulting item
XQException - 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 closed
public XQItem createItemFromObject(Object value,
XQItemType type)
throws XQException
XQDataFactoryXQException will be thrown.
createItemFromObject in interface XQDataFactoryvalue - the value to be converted, cannot be
nulltype - the type of the value to be bound to
the external variable. The default type of
the value is used in case null is
specified
XQItem representing the resulting item
XQException - 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 closed
public XQItem createItemFromString(String value,
XQItemType type)
throws XQException
XQDataFactoryxs: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.
createItemFromString in interface XQDataFactoryvalue - the value to be converted, cannot be
nulltype - the type of the value to be bound to the
external variable. The default type,
xs:string, is used in case
null is specified
XQItem representing the resulting
item
XQException - 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 closed
public XQItemType createItemType()
throws XQException
XQDataFactoryXQItemType 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()"
createItemType in interface XQDataFactoryXQItemType representing the XQuery
item type
XQException - if the underlying object implementing the interface
is closed
public XQItem createItemFromShort(short value,
XQItemType type)
throws XQException
XQDataFactoryXQException will be thrown.
createItemFromShort in interface XQDataFactoryvalue - 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
specified
XQItem representing the resulting item
XQException - (1) the conversion of the value
to an XDM instance failed, or (2) the underlying object
implementing the interface is closed
public XQItemType createNodeType()
throws XQException
XQDataFactoryXQItemType object representing the XQuery node()
type. The XQItemType object will have the item kind set to
XQItemType.XQITEMKIND_NODE.
createNodeType in interface XQDataFactoryXQItemType representing the
XQuery node() type
XQException - if the underlying object implementing the interface
is closed
public XQItemType createProcessingInstructionType(String piTarget)
throws XQException
XQDataFactoryXQItemType 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
createProcessingInstructionType in interface XQDataFactorypiTarget - the string literal to match the processing
instruction's PITarget. A null string
value will match all processing instruction nodes
XQItemType representing the XQuery
processing-instruction(piTarget) type
XQException - if the underlying object implementing the interface is
closed
public XQItemType createSchemaAttributeType(QName nodename,
int basetype,
URI schemaURI)
throws XQException
XQDataFactoryXQItemType 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));
createSchemaAttributeType in interface XQDataFactorynodename - 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_ANYTYPEschemaURI - the URI to the schema. Can be null
XQItemType representing the XQuery
schema-attribute(nodename,basetype,
schemaURI) type
XQException - 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 types
public XQItemType createSchemaElementType(QName nodename,
int basetype,
URI schemaURI)
throws XQException
XQDataFactoryXQItemType 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"));
createSchemaElementType in interface XQDataFactorynodename - 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) type
XQException - 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 types
public XQSequence createSequence(Iterator i)
throws XQException
XQDataFactoryXQSequence, 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.
createSequence in interface XQDataFactoryi - input iterator
XQSequence representing the sequence
containing all items from the input iterator
XQException - 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 closed
public XQSequence createSequence(XQSequence s)
throws XQException
XQDataFactoryXQSequence. 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.
createSequence in interface XQDataFactorys - input sequence
XQSequence representing a copy of
the input sequence
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)
the s parameter is null,
or (5) the underlying object implementing the
interface is closed
public XQSequenceType createSequenceType(XQItemType item,
int occurrence)
throws XQException
XQDataFactory
createSequenceType in interface XQDataFactoryitem - the item type. This parameter must be null if
the occurance is XQSequenceType.OCC_EMPTY,
and cannot be null for any other
occurance indicatoroccurrence - 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 sequence
XQException - 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 closed
public XQItemType createTextType()
throws XQException
XQDataFactoryXQItemType object representing the XQuery
text() type. The XQItemType object will have the
item kind set to XQItemType.XQITEMKIND_TEXT.
createTextType in interface XQDataFactoryXQItemType representing the XQuery
text() type
XQException - if the underlying object implementing the interface is
closed
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||