XML Database Products:
IDEs and Editors
Copyright 2000-2006 by Ronald Bourret
This list has not been updated since roughly 2010. As a result, information may be out of date and products may no longer be available. If you are interested in a product whose link does not work, search for it on the Web, as product pages frequently change and products/companies are frequently sold.
IDEs are products used to write XML applications. Editors are products used to edit XML documents. Some of these include libraries that can be used to transfer data between XML documents and databases. The major difference between the two is that the libraries can be called directly by IDE users in the applications they are writing, while they are called by the product itself in the case of editors.
- Middleware: Software you call from your application to transfer data between XML documents and databases.
- Data Integration Software: Standalone servers designed to transfer data between multiple data sources, including XML and databases.
- XML-Enabled Databases: Databases with extensions for transferring data between XML documents and themselves.
- Web Application Servers: Software that builds database-driven XML documents for access over the Web.
- Alchemist XML IDE
- Developer: Mentat Technologies
Database type: Relational
Direction(s) : Database=>XML
Entry last updated: December, 2005
Alchemist XML IDE provides two different methods for transferring data from a database to an XML document. The first method serializes the result of a SELECT statement as XML using a table-based mapping. Individual rows are wrapped in <ROW> elements and column data is returned using child elements. The second method allows SELECT statements to be embedded in an XML document. Each SELECT statement must be placed inside a single element. When the document is processed, the element containing the SELECT statement is repeated once for each row in the result set, and column data is returned using child elements.
- Developer: Borland
Database type: Relational (Borland Database Engine, ADO, dbExpress, InterBaseExpress)
Direction(s): Database=>XML, XML=>Database
Entry last updated: July, 2001
Delphi is an application development tool that supports the transfer of data between XML documents and databases through the use of client data sets. A client data set is one in which all of the data is local to the client. Client data sets can be bound to databases or XML documents. Thus, by binding one client data set to a database, binding another client data set to an XML document, and linking the data sets so that they operate on the same set of data, it is possible to transfer data between an XML document and a database. Furthermore, since data sets are updateable, updates made to the data set can be reflected in both the database and the XML document.
The mapping between a client data set and an XML document is table-based. However, since client data sets can contain other client data sets as column values, this effectively allows an object-relational mapping. Furthermore, because different mappings can be specified in either direction (XML to database and database to XML), the result is a slightly liberalized object-relational mapping.
- Developer: SyncRO Soft Ltd.
Database type: Relational (JDBC)
Entry last updated: November, 2006
oXygen is an XML editor that can be run as a standalone product or an Eclipse plug-in. It can retrieve data from relational databases using a table-based mapping. Users can specify the SELECT statement to execute, the name of the root element, the name of the elements corresponding to each row, whether to return individual columns as elements or attributes, and the names of these elements and attributes. Users can also specify whether to create empty elements for null and/or empty values and what date/time format to use.
oXygen can also generate an XML Schema from a database schema. This schema can have a "flat" structure corresponding to the schemas specified by SQL/XML, or a hierarchical structure that translates primary key / foreign key relationships into parent / child relationships in XML. (In other words, it can generate a schema according to a table-based mapping or an object-relational mapping.)
oXygen also contains an XQuery editor. XQuery queries can be executed using the Berkeley DB XML, eXist, MarkLogic, Tamino, TigerLogic XDMS, and X-Hive/DB native XML databases, as well as the DB2, Oracle, and SQL Server relational databases. They can also be executed using the Saxon XQuery engine. Additional support for native XML databases includes the ability to browse the database, manage collections, and edit documents stored in the database. Additional support for relational databases includes the ability to browse the database, register XML Schemas, and edit documents stored in XML columns.
- Stylus Studio
- Developer: DataDirect Technologies
Database type: Relational, native XML databases
Direction(s): Database=>XML, XML=>Database
Entry last updated: June, 2006
Stylus Studio is an XML IDE that supports database access in four ways:
Stylus Studio has an editor for SQL/XML, which is a set of standard extensions to SQL for creating XML values from relational data. To execute SQL/XML statements, it uses DataDirect's Connect for SQL/XML, which is a JDBC driver that implements SQL/XML on top of a number of relational databases. These include DB2, Informix, SQL Server, Oracle, and Sybase (via native drivers) and ODBC data sources (via DataDirect SequeLink, which can be purchased separately.)
Connect for SQL/XML (and therefore Stylus Studio) supports standard SQL/XML. It also provides extensions to INSERT, UPDATE, and DELETE statements that allow applications to modify data in the database based on the values in an XML document. For example, users could retrieve data from the database as XML, edit the resulting document, and update the database with the changes. In addition, it can return the results of any SELECT statement as an XML document using the mapping defined in the SQL/XML specification (see below). For more information about Connect for SQL/XML, click here.
Connect for SQL/XML statements, along with other information such as database connection information, can be saved to a file. These can be referenced in URLs that can be used in XQuery queries or XSLT stylesheets.
Stylus Studio can also access relational data through its URL Builder in the Open dialog box. This is also built on top of Connect for SQL/XML and allows users to open a single table or view and return its data as XML, using either of the mappings defined in the SQL/XML specification for this purpose. (One mapping uses the table name as the root element name, constructs <row> elements for each row in the table, and constructs child elements for each column in the table. The other mapping constructs a forest of elements that use the table name and which contain child elements for each column; the forest is wrapped in a root element with a proprietary name.)
Stylus Studio can access databases through its XQuery editor. This allows users to construct and execute XQuery queries. It includes support for running these queries against the Stylus Studio XQuery processor (running internally or externally), DataDirect XQuery (which implements XQuery over relational databases), Saxon, MarkLogic Server, and Tiger Logic XDMS from Raining Data. Users can also configure it to run against other XQuery processors. In addition, Stylus Studio can generate Java code to execute an XQuery query against Saxon.
Stylus Studio can store and retrieve documents in two different native XML databases: Berkeley DB XML and Tiger Logic XDMS from Raining Data. These documents can be used anywhere in Stylus Studio. For example, they can simply be retrieved, edited, and re-stored in the database, or they can be used in an XQuery query or XSLT stylesheet.
- Unicenter SQL-Station
- Developer: Computer Associates International
Database type: Relational (Oracle)
Direction(s) : Database=>XML, XML=>Database
Entry last updated: June, 2005
Unicenter SQL-Station is an "integrated development environment for creating, editing, testing, debugging, tuning, and managing SQL and server-side database code." It includes a Wizard for transferring data between XML documents and the database, apparently using Oracle's XML SQL Utility for Java. It also supports Oracle's ability to execute XPath queries over XML documents stored in Oracle XMLType columns.
- XML Spy
- Developer: Altova
Database type: Relational (ADO, ODBC)
Direction(s) : Database=>XML, XML=>Database
Entry last updated: May, 2005
XML Spy can transfer data from a database to an XML document in two ways. First, it can transfer the results of a SELECT statement using a table-based mapping. Second, it can transfer data according to an object-relational mapping defined by the user. Options include whether to transfer column data to attributes or child elements, whether to exclude primary and foreign key values (useful when these are database-specific, rather than containing business values), and what format to use for dates and numbers.
XML Spy can transfer data from an XML document to the database using an object-relational mapping based on an XML Schema. Options include whether to generate key values, the element to start with, the number of levels of nesting to consider, and whether or not to transfer data from attributes, simple child elements, and text nodes.
Other features include the ability to create XML Schemas from database schemas and vice versa, direct support for the XML features in Oracle and SQL Server, and integrated support for Tamino. In addition, TEXTML Server and NeoCore XMS both provide integration kits for using those native XML databases with XML Spy.