[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
RE: [xml-dev] Why is XPath2 being so explicit about types of substitution grp members?
- From: "Michael Kay" <mike@saxonica.com>
- To: "'Soren Kuula'" <dongfang@dongfang.dk>, <xml-dev@lists.xml.org>
- Date: Wed, 8 Feb 2006 10:01:30 -0000
The problem is that you can have a valid element named S which doesn't
conform to the definition of the global element declaration S, because of
the existence of a local element called S with an unrelated type. So the
fact that an element is named S and is valid doesn't prove that it conforms
to the type of the global element declaration S: hence the need for rule 2.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Soren Kuula [mailto:dongfang@dongfang.dk]
> Sent: 08 February 2006 03:15
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] Why is XPath2 being so explicit about
> types of substitution grp members?
>
> 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
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>
>
>
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]