| |
Home | Concepts | API | Samples |
Concepts > XML | |||||||||||||||||||||||||||||||||||||||||
Basic Principles | |||||||||||||||||||||||||||||||||||||||||
The ArcSDE XML API provides support for storing XML documents in a database and allows for searching data stored in the documents, such as ArcGIS metadata. ArcSDE XML was introduced in ArcSDE 9.0 for most databases and in Informix in ArcSDE 9.3. Starting with ArcSDE 10.0, support has been added for native XML columns in IBM DB2 (PureXML), Oracle 11g (Oracle XML DB), PostgreSQL, and Microsoft SQL Server databases. Native XML columnsMost database management systems (DBMS) offer an XML data type of their own. This data type is present in default installations of these databases but, in some cases, it is possible that the necessary XML component was not installed when the DBMS was setup. Refer to your DBMS documentation for details on installing and using the database's native XML type. ArcSDE supports creating native XML columns in geodatabases using the ArcSDE API. In DB2, Oracle, and SQL Server databases, you can also use the ArcSDE API to create and use XML schemas. The following table lists support for different XML features in each DBMS:
To see which DBMS releases are required to use native XML in an ArcSDE geodatabase, see the system requirements page on the ESRI support site. ArcSDE XML columnsThe ArcSDE XML column represents a column in an ArcSDE table, similar to
spatial or raster columns, and contains references to associated XML data, which is stored in several internal
tables. These internal tables are created and managed by ArcSDE. They store associated XML
data such as indexes, tags, and documents.
The XML database schema shows an XML
column's association with these internal tables. XML index and tags ArcSDE supports two indexing concepts:
An XML index can have three types of tags:
Search on XML columns can either be tag-based (XPATH) or full-text search. A tag-based search uses tags to search the XML documents. An index is used to enable searches on XML columns. An XML column can have three types of text indexes to support different types of searches.
XML Document An XML document is a hierarchically structured text document consisting
of labels, called tags, and data. It is used for storing and retrieving
XML documents in ArcSDE. XPATH Searches XPath is used to search XML documents based on an XPath constraint or expression. It is an expression language to address the parts of an XML document. The ArcSDE XPath implementation follows the XPath 1.0 (http://www.w3.org/TR/xpath) specifications. This implementation is also compatible with XPath 2.0 (http://www.w3.org/TR/xpath20). XPath 1.0 is based on two main components.
Operations can be performed on these two components.
Operations on node trees are the core of the XPath language because XML documents are structured as node trees. ArcSDE supports three atomic values for data types: string, double, and char. It supports a limited number of operations to select nodes in the trees. An index associated with specific XML elements supports searching text or numeric data in those elements. This index is associated with the SDE_XML_INDEXES table. As an example of using an XPath index, the user might search only the content in an XML element containing scale information to find GIS resources that are appropriate for the users application. A tag or XPATH index on an XML column is an optional index. It contains a list all tags and their data types and lets people search the content of that specific XML element or attribute in each document. It can be created manually, or based on an ArcSDE analysis of some sample documents, or based on a set of templates.See also XML API Entities |
feedback |
privacy |
legal |