Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: disallowed substitutions

From: Eduardo Gutentag <Eduardo.Gutentag@---.--->
To: Zafar Abbas <Zafar.Abbas@---------.--->
Date: 7/28/2006 4:23:00 AM
I got the following answer internally:

The schema is correct --- there's no error in this schema,
and the instance is invalid, because it uses <Member1 />
when it's not allowed to substitute <Head />.

The reason why this element substitution is not allowed is
as follows:

=========
"Schema Component Constraint: Substitution Group OK
(Transitive)" 2.3 says for <Member1/> to substitute <Head/>,
the inheritance relationship between its types ("Type" and
"derivedFromType") must not intersect with  "Type"s {prohibited
substitution}, which is "block".

This "Substitution Group OK (Transitive)" rule is invoked from
"Validation Rule: Element Sequence Locally Valid (Particle)".
=========

But the author of the above response wisely adds that he would
not be surprised if he is wrong. "With the schema spec,
you just can't take anything for granted."



On 07/26/2006 10:31 AM, Zafar Abbas wrote:
 > I was going through the recent submission in to the Schema test collection by SUN and found this issue worth posting on this forum:
 >
 > Issue:
 > There are two global elements, one in the substitution group of the other. The type of the Head element has block=restriction. The substitution group member has a type derived by restriction from the Head element's type.
 >
 > What is the value of {disallowed substitutions} in this case for the Head element? By reading the spec [1], it seems that it should be EMPTY (and Member1 should be allowed to substitute) since [disallowed substitutions} are only determined by -block- attributes on the element declaration and not its type.
 >
 >
 >   <xsd:element name="Head" type="Type"/>
 >   <xsd:element name="Member1" type="derivedFromType" substitutionGroup="Head"/>
 >
 >   <xsd:complexType name="Type" block="restriction"/>
 >
 >   <xsd:complexType name="derivedFromType">
 >       <xsd:complexContent>
 >           <xsd:restriction base="Type"/>
 >       </xsd:complexContent>
 >   </xsd:complexType>
 >
 >
 >
 > [1] http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/structures-with-errata.html#Element_Declaration_details
 >
 >
 > Thanks,
 > Zafar Abbas
 >
 >
 >

-- 
Eduardo Gutentag        |    e-mail: eduardo.gutentag@S...
Technology Director     |    Phone:  +1 510 550 4616 (internal x31442)
Corporate Standards     |    Sun Microsystems Inc.
              W3C AC Rep / W3C AB / OASIS BoD



transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent