RE: ACTION A-645-07: schema for serialization parameters

> I think they are equivalent and should both cancel out spaces and contained

> "{" and "}", but the first correctly disallows the curlies according to all four

> validators, the second incorrectly disallows them. Both correctly refuse

> spaces. It's off-topic, but I wonder whether I made a mistake here or

> whether you'd agree these are indeed equivalent (the base-type is never

> directly used).

 

Please disregard my remark on the conflicting equivalence at the bottom, I incorrectly escaped the curlies which led to perceived validator-dependent behavior (which is still surprising, but that's another topic).

 

value="Q\{[^\s\{\}]*\}[^:]+"

 

Should be:

 

value="Q\{[^\s{}]*\}[^:]+"

 

This is fixed in attached XSD as a proposed updated version. By en large it has the same structure as MSMcQ's proposal, it essentially fixes the whitespace-issue and the enums issue. The updated definitions, aside from the updated enums, are now:

 

  <!--* base EQ name, Q{uri}ncname *-->

  <xs:simpleType name="EQName-Base">
    <xs:restriction base="xs:token">
      <xs:pattern value="Q\{[^\s{}]*\}[^:]+"/>      
      <xs:whiteSpace value="collapse"/>        
    </xs:restriction>
  </xs:simpleType>
  
  <!--* restricts ncname part to start with a start-char *-->

  <xs:simpleType name="EQName">
    <xs:restriction base="output:EQName-Base">
      <xs:pattern value="Q\{.*\}[\i][\c]*"/>      
      <xs:whiteSpace value="collapse"/>        
    </xs:restriction>
  </xs:simpleType>

 

  <!--* non-empty URI part *-->

  <xs:simpleType name="Qualified-EQName">
    <xs:restriction base="output:EQName">
      <xs:pattern value="Q\{\S+\}.*"/>
    </xs:restriction>    
  </xs:simpleType>

 

Cheers,

Abel

Received on Friday, 24 June 2016 15:04:49 UTC