[xsd-users] Removal of support for Oracle/Berkeley DB in XSD 4.0.0

Boris Kolpackov boris at codesynthesis.com
Thu May 16 19:23:43 EDT 2013


Hi Erick,

Erick Jordan <erickfjordan at gmail.com> writes:

> Was wondering if you can suggest an alternative XML DB to use?

That's a difficult question. The problem with Oracle XML DB is this:
originally they used Xerces-C++ underneath and you could actually
get access to underlying DOM. This allowed nice integration of XML
DB and XSD.

However, the XML DB folks decided to change this and get rid of the
Xerces-C++-based interface. I had a very long conversation with them
(we have a commercial client who uses this combo so it was important),
but in the end the XML DB people said that that's the way it is going
to be. And with this change there is really no point in maintaining
support for integration with XSD (in fact, it would be quite hard to
implement the same level of integration/convenience/performance).

Now, what would I suggest one should use as an alternative? If you
don't need it to be an XML database, then using a relational database
(e.g., SQLite) sounds like a natural choice. Of course you would
store the actual data rather than the XML representation of it.
In this case, you may also want to take a look at ODB:

http://www.codesynthesis.com/products/odb/

The idea is that you could generate the C++ classes from XML Schema
with XSD and then map them to a relational database with ODB. The
end result will be you being able to save the same class either to
XML or to a relational database.

If, on the other hand, you must use an XML database, then I don't
really have any good suggestions. You can still use XML DB with XSD,
but you will have to always interface via the XML (text) representation
of the data, which will be a lot less convenient or efficient.

Boris



More information about the xsd-users mailing list