com.ddtek.xquery3
Interface XQDataFactory

All Known Subinterfaces:
XQConnection

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
 XQItemType createAtomicType(int basetype)
          Creates a new XQItemType object representing an XQuery atomic type.
 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(elementType) type containing a single element.
 XQItemType createDocumentType()
          Creates a new XQItemType object representing the XQuery document() 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)
          Creates an item from the given value.
 XQItem createItemFromDocument(Reader value)
          Creates an item from the given value.
 XQItem createItemFromDocument(Source value)
          Creates an item from the given Source.
 XQItem createItemFromDocument(String value)
          Creates an item from the given value.
 XQItem createItemFromDocument(XMLReader value)
          Creates an item from the given value.
 XQItem createItemFromDocument(XMLStreamReader value)
          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.
 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 occurence)
          Creates a new sequence type from an item type and occurence indicator.
 XQItemType createTextType()
          Creates a new XQItemType object representing the XQuery text() type.
 

Method Detail

createItemFromAtomicValue

public XQItem createItemFromAtomicValue(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 from xs:string rules outlined in 17.1.1 Casting from xs:string and xs:untypedAtomic, XQuery 1.0 and XPath 2.0 Functions and Operators. If the cast fails an XQException is thrown.

Parameters:
value - the lexical string value of the type
type - the item type
Returns:
XQItem representing the resulting item
Throws:
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

createItemFromDocument

public XQItem createItemFromDocument(String value)
                              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. If the value is not well formed, behavior is implementation defined and may raise an exception.

Parameters:
value - the value to be converted, cannot be null
Throws:
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

createItemFromDocument

public XQItem createItemFromDocument(Reader value)
                              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. If the value is not well formed, behavior is implementation defined and may raise an exception.

Parameters:
value - the value to be converted, cannot be null
Throws:
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

createItemFromDocument

public XQItem createItemFromDocument(InputStream value)
                              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. If the value is not well formed, behavior is implementation defined and may raise an exception.

Parameters:
value - the value to be converted, cannot be null
Throws:
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

createItemFromDocument

public XQItem createItemFromDocument(XMLStreamReader value)
                              throws XQException
Creates an item from the given value. The value represent an XML document, and is converted in a document node. If the value is not well formed, behavior is implementation defined and may raise an exception.

Parameters:
value - the value to be converted, cannot be null
Throws:
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

createItemFromDocument

public XQItem createItemFromDocument(XMLReader value)
                              throws XQException
Creates an item from the given value. The XMLReader must produce a well-formed XML document. If the value is not well-formed, behavior is implementation defined and may raise an exception.
The contract of this method is as follows. The implementation will first pass a ContentHandler to the XML XMLReader; and optionally specify additional handlers like a LexicalHandler. Subsequently parse(String systemId) will be invoked; and as such the XMLReader will pass the SAX event representing the document.

Parameters:
value - the XMLReader producing SAX events representing the document to create
Throws:
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

createItemFromDocument

public XQItem createItemFromDocument(Source value)
                              throws XQException
Creates an item from the given Source. An XQJ implementation must at least support the following implementations:
  • javax.xml.transform.dom.DOMSource
  • javax.xml.transform.sax.SAXSource
  • javax.xml.transform.stream.StreamSource

    Parameters:
    value - the value to be converted, cannot be null
    Throws:
    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

  • createItemFromObject

    public XQItem createItemFromObject(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 6.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, an XQException will be thrown.

    Parameters:
    value - the value to be converted, cannot be null
    type - the type of the value to be bound to the external variable. The default type of the value is used in case null is specified
    Returns:
    XQItem representing the resulting item
    Throws:
    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

    createItemFromBoolean

    public 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 6.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, an XQException will be thrown.

    Parameters:
    value - the value to be converted, cannot be null
    type - the type of the value to be bound to the external variable. The default type of the value is used in case null is specified
    Returns:
    XQItem representing the resulting item
    Throws:
    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

    createItemFromByte

    public 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 6.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, an XQException will be thrown.

    Parameters:
    value - the value to be converted, cannot be null
    type - the type of the value to be bound to the external variable. The default type of the value is used in case null is specified
    Returns:
    XQItem representing the resulting item
    Throws:
    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

    createItemFromDouble

    public 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 6.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, an XQException will be thrown.

    Parameters:
    value - the value to be converted, cannot be null
    type - the type of the value to be bound to the external variable. The default type of the value is used in case null is specified
    Returns:
    XQItem representing the resulting item
    Throws:
    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

    createItemFromFloat

    public 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 6.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, an XQException will be thrown.

    Parameters:
    value - the value to be converted, cannot be null
    type - the type of the value to be bound to the external variable. The default type of the value is used in case null is specified
    Returns:
    XQItem representing the resulting item
    Throws:
    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

    createItemFromInt

    public 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 6.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, an XQException will be thrown.

    Parameters:
    value - the value to be converted, cannot be null
    type - the type of the value to be bound to the external variable. The default type of the value is used in case null is specified
    Returns:
    XQItem representing the resulting item
    Throws:
    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

    createItemFromLong

    public 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 6.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, an XQException will be thrown.

    Parameters:
    value - the value to be converted, cannot be null
    type - the type of the value to be bound to the external variable. The default type of the value is used in case null is specified
    Returns:
    XQItem representing the resulting item
    Throws:
    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

    createItemFromNode

    public XQItem createItemFromNode(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 6.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, an XQException will be thrown.

    Parameters:
    value - the value to be converted, cannot be null
    type - the type of the value to be bound to the external variable. The default type of the value is used in case null is specified
    Returns:
    XQItem representing the resulting item
    Throws:
    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

    createItemFromShort

    public 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 6.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, an XQException will be thrown.

    Parameters:
    value - the value to be converted, cannot be null
    type - the type of the value to be bound to the external variable. The default type of the value is used in case null is specified
    Returns:
    XQItem representing the resulting item
    Throws:
    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

    createItemFromString

    public XQItem createItemFromString(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 rule defined in 6.2 Mapping a Java Data Type to an XQuery Data Type, XQuery API for Java (XQJ) 1.0. If the converstion fails, an XQException will be thrown.

    Parameters:
    value - the value to be converted, cannot be null
    type - the type of the value to be bound to the external variable. The default type of the value is used in case null is specified
    Returns:
    XQItem representing the resulting item
    Throws:
    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

    createItem

    public XQItem createItem(XQItem item)
                      throws XQException
    Creates a copy of the specified XQItem. This method can be used, for example, to copy an XQResultItem object so that the new item is not dependant on the connection.

    Parameters:
    item - the XQItem to copy
    Returns:
    XQItem independent of any underlying XQConnection is created
    Throws:
    XQException - if (1) the specified item is null, (2) the underlying object implementing the interface is closed

    createSequence

    public XQSequence createSequence(XQSequence s)
                              throws XQException
    Creates a copy of the specified XQSequence. The newly created XQSequence is scrollable and independent of any underlying XQConnection. The new XQSequence will contain all items from the specified XQSequence starting from its current position. The copy process will implicitly perform next operations on the specified sequence to read the items. All items are consumed, the current position of the cursor is set to point after the last item.

    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 sequence, or (2) in the case of a forward only sequence, a get or write method has already been invoked on the current item

    createSequence

    public XQSequence createSequence(Iterator i)
                              throws XQException
    Creates an XQSequence, containing all the items from the iterator. The newly created XQSequence is scrollable and independent of any underlying XQConnection. If the iterator returns an XQItem, it is added to the sequence. If the iterator returns any other object, an item is added to the sequence following the rules from 6.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 the conversion of any of the objects in the iterator to item fails

    createAtomicType

    public XQItemType createAtomicType(int basetype)
                                throws XQException
    Creates a new XQItemType object representing an XQuery atomic type. The item kind of the item type will be XQItemType.XQITEMKIND_ATOMIC.

    Parameters:
    basetype - one of the XQItemType.XQBASETYPE_* constants. All basetype constants except the following are valid:
     
      XQItemType.XQBASETYPE_UNTYPED
      XQItemType.XQBASETYPE_ANYTYPE
      XQItemType.XQBASETYPE_IDREFS
      XQItemType.XQBASETYPE_NMTOKENS
      XQItemType.XQBASETYPE_ENTITIES
      XQItemType.XQBASETYPE_ANYSIMPLETYPE
     
    Example -
      XQConnection conn = ...;
    
      // to create xs:integer item type
      conn.createAtomicType(XQItemType.XQBASETYPE_INTEGER); 
     
    Returns:
    a new XQItemType representing the atomic type
    Throws:
    XQException - if (1) an invalid basetype value is passed in, or (2) the underlying object implementing the interface is closed

    createAttributeType

    public XQItemType createAttributeType(QName nodename,
                                          int basetype)
                                   throws XQException
    Creates a new XQItemType object representing the XQuery attribute(nodename, basetype) type with the given node name and base type. This method can be used to create item type for attributes with a pre-defined schema type.

    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 element()
    
        conn.createAttributeType(null, XQItemType.XQBASETYPE_ANYSIMPLETYPE);
    
      - attribute (person) // element of name person and any simple type.
    
        conn.createAttributeType(new QName("person"), XQItemType.XQBASETYPE_ANYSIMPLETYPE); 
    
      - attribute(foo:bar) // node name foo:bar, type is anytype
    
        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 name
    basetype - the base type of the attribute. One of the XQItemType.XQBASETYPE_* other than XQItemType.XQBASETYPE_UNTYPED or XQItemType.XQBASETYPE_ANYTYPE
    Returns:
    a new XQItemType representing the XQuery attribute(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 or XQItemType.XQBASETYPE_ANYTYPE

    createAttributeType

    public XQItemType createAttributeType(QName nodename,
                                          int basetype,
                                          QName typename,
                                          URI schemaURI)
                                   throws XQException
    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. 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 name
    basetype - the base type of the attribute. One of the XQItemTyupe.XQBASETYPE_* constants other than XQItemType.XQBASETYPE_UNTYPED or XQItemType.XQBASETYPE_ANYTYPE
    typename - the QName of the type. Can be null.
    schemaURI - the URI to the schema. Can be null. This can only be specified if the typename is also specified
    Returns:
    a new XQItemType representing the XQuery attribute(nodename,basetype, typename,schemaURI) 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 or XQItemType.XQBASETYPE_ANYTYPE or (3) the schema URI is specified and the typename is not specified.

    createCommentType

    public XQItemType createCommentType()
                                 throws XQException
    Creates a new XQItemType object representing the XQuery comment() type. The XQItemType object will have the item kind set to XQItemType.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 XQuery comment() type
    Throws:
    XQException - if the underlying object implementing the interface is closed

    createDocumentElementType

    public XQItemType createDocumentElementType(XQItemType elementType)
                                         throws XQException
    Creates a new XQItemType object representing the XQuery document(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.

    Parameters:
    elementType - an XQItemType object representing an XQuery element() type, cannot be null
    Returns:
    a new XQItemType representing the XQuery document(elementType) type containing a single element
    Throws:
    XQException - if (1) the underlying object implementing the interface is closed or (2) the elementType has an item kind different from XQItemType.XQITEMKIND_ELEMENT or (3) the elementType represents a schema element or (4) the elementType argument is null

    createDocumentType

    public XQItemType createDocumentType()
                                  throws XQException
    Creates a new XQItemType object representing the XQuery document() type. The XQItemType object will have the item kind set to XQItemType.XQITEMKIND_DOCUMENT.

    Returns:
    a new XQItemType representing the XQuery document() type
    Throws:
    XQException - if the underlying object implementing the interface is closed

    createElementType

    public XQItemType createElementType(QName nodename,
                                        int basetype)
                                 throws XQException
    Creates a new XQItemType object representing the XQuery element(nodename, basetype) type, with the given node name and base type. This method can be used to create item type for elements with a pre-defined schema type.

    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 name
    basetype - the base type of the item. One of the XQItemType.XQBASETYPE_* constants
    Returns:
    a new XQItemType representing the XQuery element(nodename, basetype) type
    Throws:
    XQException - if (1) the underlying object implementing the interface is closed

    createElementType

    public XQItemType createElementType(QName nodename,
                                        int basetype,
                                        QName typename,
                                        URI schemaURI,
                                        boolean allowNill)
                                 throws XQException
    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. 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 name
    basetype - the base type of the item. One of the XQItemType.XQBASETYPE_* constants
    typename - the QName of the type. Can be null
    schemaURI - the URI to the schema. Can be null. This can only be specified if the typename is also specified
    allowNill - the nilled property of the element
    Returns:
    a new XQItemType representing the XQuery element(nodename,basetype, typename,schemaURI, allowNill) type
    Throws:
    XQException - if (1) schemaURI is specified but the typename is not specified or (2) the underlying object implementing the interface is closed

    createItemType

    public XQItemType createItemType()
                              throws XQException
    Creates a new XQItemType object representing the XQuery item type. The XQItemType object will have the item kind set to XQItemType.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

    public XQItemType createNodeType()
                              throws XQException
    Creates a new XQItemType object representing the XQuery node() type. The XQItemType object will have the item kind set to XQItemType.XQITEMKIND_NODE.

    Returns:
    a new XQItemType representing the XQuery node() type
    Throws:
    if - the underlying object implementing the interface is closed
    XQException

    createProcessingInstructionType

    public XQItemType createProcessingInstructionType(String piTarget)
                                               throws XQException
    Creates a new XQItemType object representing the XQuery processing-instruction(piTarget) type. The XQItemType object will have the item kind set to XQItemType.XQITEMKIND_PI. A string literal can be passed to match the PITarget of the processing instruction as described in 2.5.4.2 Matching an Item Type and an Item, XQuery 1.0: An XML Query Language.

    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. A null string value will match all processing instruction nodes
    Returns:
    a new XQItemType representing the XQuery processing-instruction(piTarget) type
    Throws:
    XQException - if the underlying object implementing the interface is closed

    createSequenceType

    public 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. The itemType must be null for XQSequenceType.OCC_EMPTY and cannot be null for any other occurrence indicator
    occurence - 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
    Returns:
    a new XQSequenceType representing the type of a sequence
    Throws:
    XQException - if (1) the item is null except when the occurence is XQSequenceType.OCC_EMPTY, (2) 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 (3) the underlying object implementing the interface is closed

    createTextType

    public XQItemType createTextType()
                              throws XQException
    Creates a new XQItemType object representing the XQuery text() type. The XQItemType object will have the item kind set to XQItemType.XQITEMKIND_TEXT.

    Returns:
    a new XQItemType representing the XQuery text() type
    Throws:
    XQException - if the underlying object implementing the interface is closed