XML Indexer
From Gcube Wiki
Introduction
The XMLIndexer factory Service allow to create a GenericXMLIndexerService and a MetadataXMLIndexerService. The GenericXMLIndexerService is not implemented yet. A MetadataXMLIndexer operate over a collection of homogeneus XML documents bound to a specific MetadataCollection, this indexer can be populated, updated, recreated and queried.
Implementation Overview
XMLIndexer consist of two parts:
- MetadataXMLIndexer
MetadataXMLIndexer provides the functionalities to retrieve, update, store MetadataElements into Metadata Collections.
The Service expose the following operations:
- AddElements(Documents[]) --> void
This operation take a list of Documents and adds them to the current collection in exist1.1 DB. A Document is a pair of id and a String representation of the XMLDocument. This operation can be used to update elements already stored given the same id of an existing document. - AddElementsRS(String) --> void
This operation take a string representing a reference to a RSLocator (see ResultSetService). The AddElementRS create a RSReader and stores the element readed in exist1.1 DB.
- ExecuteXPath(string) --> string[]
This operation take a string representing the XPath. It executes the given XPath on the current collection. - ExecuteXPath(string) --> string
This operation take a string representing the XPath. It executes the given XPath on the current collection and return a string representing a reference to RSLocator (see ResultSetService). - ExecuteXQuery(string) --> string[]
This operation take a string representing the XQuery. It executes the given XQuery on the current collection and return an array of string. - ExecuteXPathRS(string) --> string
This operation take a string representing the XQuery. It executes the given XQuery on the current collection and return a string representing a reference to RSLocator (see ResultSetService).
- AddElements(Documents[]) --> void