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]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.