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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] XPath/XQuery - Typed Value Determination

[ Lists Home | Date Index | Thread Index ]

* Vladimir Gapeyev <vgapeyev@seas.upenn.edu> [2005-10-21 15:52]:
> 
> 
> On Fri, 21 Oct 2005, Alan Gutierrez wrote:
> 
> >* Vladimir Gapeyev <vgapeyev@seas.upenn.edu> [2005-10-20 21:54]:
> >>
> >>
> >>On Thu, 20 Oct 2005, Alan Gutierrez wrote:
> >>
> >>>  I'm confused by the wording of...
> >>>
> >>>  http://www.w3.org/TR/xpath-datamodel/#TypedValueDetermination
> >>>
> >>>  ...where it discusses the value value determination for lists.
> >>>
> >>>  "For each of these lexical forms, the type of the corresponding
> >>>  item is found in {item type definition}."
> >>>
> >>>  I can't figure out if the {item type definition} is attached to
> >>>  the list as a property, or an index property, or if it attached
> >>>  to the item within the list. The mention of recursion implies
> >>>  the latter.
> >>
> >>I think one would need a larger quote to understand the question...:
> >
> >   Yes. But, I didn't know what to quote, because I didn't
> >   understand the question myself. :)
> >
> >>Brief answer: {item type definition} is a property of T, the
> >>schema's list _type_ that validated the value in question.  It is
> >>not a property the list _value_.
> >>
> >>One could arrive to this understanding after meditating over WXS Part 2,
> >>4.1.1  http://www.w3.org/TR/xmlschema-2/#rf-defn
> >
> >   Which means that a list defined in this section is a list of
> >   items that are of the same type, right?
> 
> No, if {item type definition} is a union type!

    Vladimir

    Thank you for going into such detail.
    
    I meant that they are all the same type, and that type might be
    a union type, but still all the same type, as indicated by {item
    type definition}. So, maybe not the same type, but {item type
    definition} described every item in the list in some way.

    I was trying to determine if it was...

        element::item-type-definition()
    
    or

        element::item-type-definition(position)

    or

        element::item(position)::item-type-definition()
    
    I'm not trying to quibble. I certinanly did not have the
    understanding of unions that you put forward.

> I guess, one needs an example, but I wouldn't try to reproduce WXS
> syntax, so please be forgiving for that!

    Makes it easier for me, too.

> Suppose you have successfully validated the element
> 
>   <a>2 foo 3.14</a>

> against the schema
> 
>   element a of type T1
>   simple type T1 = list of T2
>   simple type T2 = union of {xs:integer, xs:decimal, xs:string}

> In PSVI, the contents of <a> are typed as T1.

> But according to the above quoted algorithm from XPath / XQuery Data 
> Model, the typed value corresponding to the contents of <a> is the 
> following sequence of annotated values:

>     2 of type xs:integer, "foo" of type xs:string, 3.14 of type xs:decimal

> Note: T2 in this example is the {item type definition} menttioned in the 
> algorithm.

    Thus all items in the list are of the {item type definition}
    type, which in this case is type T2, but there's additional type
    information depending on how the value elements were validated.

    The type you'd do business with can differ among list items,
    when the {item type definition} is a union.

> As I understand this, the algorithm just reconstructs "the basic 
> reasons" why the PSVI has T1 as the annotation on <a>'s contents.
> One reason the algorithm is needed at all, because the names of union 
> types hide these "basic reasons".

    Unions will make more sense when I go back and read through WXS,
    but for now I'm trying to work forward to read the XPath,
    XQuery, and XSLT specifications. I'm not working with WXS yet,
    so I'm not familiar with the "basic reasons", and can't work
    back from them. I'm sure it's blindingly obvious to someone
    who's written schemas.

    Thank you for your help.

--
Alan Gutierrez - alan@engrm.com - http://engrm.com/blogometer/




 

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

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