- From: Stanley Guan <stanley.guan@oracle.com>
- Date: Tue, 18 Mar 2003 10:31:14 -0800
- To: <www-xml-schema-comments@w3.org>
- Cc: "Henry S. Thompson" <ht@cogsci.ed.ac.uk>
Hi,
I think the description "Unless B is the content model wildcard of the
ur-type definition," in
the following correction is unnecessary because you won't have a case that
can reach
here and have B be the content model wildcard of the ur-type definition.
The normal case that reaches "Schema Component Constraint: Particle
Derivation OK
(Any:Any -- NSSubset)" is an example as given below. If my thinking is
wrong, please
give an example that can illustrate what the description tries to elaborate.
My understanding of ur-type is as such: an element can be ur-type. But, for
Particle
Derivation OK checking, it will reach "Schema Component Constraint: Particle
Restriction OK (Elt:Elt -- NameAndTypeOK)" instead of "Any:Any -- NSSubset".
Thx,
-Stanley
============================================================
Schema Component Constraint: Particle Derivation OK (Any:Any -- NSSubset)
For a wildcard particle to be a ·valid restriction· of another wildcard
particle all of the following must be true:
1 R's occurrence range must be a valid restriction of B's occurrence range
as defined by Occurrence Range OK (§3.9.6).
2 R's {namespace constraint} must be an intensional subset of B's {namespace
constraint} as defined by Wildcard Subset (§3.10.6).
↑
3 Unless B is the content model wildcard of the ·ur-type definition·, R's
{process contents} must be identical to or stronger than B's {process
contents}, where strict is stronger than lax is stronger than skip.
↑
Note:
↑
The exception to the third clause above for derivations from the ·ur-type
definition· is necessary as its wildcards have a {process contents} of lax,
so without this exception, no use of wildcards with {process contents} of
skip would be possible.
↑
============================================================
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="baseType1" mixed="true">
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:any namespace="##any" processContents="lax"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="baseTitleType">
<xsd:complexContent>
<xsd:restriction base="baseType1">
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:any namespace="##any" processContents="skip"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="root"/>
</xsd:schema>
Received on Tuesday, 18 March 2003 13:33:54 UTC