OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Why is XPath2 being so explicit about types of substitution grp members?

[ 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




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS