[Bug 5908] New: Contradiction around schemaBinding

http://www.w3.org/Bugs/Public/show_bug.cgi?id=5908

           Summary: Contradiction around schemaBinding
           Product: SML
           Version: LC
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Interchange Format
        AssignedTo: cmsmcq@w3.org
        ReportedBy: sandygao@ca.ibm.com
         QAContact: public-sml@w3.org


In section 4.1 Packaging, the pseudo-schema has:

    <schemaBindings> ?
        <defaultSchema> ?
            <namespaceBinding/> *  
        </defaultSchema>
        <schemaBinding> *
            <namespaceBinding/> *  
            <documentAlias/> +     
        </schemaBinding>
    </schemaBindings>

Which means that each <schemaBinding> can have any number (including 0) of
<namespaceBinding> elements, and have at least one <documentAlias>.

But in Appendix A. SML-IF Schema:

  <xs:complexType name="schemaBindingType" mixed="false">
    <xs:sequence>
      <xs:element ref="smlif:namespaceBinding"/>
      <xs:element name="documentAlias" type="smlif:uriType" minOccurs="0"
maxOccurs="unbounded"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

Note that the reference to "namespaceBinding" has no min/maxOccurs specified,
and minOccurs=0 is specified on "documentAlias".

So obviously 4.1 and appendix A don't agree. What's intended?

I think both <namespaceBinding> and <documentAlias> should be '*', that is
minOccurs=0, maxOccurs=unbounded.

For <namespaceBinding>, because a schema can have more than one namespaces, we
can't limit the number of <namespaceBinding> to exactly 1.

For <documentAlias>, allowing minOccurs=0 means that the producer can write

<schemaBindings>
  <schemaBinding>
    <namespaceBinding namespace="ns" aliases="v1.xsd"/>
  </schemaBinding>
  <schemaBinding>
    <namespaceBinding namespace="ns" aliases="v2.xsd"/>
  </schemaBinding>
</schemaBindings>

That is, they can group schema documents in meaningful ways (e.g for different
versions) without having to specify instance documents. This is useful when
only schema documents are transmitted in the IF package.


-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Tuesday, 29 July 2008 15:49:52 UTC