Re: Issue: PROP_ATTR

On Sat, Apr 14, 2001 at 12:23:56PM +0200, Julian F. Reschke wrote:
>...
> > see it more as the name is a key, which then maps to the value.
> > Further, the
> > name (key) is broken into a tuple of (localpart, namespace-uri, xml:lang),
> 
> Why do you say that xml:lang is part of the key? That would indicate that

Sorry... I didn't mean to imply that. I meant that the name element has
three useful pieces of information, which must be recorded. As you suggest,
only the localpart and URI are the "key". The xml:lang is effectively part
of the value.

[ this is how it is implemented in mod_dav today ]

>...
> > so I don't see it as stored as XML with the rest of the value.
> > And since it
> > isn't in XML format, it becomes very difficult to store things such as
> > attributes.
> 
> Make the key (namespace-uri, local-name) and the value "XML serialization of
> the property element", and you're done.

I maintain that it should be the serialization of the contents of the name
element, but exclude the name element itself. For example:

  <prop>
    <myprop>
      contents
      <child-elem att="foo"/>
    </myprop>
  </prop>

In the above example, I see the value as 'contents<child-elem att="foo"/>'
(mod_dav actually preserves whitespace; I just omitted it here for clarity).

Further, there may be an xml:lang that applies to the "scope" that the
property value occurs within. The name is separate, and is a tuple of
(localpart, namespace-URI).

I believe this is the appropriate interpretation; the <myprop> element (and
any attributes on it) are the name, not the value.

> > Let's say that you *do* choose to store the name with the XML
> > value. How do
> > you manage the namespace and xml:lang. Does the property always have to
> > store a private namespace to ensure that you don't get prefix clashes? For
> > example:
> >
> >   <P:myprop xmlns:P="private-namespace-prefix-marker">value</P:myprop>
> >
> > (as opposed to collecting a union of all namespace prefixes and
> > placing them
> >  on a higher element)
> 
> I'd say that's absolutely up to the implementation. You just have to make
> sure that upon PROPFIND, all element's appear in their original namespace.

I completely agree.

My point is that it is more difficult for server implementors if you want to
state that the attributes on the name element are part of the property
value, and (thus) need to be stored.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Received on Saturday, 14 April 2001 19:56:35 UTC