Proposed text for mustUnderstand
Graham Klyne <[email protected]>
| Newsgroups | gmane.ietf.impp |
|---|---|
| Message-ID | <[email protected]> |
[Excerpted from my full review. Entire section reproduced for
context. See toward end for proposed change.]
4.2.3. Handling Of Unrecognized Element Names
Except as noted below, a processor of PRESENCE INFORMATION MUST
ignore any XML element with an unrecognized name (i.e. having an
unrecognized namespace URI, or an unrecognized local name within that
namespace). This includes all of the element content, even if it
appears to use recognized names.
It may be that some extensions must be understood in order for the
presence information to be properly understood. In such cases, the
element name is qualified with a mustUnderstand='true' or
mustUnderstand='1' attribute, which attribute name is associated with
the CPIM presence namespace.
NOTE: a mustUnderstand='true' or mustUnderstand='1' attribute
within an element that is being ignored is itself ignored. The
writer of nested mandatory-to-understand information is responsible
for ensuring that any enclosing element is also labelled with a
mustUnderstand='true' or mustUnderstand='1' attribute, if
necessary.
This specification defines (section 4.1) elements within the
'urn:ietf:params:xml:ns:cpim-pidf' namespace that MUST be recognized
in CPIM presence data. Processors MUST handle these as described,
even if they do not carry a mustUnderstand attribute. The XML Schema
Definition (section 4.4) indicates those elements that MUST be
present in a valid presence information document.
In view of recent list discussion, I propose to replace the following
paragraph:
If an agent receives PRESENCE INFORMATION containing an unrecognized
element with a mustUnderstand='true' (or '1') attribute, it should
treat the entire PRESENCE INFORMATION as unrecognized and not attempt
to process it.
with:
[[
If an agent receives PRESENCE INFORMATION containing an unrecognized
element with a mustUnderstand='true' (or '1') attribute, it MUST
treat the entire enclosing element as unrecognized and not attempt to
process it.
This specification defines a basic presence format that MUST be
processable by any conforming CPIM implementation. Accordingly,
the mustUnderstand attribute MUST NOT be used in a way that might
prevent a minimal implementation from understanding the basic
PIDF information. To ensure this, the mustUnderstand attribute
may be used only within optional extensions, so that non-recognition
of a mandatory extension results in no worse than ignoring the
optional extension in which it is contained.
]]
#g
-------------------
Graham Klyne
<[email protected]>
[reminder: [email protected] for non-technical discussions, please]