[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: ANN: XML and Databases article
Steven R. Newcomb wrote: > I learned some interesting things from this article, for which I'm > grateful. Recommended reading! Thanks! > I was disappointed that the grove paradigm > (http://www.prescod.net/groves/shorttut/) was never mentioned, nor was > GroveMinder (http://www.techno.com). The grove paradigm offers an > ISO-defined meta-DOM to all notations, including XML. I've read Paul's tutorial and the GroveMinder summary on the Web, so let's see if I've got this straight. A grove is basically a property set, broken down into classes, each of which has properties. There are probably relationships between those classes. For example, a grove for XML could have classes for elements, attributes, entities, and so on, where the element class points to the attribute class. A grove for a relational database would have classes for tables, columns, etc., where the table class points to the column class. (In this sense, the XML information set has much in common with groves, as it is a property set. Similarly, the DOM could be viewed as an API for a grove. The XML information set is not a grove because [why? The only reason I can think of is that it is not been expressed in grove notation]. The DOM is not an API for a grove because it's a bit wishy-washy in places -- for example, four characters of PCDATA could be one node or four, so it's not built on a rigid enough data model.) The nice thing about groves is that all groves, regardless of what they are built on, have certain commonalities, such as addressability, so you can perform certain common functions with them. GroveMinder is generic grove middleware. It has plug-ins, called Minders (I think of them as drivers), that can build groves over different property sets. For example, there is one Minder for SGML/XML documents and a different Minder for relational databases. (There can actually be different property sets for a "type" of data. For example, one property set for XML might include entities and another might not, specifying that each entity is replaced by its value. A different Minder is needed for each property set.) One thing GroveMinder can do is store a grove in its own database. (Note that this is separate from the database addressed by the relational database Minder -- it has a structure designed to store groves.) Thus, GroveMinder can store an XML document in a database as a grove and is what I, in my article, called a content management systems. That is, it can store and retrieve an XML document as a document. Some questions: 1) Is it possible to combine groves of different types? For example, can I take a grove representing a table in a relational database and stuff it into a grove for an XML document, for example as the content of an element? If so, does the table grove retain its table-ness, or is it converted to one or more XML elements? Both cases seem reasonable, although the latter would presumably require a special converter. If the latter case is true, then GroveMinder might also fit what I call data transfer middleware, depending on how the conversion is done. 2) Are groves themselves relevant at a high level in a discussion of XML and databases? It strikes me that, like SAX and the DOM, they are a useful tool in implementing software that stores/retrieves XML documents (or data from those documents) in a database but are not directly relevant to the discussion itself. Instead, they are most relevant to the user in that they are likely to weigh heavily in the feature set exposed by a content management system or (possibly) data transfer system. 3) This isn't directly related to XML/databases, but what other common functionality do all groves have? For example, can I write an application that navigates groves, regardless of their source (I think the answer is yes)? Can I combine groves of different types or convert painlessly -- that is, without writing any additional code -- from one type to another (I think the answer is no -- additional code is needed)? Can I hyperlink from one grove to another (I think the answer is yes)? And so on. -- Ron xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1 To (un)subscribe, mailto:majordomo@i... the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|