Subject: [Simple] updated XCAP spec

From: Jonathan Rosenberg <[email-masked]>
Date: Mon, 07 Feb 2005 17:26:21 -0500

Folks,

I just submitted an update to the xcap spec. Until it appears in the 
archives, you can pick up a copy at:

http://www.jdrosen.net/papers/draft-ietf-simple-xcap-06.txt

The draft assumes the query-string based approach for conveying the 
namespace bindings, per my note this morning.

There are numerous other changes to the document based on comments on 
other issues that have come up in last call. Here is the list:

* removed incorrect example of URI scheme constraint purportedly
present in the xcap-list doc

* removed old "todo" in the document, which had been resolved by using
the xcap-diff format in 200 ok responses to DELETE

* changed several of the xcap-error elements to <complex-type> and
added the missing "phrase" attribute that is supposed to be common for
all error types

* fixed HTTP example messages, which should have been using the
absolute path version of the request URI and include the Host header
field. Added a comment in the section on URI about how the appearance
of the URI in the request-URI needed to follow 2616 procedures which
define what forms to use.

* specification now requires XML documents to be UTF-8 encoded. Server
behaviors are defined to check for this. A new XML error-response is
defined for cases where a document is PUT to the server with a
non-UTF-8 encoding, or where a PUT contains an element or attribute
containing non UTF-8 characters.

* escaping rules have been spceified for converting XML element names
containing non-ascii UTF-8 characters into HTTP URL.

* added example in section 6.2

* changed all instances of "URL" to "URI"

* reworded section 7.10 on conditional operations to make it clear
that, if you want to do a conditional insert, it means you need to
modify the enclosing parent element conditionally. If you don't need
conditioning, you can just do the insert and then use the xcap-diff in
the response to check if your cached copy is up to date.

* currently, xcap says that for dynamic xcap content, clients should
use a low max-age cache directive. But really, if its going to be
dynamic, it should be no-cache. So, the draft now only recommends a
no-cache directive with SHOULD strength.

* changed MIME registrations so that the .xml extension is not listed
as valid for the body types we are using

* added default namespace for URIs as part of the app usage definition

* noted that scope of default namespace is to expand URIs, this
includes URIs on request line but also ones embedded in an xcap
document itself

* changed matching rules for node selectors, so that namespace
bindings for the URI are taken from the query string, and the default
from the value defined for the app usage. Interestingly, this repairs
a limitation that we formerly had, which made it impossible to select
between two children of the same parent by element name, when they
shared the same local name and prefix, but different namespace URI:

<root>
   <ns:el xmlns:ns="namespace-1"/>
   <ns:el xmlns:ns="namespace-2"/>
</root>

this case now works.

* added a section on the structure of XCAP URI which talks about the
query component. It is a valid xpointer expression after escape
coding. It SHOULD only contain xmlns() expressions, other xpointer
expression types MUST be ignored. This gives us some flexibility to
add other xpointer expression types down the road in the query
string.

* updated examples to show matching rules using query components and
namespace bindings

* updated client behavior to discuss when query component needs to be
included.

* updated server behavior - requests containing a prefix in a node
selector that is not defined by an xmlns() expression in the query
component are rejected with a 400

* the "field" attribute of the xcap-error <uniqueness-failure> is now
an HTTP URI, as it may need to contain a query component to define
namespace bindings.

* updated references to rfc2396 to rfc3986

* xcap root URI section now talks about the fact that the xcap root
can be a relative reference. In that case, the application usage has
to define the base URI. The retrieval URI will not work, and this is
mentioned. Also, the application usage section states that the
application usages have to define base URI whenever they make use of a
relative URI reference for an xcap resource.

* updated AUID grammar to be an exact match for 1*pchar from RFC 3986

Thanks,
Jonathan R.
-- 
Jonathan D. Rosenberg, Ph.D.                   600 Lanidex Plaza
Director, Service Provider VoIP Architecture   Parsippany, NJ 07054-2711
Cisco Systems
[email-masked]                              FAX:   (973) 952-5050
http://www.jdrosen.net                         PHONE: (973) 952-5000
http://www.cisco.com

_______________________________________________
Simple mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/simple