[Bug 5064] On which component(s) are SML reference constraints specified?

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

           Summary: On which component(s) are SML reference constraints
                    specified?
           Product: SML
           Version: FPWD
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Core
        AssignedTo: cmsmcq@w3.org
        ReportedBy: sandygao@ca.ibm.com
         QAContact: public-sml@w3.org


This involves sml:target* and SML identity constraints.

There are 3 kinds of <xs:element> elements in schema documents:
1 For global element declaration
2 For local element declaration
3 For reference to global element declaration

On which of the above cases are sml:target* and sml:key/keyref/unique allowed
to be specified? And to which schema component(s) (element declaration or
particle) are these constraints attached to?

If these constraints are attached to element declarations, then they should not
be allowed on case #3; if they are attached to particles, then they should not
be allowed on case #1. So if we want to allow them being specified in all 3
cases, then the constraints need to be attached to both element declarations
and particles, and we need to explain what happens if the same kind of
constraint is specified both on a global element declaration G and on a
reference to G.

For example,

<xs:schema>
  <xs:element name="global" targetType="type1">
  <xs:complexType name="someType">
    <xs:sequence>
      <xs:element ref="global" targetType="type2"/>
    </xs:sequence>
  </xs:complextype>
</xs:schema>

Received on Thursday, 20 September 2007 20:29:41 UTC