### XmlIndexSpecification::addIndex |

`

###

    #include <DbXml.hpp>

    void XmlIndexSpecification::addIndex(const std::string &uri, const std::string &name, const std::string &index);
    bool XmlIndexSpecification::find(const std::string &uri, const std::string &name, std::string &index);
    bool XmlIndexSpecification::next(std::string &uri, std::string &name, std::string &index);
    void XmlIndexSpecification::reset();

### Description: XmlIndexSpecification::addIndex

The XmlIndexSpecification interface provides methods for specifying the indexing of a container. Indexing is specified by providing the name of a node and a list of indexing strategies for that node. The node name can be either that of an element or attribute node. For example, in the XML fragment "<art title='...'/>" there are two node names that index strategies could be specified for, the element node name is 'art', and the attribute node name is 'title'. See the Indexing section of the reference guide for detailed information on designing an indexing strategy for your application.

Applications can specify a default indexing strategy for all nodes in a container by declaring an indexing strategy for the default document node. The name of the node is "default" and its namespace URI is "http://www.sleepycat.com/2002/dbxml". These can be referenced using the Berkeley DB XML constants DbXml::metaDataName_default and DbXml::metaDataNamespace_uri. When a container is first created the indexing strategy specified for the default document node is 'none-none-none-none'.

The XmlIndexSpecification::addIndex method adds indexing strategies for a named document node.

### Parameters

uri
  The namespace of the node to be indexed. The default namespace is selected by passing an empty string for the namespace.

name
  The name of the element or attribute node to be indexed.

index
  A space-separated list of the following indexing strategy names:

  - none-none-none-none
  - node-element-presence-none
  - node-attribute-presence-none
  - node-element-equality-string
  - node-element-equality-number
  - node-element-substring-string
  - node-attribute-equality-string
  - node-attribute-equality-number
  - node-attribute-substring-string
  - edge-element-presence-none
  - edge-attribute-presence-none
  - edge-element-equality-string
  - edge-element-equality-number
  - edge-element-substring-string
  - edge-attribute-equality-string
  - edge-attribute-equality-number
  - edge-attribute-substring-string

### Description: XmlIndexSpecification.find

The XmlIndexSpecification::find method returns the indexing strategies for a named document node.

### Parameters

uri
  The namespace of the node to be indexed. The default namespace is selected by passing an empty string for the namespace.

name
  The name of the element or attribute node to be indexed.

Returns the index strategies defined for this node.

### Description: XmlIndexSpecification.reset

The XmlIndexSpecification::reset and XmlIndexSpecification::next methods comprise the iteration interface. The XmlIndexSpecification::reset method method resets the iterator.

### Description: XmlIndexSpecification.next

The XmlIndexSpecification::reset and XmlIndexSpecification::next methods comprise the iteration interface. The XmlIndexSpecification::next returns the next document node name and its indexing strategy.

Returns the next document node name and its indexing strategy.

### Class

XmlContainer, XmlDocument, XmlException, XmlIndexSpecification, XmlQueryContext, XmlQueryExpression, XmlResults, XmlUpdateContext, XmlValue`

Copyright (c) 1996-2003 Sleepycat Software, Inc. - All rights reserved.