import "archive_xmlstore_if.idl";
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) |
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.
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).