Warwick Burrows wrote:
Hi guys,

I'm wondering why the ':' character is stored in the namespace field of
the properties table. Ie. my namespace names are all stored as "DAV:".
The ":" is just a separator between the namespace name and the rest of
the identifier so why is it stored as part of the namespace? Or am I
doing something wrong -- although everything is working just fine as far
as having WebFolders recognizing properties that are being stored in the
table so I wouldn't think the latter is true.

I also noticed that in the Slide webdav client Qname class that the
"toString" method explicitly adds a ":" in the String it returns so my
properties are displayed as "DAV::displayname" by this class.

Thanks,
Warwick


Warwick,

My understanding is that Webdav properties were designed around the model used for XML namespaces - but this happened before the XML namespace spec got finalised. So there are a few things that are a bit strange...

An XML name consists of 3 things: the local name, the namespace, and the namespace prefix. So, in a name like "DAV:href", the local name is "href", the namespace prefix is "DAV", and (and this is the weird bit) the namespace is "DAV:".

"Modern" usage of XML namespaces would generally give you a namespace that looks something like (I'm just making this one up, it's not actually used) "http://www.webdav.org/namespaces/dav"; - and it's that that's equivalent to the "DAV:" used in webdav.

The namespace prefix itself is completely irrelevant - you can use "Warwick" instead of "DAV" in your client if you feel like it :-)

Slide is actually storing the namespace itself (which is correct. The namespace is what matters.), so storing the colon is right. It's just confusing because of use of "DAV:" as an actual namespace.

The 'toString()' method on QName is presumably (I haven't looked at that class in a long time) just a debugging aid - if it's giving you "namespace:localname" as a result, you shouldn't be displaying it anywhere - this would mean that a property in my hypothetical namespace above would be displayed as "http://www.webdav.org/namespaces/dav:propertyname";, which is definately wrong.

Mike

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to