Classes | Public Member Functions

xmlstore::Operational Interface Reference

import "archive_xmlstore_if.idl";

Inheritance diagram for xmlstore::Operational:
Inheritance graph
[legend]
Collaboration diagram for xmlstore::Operational:
Collaboration graph
[legend]

List of all members.

Classes

exception  AlreadyThere
exception  DirtyEntity
exception  IllegalEntity
exception  MalformedURI
exception  NotFound
exception  NotYetThere
struct  StatusStruct
exception  TimestampInconsistency

Public Member Functions

boolean exists (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)
void store (in xmlentity::XmlEntityStruct entity) raises (ArchiveInternalError, IllegalEntity)
void update (in xmlentity::XmlEntityStruct entity) raises (ArchiveInternalError, IllegalEntity, TimestampInconsistency)
void forceUpdate (in xmlentity::XmlEntityStruct entity) raises (ArchiveInternalError, IllegalEntity, TimestampInconsistency)
void updateXML (in URI uid, in string schema, in wstring newChild) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)
xmlentity::XmlEntityStruct retrieve (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)
StringSeq retrieveFragment (in URI identifier, in string id) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)
xmlentity::XmlEntityStruct updateRetrieve (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)
xmlentity::XmlEntityStruct retrieveDirty (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI)
void delete (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI)
void undelete (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI)
StatusStruct status (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI)
Cursor query (in wstring query, in string schema) raises (ArchiveInternalError)
Cursor queryContent (in wstring query, in string schema) raises (ArchiveInternalError)
Cursor queryDirty (in wstring query, in string schema) raises (ArchiveInternalError)
URISeq queryUIDs (in wstring query, in string schema) raises (ArchiveInternalError)
URISeq queryUIDsDirty (in wstring query, in string schema) raises (ArchiveInternalError)
URISeq queryRecent (in string schemaname, in string timestamp) raises (ArchiveInternalError)
void addElement (in URI uid, in string schema, in wstring xPath, in wstring xmlElement) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)
void updateElement (in URI uid, in string schema, in wstring xPath, in wstring xmlElement) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)
void deleteElement (in URI uid, in string schema, in wstring xPath) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)
void close (in string password) raises (ArchiveInternalError)

Detailed Description

This interface contains the core functionality of the XMLstore: store, query and retrieve XML documents (entities). An entity is a set of XML documents: In this way, versioning is implemented. The normal behaviour is that only the latest document is referenced. Some methods also allow access to older versions. XML entities are also associated with meta data.


Member Function Documentation

void xmlstore::Operational::addElement ( in URI  uid,
in string  schema,
in wstring  xPath,
in wstring  xmlElement 
) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)

Adds xmlElement as last child of the (first) element found by xPath in document uid (belonging to schema schema)

void xmlstore::Operational::close ( in string  password  )  raises (ArchiveInternalError)

Archive usage only. Shuts down Archive subsystem. Password must be provided to avoid abuse by other subsystems

void xmlstore::Operational::delete ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI)

Flags an entity as deleted. Deleted entities can not be updated, retrieved, or queried.

void xmlstore::Operational::deleteElement ( in URI  uid,
in string  schema,
in wstring  xPath 
) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)

The (first) element pointed at by xPath in document uid (belonging to schema schema) will be deleted.

boolean xmlstore::Operational::exists ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)

Checks whether an entity with given UID already exists in Archive. Returns true, if this is the case.

void xmlstore::Operational::forceUpdate ( in xmlentity::XmlEntityStruct  entity  )  raises (ArchiveInternalError, IllegalEntity, TimestampInconsistency)

Updates an existing entity. No timestamp consistency check is performed.

Cursor xmlstore::Operational::query ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Returns a cursor containing all entities (latest version) matching the XPath query passed over in the parameter query. Only entities associated with the schema name handed over in parameter schema are returned. Entities flagged as dirty are not returned.

Due to a problem in Oracle XPath handling, this method does not handle XPath expressions querying for content (eg. a/attributeb) as query *result* correctly. For these queries you'll have to use the dedicated queryContent method.

Cursor xmlstore::Operational::queryContent ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Same as query, but is able to handle content queries (eg. a/b/text() ) correctly. Do not use this method for non-content queries (eg. a[]/c ).

Cursor xmlstore::Operational::queryDirty ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Same as query, but entities flagged as dirty are returned, too.

URISeq xmlstore::Operational::queryRecent ( in string  schemaname,
in string  timestamp 
) raises (ArchiveInternalError)

Returns UIDs of all documents belonging to specified schema which are newer (latest version) then timestamp. Entities flagged as dirty are not returned.

URISeq xmlstore::Operational::queryUIDs ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Same as query, but returns a sequence of UniqueIdentifiers for the matching documents instead of a cursor (which contains the documents itself). Entities flagged as dirty are not returned.

URISeq xmlstore::Operational::queryUIDsDirty ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Same as queryUIDs, but entities flagged dirty are returned, too.

xmlentity::XmlEntityStruct xmlstore::Operational::retrieve ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)

Retrieves an entity (latest version) from the Archive. If the entity is marked as dirty an exception is thrown.

xmlentity::XmlEntityStruct xmlstore::Operational::retrieveDirty ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI)

retrieves an entity even if it flagged as dirty.

StringSeq xmlstore::Operational::retrieveFragment ( in URI  identifier,
in string  id 
) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)

Retrieves part of an entity (latest version). The part is specified by the XPath expression handed over in the parameter id.

StatusStruct xmlstore::Operational::status ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI)

Retrieves meta information about an entity.

void xmlstore::Operational::store ( in xmlentity::XmlEntityStruct  entity  )  raises (ArchiveInternalError, IllegalEntity)

Stores a new entity.

void xmlstore::Operational::undelete ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI)

Flags an entity as undeleted

void xmlstore::Operational::update ( in xmlentity::XmlEntityStruct  entity  )  raises (ArchiveInternalError, IllegalEntity, TimestampInconsistency)

Updates an existing entity. The timestamp that is part of the XmlEntityStruct is compared to the latest timestamp of that entity in the Archive. If the timestamps mismatch an exception is thrown.

void xmlstore::Operational::updateElement ( in URI  uid,
in string  schema,
in wstring  xPath,
in wstring  xmlElement 
) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)

The (first) element pointed at by xPath in document uid (belonging to schema schema) will be replaced by element xmlElement.

xmlentity::XmlEntityStruct xmlstore::Operational::updateRetrieve ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)

Retrieves an entity and flags it as dirty for updating it.

void xmlstore::Operational::updateXML ( in URI  uid,
in string  schema,
in wstring  newChild 
) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)

Performs an incremental update on the XML document stored under uid belonging to schema schema: The XML string newChild as appended as the last child of the root element in the database. No history information is maintained in this case for this update operation (as opposed to the normal update).


The documentation for this interface was generated from the following file: