- From: Jim Davis <jdavis@parc.xerox.com>
- Date: Fri, 28 Aug 1998 11:08:31 PDT
- To: www-webdav-dasl@w3.org
In this message I show how structured values (in the DAV object model) could be expressed as relational tables. I do this in the hope that those who are expert in SQL (Alan, that's you) will immediately find a solution that draws on SQL. Consider the following structured value, showwn first graphically as a tree, then as XML as it might be on the wire. I use the graphical representation to emphasize that XML is not the object model I have given each node a number for purposes of identity. If the node is followed by a letter it's an element and the letter is the label, if the node is followed by a string in quotes if it's a string. 1 A <A> /\ <B> / \ <C>frog</C> / \ </B> 2 B 5 B <B>7</B> | | </A> 3 C 6 "7" | 4 "frog" One could represent this with four tables: child table: parent table label table string table node child node parent node label node string 1 2 1 * 1 A 4 "frog" 1 5 2 1 2 B 6 "7" 2 3 3 2 3 C 3 4 4 3 5 B 5 6 5 1 6 5 (I am not really so competent in RDBs, I can't tell whether in the parent table it's better to have no row at all for node 1, or whether it should have a row where the entry is NULL or something.) Anyway, having defined these four tables, the question is whether there's some cool SQL operator what would let me define a criteria that would be true for this structured value? I have heard rumours of an "in" operator? Does this handle it? Of course we don't really want just criteria that can only compare to constants. Far better would be a criteria that could use the comparative operators, pattern match operators, etc, e.g. a criteria true where the value of the string under C was "frog" and the value of the string under B was less than 10. Note that this should also match a value like 1 A <A> | <B> 2 B <C>frog</C> / \ 4</B> / \ </B> 3 C 5 "4" </A> | 4 "frog" Okay, any comments? Please, if you include the text of this message in your reply, please edit it down to something minimal. Jim ------------------------------------ http://www.parc.xerox.com/jdavis/ 650-812-4301
Received on Friday, 28 August 1998 14:12:55 UTC