|Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact|
|Full name||ESRI Geodatabase XML|
ESRI's Geodatabase XML (GeoDB_XML) format is ESRI's open mechanism for data sharing among ArcGIS users, and for information interchange between geodatabases and external systems. GeoDB_XML can be used by ArcGIS to import and export all items and data in a geodatabase such as domains, rules, feature datasets, and topologies. Using GeoDB_XML, external applications can receive XML data streams that include full or partial portions of geodatabase schemas shareable between ArcGIS users, complete lossless datasets, simple feature sets (such as shapefiles) and change-only or delta record sets. The delta record-sets are XML streams that can be used to pass updates and changes among geodatabases and other external data structures.
There are three types of XML documents that can be created in ArcGIS: a workspace document, a record set document, and a data changes document.
The XML schema for GeoDB_XML, GdbExchange.xsd can be found in the Program Files\ArcGIS\XMLSchema directory of the file system upon which ArcGIS products are implemented.
|Production phase||Primarily used as a middle-state format for transfer and exchange of geodatabase data and schema among ArcGIS products. For specific instructions on copying the schema of a geodatabase and other production tasks, see the discussion on the ESRI Developer Network Documentation Library at About copying the schema of a geodatabase.|
|Relationship to other formats|
|Defined via||XML_Schema, W3C XML Schema Language|
|Affinity to||GeoDB_family, ESRI Arc Geodatabase Format Family. This is the data model that serves as the framework for all Arc geodatabases, whether single user or multi-user. This data model has superseded the ESRI ArcInfo Coverage format which cannot be edited in ArcGIS 8.3 and subsequent versions.|
|Affinity to||GeoDB_File, ESRI Arc Geodatabase. A single user, file system based geodatabase that is one option for data storage for an ESRI Geodatabase.|
|Affinity to||GeoDB_Personal, GeoDB, ESRI Geodatabase (Personal). GeoDB_Personal, GeoDB, ESRI Geodatabase (Personal). An option for data storage for a single-user ESRI Geodatabase that is implemented as a single Microsoft Access file.|
|Affinity to||GeoDB_SDE, GeoDB, ESRI Geodatabase ArcSDE. The spatial database engine is the multi-user option for data storage for an ESRI Geodatabase.|
|LC experience or existing holdings|
|Disclosure||A proprietary XML-based data structure used in ESRI GIS products. Published as an XML schema, which is distributed to ArcGIS customers with the product and updated with each product version to fix bugs and cover new features. The schema is described, informally but in some detail, in a document available in PDF form and on the web from ESRI.|
The XML Schema for Geodatabase XML is distributed to ArcGIS customers. It is found in the file GdbExchange.xsd at the path ArcGIS\XmlSchema\GdbExchange.xsd after product installation.
The latest version of the schema description is available from ESRI Support, White Papers/ArcInfo Desktop. As of August 2020, the latest version of the document, XML Schema of the Geodatabase was dated June 2008.
|Transparency||The XML Workspace version of a Geodatabase instance is the most transparent of forms an ESRI Geodatabase can take, since the XML can be parsed and interpreted using general XML tools when the XML Schema is accessible.|
A geodatabase in the GeoDB_XML format is viewable using ArcGIS products, such as ArcGIS Desktop. The ArcGIS Engine Developer Kit has tools (see ArcObjects) to use for building a viewer. Safe Software has an ESRI Geodatabase (XML) Reader / Writer, for which ArcGIS Desktop must be installed. See ESRI Geodatabase (XML) Reader/Writer and Geodatabase XML Workspace Document Schema Reader for more information on the Safe Software FME product.
The Esri Geodatabase (File Geodb Open API) Reader/Writer allows FME to store data in and retrieve data from Esri’s File Geodatabase, based on the File Geodatabase API. However, the API does not support all features that might be stored in a Geodatabase.
|Technical protection considerations||TBD|
|GIS images and datasets|
Any products of spatial analysis as reflected in topologies, tables of attributes, network analysis, etc. should be transferable as part of an XML workspace document using the GeoDB_XML format. If the data structure alone of a given geodatabase is desired, the GeoDB_XML format can be used to transfer the geodatabase schema without the data. In addition, simple changes to a database can be transferred between geodatabase versions using the GeoDB_XML format by using the portion of the GeoDB_XML schema that documents the changes in the geodatabase (Data Changes Document).
There is some indication that limitations in the ArcGIS tools also limit what can be transferred using the GeoDB_XML format. For instance, in cases when the user is interested in saving and restoring a geometric network within a geodatabase, ArcCatalog forces the user to drop any existing geometric network data when new data is to be included from another version of a geodatabase or an associated geodatabase. Other tool sets have been created to work around this problem, namely Geodatabase Designer 2. For discussion of this problem, see Geodatabases from Wildsong Wiki.
|Internet Media Type||text/xml
See Overview of copying geodatabases for an example of copying a geodatabase using geodatabase XML workspaces.
The ArcGIS disconnected editing framework allows you to check data out of a database into a separate geodatabase, then edit the data without having a live connection to the parent database. Once the editing is done, it is possible to export only the changes (not all the data) to an XML file. This file can be used to subsequently check in the changes to the parent database. For more information about the disconnected editing framework, see Replication types. This is also a key part of geodatabase replication. For more information about geodatabase replication, see Working with geodatabase replication.
A set of tools that has been recommended in the past to use in conjunction with GeoDB_XML or other geodatabase schemas is Geodatabase Designer 2 (GD2). GD2 is a public domain toolset that is designed to document and exchange geodatabase schemas, particularly when geometric networks are included in the geodatabase. GD2 included an editor for geometric network connectivity rules. See ArcScripts for Geodatabase Designer v2 (9.2) (link now via Internet Archive) for more information about this set of tools, which has not been updated for versions of ArcGIS beyond 9.3. The compilers of this resource have not determined whether tools with equivalent functionality are available as of 2020. Comments welcome.
Exports of geodatabases from other forms to GeoDB_XML can be made using ArcGIS products. At the Esri International Users Conference in 2011, a presentation from the GeoMAPP (Geospatial Multistate Archive and Preservation Partnership) project entitled "Safe to Save? Archive Options for Geodatabases" was based on a limited set of experiments with exports and conversion of various geodatabase formats and import into later versions of ArcGIS. Limitations included the exclusion of any geodatabase incorporating raster images. An export of a personal geodatabase in the legacy Microsoft Access variant to GeoDB_XML from ArcGIS 9.1, was not successfully imported into any later version of ArcGIS. An export to the GeoDB_XML format from a geodatabase in the file-based format (GeoDB_file) was successfully imported into the most recent version of ArcGIS at the time, but the resulting file was five times larger than the source database. These test results are also reported in Archival Challenges Associated with the Esri Personal Geodatabase and File Geodatabase Formats (December 2011) by the GeoMAPP project.
|History||The XML schema was made available in 2004 with version 9.0+ of ArcGIS, and updated in 2006. Changes to the schema were documented in the 2008 version of the informal format specification document, "XML Schema of the Geodatabase."|