RE: LC124: Ignore Unknowns, some proposed text

//bah, rouge mail demons appear to have stolen my reply from last night,
from the wire and my outbox, and a power-cut this morning in Berkhamsted 
prevented me spotting  the loss until a moment ago :-(

I see two things happening in this evolution:

1) adding an 'alternative-spelling' attribute changes the meaning
    of  the 'last' element. This isn't a backwards compatible change.

    I've tried to avoid specifying the compatibility rules:
        1) don't remove stuff 
        2) make new stuff you add optional
        3) don't change the meaning of stuff

     and attempted to find a more precise way to embody them, 
     but the semantic change is hard to enforce at the schema/XML level
     and possibly needs stating, though it's not testable.

2) the cardinality of the 'last' element has changed from '1' to '2'  
   I was trying to suggest that in this case the new element had been
   inserted before the existing element, so hence moving from 'sequence'
   to an 'all'.

So the removal algorithm does need to be more precise. Henry's technique 
uses the schema validation processor to mark the PSVI with 'notKnown' 
attributes. We could cite that algorithm should be used for resolving 
conflicts, which I think is easily embodied in non-validating code 
processing the message - basically when an presented with an ambiguous
repeated element, take the first one encountered and ignore the others. 

UPA does tend to prevent such conflicts happening when trying to write the
v2 schema.

-----Original Message-----
From:	Jonathan Marsh [mailto:jmarsh@microsoft.com]
Sent:	Wed 6/15/2005 8:57 PM
To:	Downey,PS,Paul,CXMA C; dorchard@bea.com
Cc:	www-ws-desc@w3.org
Subject:	RE: LC124: Ignore Unknowns, some proposed text

Would this be a valid schema that accommodates both the original and the
extended structure?

  <xs:complexType>
    <xs:sequence>
      <xs:element name="first"/>
      <xs:element name="last" maxOccurs="unbounded">
        <xs:complexType>
          <xs:attribute name="role" type="xs:token" use="optional"
default="primary"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

Received on Thursday, 16 June 2005 14:59:40 UTC