Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Can xsi:type cause the element declaration to get ignored?

From: David Maze <dmaze@--.---.--->
To: xmlschema-dev@--.---
Date: 7/25/2006 12:39:00 PM
Let's say you have a hypothetical schema like:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="element" type="xs:integer"/>
</xs:schema>

And an input

<element xsi:type="xs:string"
         xmlns:xs="http://www.w3.org/2001/XMLSchema"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>

I want to determine that element's [validity] in the PSVI, so I look at 
cvc-assess-elt.  (For bonus points, we'll let the processor specify the 
element declaration.)  Item 1 says that one of 1.1 or 1.2 must be valid; I 
decide to look at 1.2, since the note below says that 1.2 takes 
precedence.  In cvc-assess-elt 1.2.1.2 I see that I have an xsi:type 
attribute, and there isn't a processor-stipulated type definition, so the 
local type definition is the type for xs:string.  Now I have a type 
definition, so I apply cvc-assess-elt 1.2.2, which says to ask cvc-type, 
which says the element is valid if it's a valid xs:string, which it is. 
Thus, cvc-assess-elt 1.2 is true, so cvc-assess-elt 1 is true, and thus 
the element has been strictly assessed, and since nothing is known to be 
invalid the element's [validity] is valid.

I think this clearly isn't what the schema spec intends.  If we had 
followed the path of believing the processor-specified element declaration 
and going into cvc-elt, we'd hit cvc-elt 4, which specifies much the same 
things about xsi:type as cvc-assess-elt 1.2.1.2, except that there we'd 
conclude that xs:string isn't derived frnom xs:integer and decide the 
element's [validity] is invalid.  That is, it seems to me like if you can 
determine an element declaration for the element you're validating then 
you must honor it; I think that would imply adding a clause to 
cvc-assess-elt 1.2 that stated that no element declaration is found as per 
cvc-assess-elt 1.1.1.

David Maze
Engineer, SOA Appliance Group, IBM Application Integration Middleware
One Alewife Center, 4th Floor, Cambridge, MA 02140
Phone: 617-864-0455 x231 Fax: 617-864-0458


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