- From: Jim Davis <jdavis@parc.xerox.com>
- Date: Fri, 28 Aug 1998 17:04:31 PDT
- To: www-webdav-dasl@w3.org
At 01:18 PM 8/28/98 PDT, Babich, Alan wrote: >I don't believe the terminology in your e-mail is optimal. >In particular, I believe that calling the leaf nodes >"strings" leads to confusion. One question first. Aside from disagreeing about the terminology, do you agree that structure criteria must be provided by DASL? That's the important question. If not, let's talk about that first. The rest of this note deals only with Alan's terminological issues. I agree that my terminology was not optimal. In particular, it's hard to distinguish between an 'element' (which is my term) in DAV and an XML element, and between an XML element and its tags. I'll try to do better in this response. Having said that, I am afraid that if I understood your message in the way you intended, then I believe it shows that you do misunderstand the WebDAV object model and/or XML. It could be that I misunderstood your points, or that it is I who is wrong. In either case I humbly beg to be corrected, either by you or by others. In particular, I think you are wrong on two key points > non-leaf nodes merely provide structure -- the actual values >are at the leaf nodes. First, depending what you mean by "actual value", a tree or subtree may be the "actual value". Think of the lockdiscovery property, which contains a list of activelock elements, each of which represents the state of one lock. These are like record objects in C, or structures in PL1. It is true, perhaps, that the *primitive* data is all at the leaves, but why limit the discussion to only primitive data? Second, for at least some DAV properties, the defined values include empty elements. These have no content of any kind. (It's true that this means they are leaves of the tree, but when you say 'leaf node' you meant what I call a 'string'). An example is the dav:resourcetype property, whose value is either empty or an element whose name is dav:collection. In any case, it is essential that we have the ability to test the value of the *name* of an element, regardless of whether it is a leaf node or an interior node, and separately from any test on its contents. >The leaf nodes are string-ized >representations of basic data types, e.g., integer, real, >datetime, string, etc. This may be true for some applications layered on top of DAV, but it is not the DAV model. Neither DAV nor XML defines any such datatypes. Go back and read the XML spec, which talks only of character data. That's exactly why there is an XML Data working group seeking to *add* datatypes to XML. They aren't there now. Now I know I said that DAV's object model is not XML, but the absence from XML is strong evidence that they are not in DAV's model either. Since you can't express any datatype other than character in XML, if DAV has any other datatype, there's no way to talk about it. >I object to calling the leaf nodes "strings". >The beginning and ending tags of elements are "strings" >in the same sense that the leaf nodes and everything else >in all XML documents are "strings". No, that's not true, and I'll give you three pieces of evidence why not. 1) the XML syntax productions for the Name (of an element or an attribute) are different from those for character data in general. 2) The XML spec defines the attribute xml:lang that "may be inserted in documents to specify the language used in the contents and attribute values of any element in an XML document.". Note that it mentions "contents" and "attribute values", but says nothing about attribute *names*. I'll concede that it does not clearly distinguish between character data and _element names_, but I think it was intended intended. In any case, attribute names are "strings" too, so this is evidence that XML distinguished between character data strings and attribute names. 3) XML Namespace processing instructions apply to the *names* of elements and attributes, but not to character data nor to attribute values. So you see that the Name of an element is a very different thing than the character data within its content.
Received on Friday, 28 August 1998 20:04:36 UTC