- From: Jim Davis <jdavis@parc.xerox.com>
- Date: Fri, 3 Jul 1998 15:55:58 PDT
- To: www-webdav-dasl@w3.org
While I was composing my previous email, I thought of two other alternatives. I don't like either one, but I want to list them anyway so we can say we considered all the options. besides, maybe it will lead to some better idea. Since Saveen proposed four solutions, I number these 5 and 6. 5 - do nothing. Applications that want to store list valued data must themselves coerce it into a string, e.g. "Goland, Y;Harding, T;Fischer, B". Then the current DASL operators are sufficient. With a suitable regular expression, one can even distinguish between a string being used as a first or last name. One problem with this approach is that it imposes the burden of selecting a suitable delimiter on the application author. Delimiters might vary from one property to another. How could a second application wishing to query the property discover the delimiter? It also means that applications may need to encode characters that resemble the delimiter. A second problem is that it requires an application author to forgo much of the expressive power of XML, since it makes it impossible to use XML markup on the elements within the list itself, e.g. to give the author name structure or to distinguish different types of authors. I could not express <dc:Creator> <x:person> <x:lname>Goland</x:lname> <x:fname>Y</x:fname> </x:person> <x:corporate>Coalition for Networked Resources</x:corporate> </dc:Creator> A final objection is that it leaves unsolved Saveen's original problem. 6 - Define property value comparison as applying to an XML character stream, as it would appear on the wire. Then I could search for "Goland" within this character stream. (For that matter, I could search for "me>Go", which also occurs in this stream.) This seems to me to be an abomination for several reasons. I mention it only for completeness, so I can dismiss it, because otherwise someone will propose it seriously. For one thing, XML is a syntax for data on the wire, not a storage format. A DASL server might use an underlying RDBMS for storage, so this approach would require regenerating the XML at query time. For another, the precise form of the XML on the wire is variable, at least with regards to the namespace used. A query could not reliably test for <D:collection/> since the server is free to use any namespace prefix it wants. Finally, many plausible queries would be nightmares of regular expressionism.
Received on Saturday, 4 July 1998 00:07:35 UTC