[
Lists Home |
Date Index |
Thread Index
]
- To: xml-dev@lists.xml.org
- Subject: Why is XPath2 being so explicit about types of substitution grp members?
- From: Soren Kuula <dongfang@dongfang.dk>
- Date: Wed, 08 Feb 2006 03:14:48 +0000
- User-agent: Mozilla Thunderbird (X11/20050322)
Hi,
As I understand it, XML Schema substitution grp members always must have
a type that is derived from that o the head:
"
All such members must have type definitions which are either the same as
the head's type definition or restrictions or extensions of it.
Therefore, although the names of elements can vary widely as new
namespaces and members of the substitution group are defined, the
content of member elements is strictly limited according to the type
definition of the substitution group head.
"
Cool, but there must be a reason for the XPath2 spec to reapeat that?
schema-element:
1.
The name of the candidate node matches the specified ElementName
<http://www.w3.org/TR/xpath20/#doc-xpath-ElementName> or matches
the name of an element in a substitution group
<http://www.w3.org/TR/xpath20/#dt-substitution-group> headed by an
element named ElementName
<http://www.w3.org/TR/xpath20/#doc-xpath-ElementName>.
2.
|derives-from(|/AT, ET/|)| is |true|, where /AT/ is the type
annotation of the candidate node and /ET/ is the schema type
declared for element ElementName
<http://www.w3.org/TR/xpath20/#doc-xpath-ElementName> in the
in-scope element declarations
<http://www.w3.org/TR/xpath20/#dt-is-elems>.
3.
If the element declaration for ElementName
<http://www.w3.org/TR/xpath20/#doc-xpath-ElementName> in the
in-scope element declarations
<http://www.w3.org/TR/xpath20/#dt-is-elems> is not |nillable|,
then the |nilled| property of the candidate node is |false|
Is #2 really necessary here? It's about type _annotations_ all right,
but as I understand it these must be consistent with the XML schema
types in this respect anyway...
I'm probably just overlooking something, just puzzled...
Soren
|