XmlDocument::setMetaData API Ref

#include <DbXml.hpp>

void XmlDocument::setMetaData( const std::string &uri, const std::string &name, const XmlValue &value);

void XmlDocument::setMetaData( const std::string &uri, const std::string &name, const XmlData &value);


Description: XmlDocument::setMetaData

Sets the value of the specified metadata attribute. A metadata attribute is a name-value pair, which is stored with the document, but not as part of the document content. The value of a metadata attribute may be typed or untyped.

A metadata attribute name consists of a namespace URI and a name. The namespace URI is optional but it should be used to avoid naming collisions.

Typed values are passed to the API as an instance of XmlValue, and may be of type Number, String, or Boolean.

The metadata attribute can be queried using an XQuery query that makes use of the special dbxml:metadata() function from within a predicate. To make use of this function, you must define a namespace for use with the query (it can be any random namespace). For example, suppose you had metadata whose name was "dateStamp". Then to query for documents that have a specific dateStamp value:

myQueryContext.setNamespace("ds", "http://randomNS/");
std::string myQuery="/*dbxml:metadata('ds:dateStamp')='10/30/2004'";

Untyped values are passed to the API as a XmlData.

If a given metadata attribute is indexed, it is possible to use XmlContainer::lookupIndex to perform fast lookup.

Parameters
uri name value

APIRef

Copyright (c) 1996-2009 Oracle. All rights reserved.