W3C home > Mailing lists > Public > public-sml@w3.org > February 2008

[Bug 5494] inherit schematron constraints from the substitution group head

From: <bugzilla@wiggum.w3.org>
Date: Wed, 20 Feb 2008 01:19:05 +0000
CC:
To: public-sml@w3.org
Message-Id: <E1JRdc1-0008W4-8U@wiggum.w3.org>

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

           Summary: inherit schematron constraints from the substitution
                    group head
           Product: SML
           Version: LC
          Platform: PC
        OS/Version: All
            Status: NEW
          Keywords: hasProposal
          Severity: normal
          Priority: P2
         Component: Core
        AssignedTo: cmsmcq@w3.org
        ReportedBy: kumarp@microsoft.com
         QAContact: public-sml@w3.org


Currently the spec defines in section 6.3.1 how a complex type inherits
schematron constraints from its base type definition. However, the spec does
not define how an element declaration inherits schematron constraints from a
substitution group head. This makes it inconsistent with the behavior of other
SML constraints. All other SML constraints are inherited through substitution.

Proposal:
Update bullet# 2 in 6.3.1 as follows:

---
The value of {rules} property of a schema component is computed as follows:
1. The value of {rules} for xs:anyType is the empty set. 
2. If the schema component is a global element declaration, then the value of
its {rules} is the union of its local-rules and the appropriate case from the
following: 
   a. If the element declaration has a {substitution group affiliation}, then
the value of {rules} of the {substitution group affiliation}.
   b. Otherwise (the element declaration has no {substitution group
affiliation}), the empty set.
3. If the schema component is a complex type definition, then the value of its
{rules} is the union of its local-rules and the appropriate case from the
following:
   a. If {base type definition} is a complex type definition, then {rules} of
the {base type definition}. This is true for derivation by extension as well as
for derivation by restriction. 
   b. Otherwise ({base type definition} is a simple type definition), the empty
set. 
---

Note: bullets 1 & 3 are unchanged. They are shown above only to provide
context.
Received on Wednesday, 20 February 2008 01:19:12 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:56:09 UTC