[
Lists Home |
Date Index |
Thread Index
]
- From: Dylan Walsh <Dylan.Walsh@Kadius.com>
- To: xml-dev@xml.org
- Date: Fri, 12 May 2000 10:21:38 +0100
I problem I am looking at is how best to store XML documents, an area I'm
sure a lot of developers are hitting right now. In particular I'm talking
about documents as opposed to data. Simple data like:
<customer>
<id>2342</id>
<name>John Doe</name>
<phone>345321345</phone>
</customer>
maps very easily to a relational database (probably because it came from a
relational DB). However, documents can have a very complicated structure,
and even two of the same DTD (e.g. two XHTML docs) won't have the same
structure from the perspective of relational tabes (for example, in xhtml a
<u> element can contain a <b> element, which can contain a <u> element...).
One possibility is to create a DB schema which describes the general
structure of any XML document e.g. elements which contain other elements,
attributes, text... Or perhaps you could just model nodes etc.
Another option is to use a special XML DB. Or an Object Orientated DB. Or
the file system. The advantage of using some kind of DB is that it provides
coherency/synchronization, transactions etc. - the features you need when
multiple users may be accessing the data simulataneously. You can implement
these things over the filesystem, but by the time you have done that you
have written your own DBMS. Another issue is searches/queries - do you want
to load each file and search over its contents?
People are figuring this out now, but it seems likely that this is something
that SGMLers hit years ago. Those who do not study history are destined to
repeat it. What are the lessons that have been learned?
***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************
|