Many actual XML documents can be transformed easily to a relational
representation: the primitive types are compatible with those in Paradox
and in SQL database servers Paradox can use
Caution must still be exercised when modeling these transformations:
most XML DTDs define "hollow" structures in which many nodes
can be absent from the datasets expressed under the DTD: this means any
data model designed to store an XML Infoset (XIS) must be exploded to
as many tables as needed, in order to avoid an excess of rows in which
most columns would just hold NULL values.
An efficient storage technique therefore consists of breaking the original
or transformed (usng XSLT) documents along XPath selections, to store
elements and attributes actually used in separate tables for further use.
Flat files / BLOBs
One can also store the XML source file as any other BLOB data, within
the DBMS or in a flat file. In that case, queries can no longer be automated,
but serving the full document becomes faster.