[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] XPath 2 sequence item type determination


Subject: Re: [xsl] XPath 2 sequence item type determination
From: Justin Johansson <mail@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 03 Sep 2008 02:01:14 +0900

David, many thanks for the insight, if not a "hack", and no disrespect
intended.

Though, say, if one wants to stick to standards and not proprietary
extensions, then surely the suggestion of using a series of "if instance
of" is problematic in that it is relying on the external string
representation of the type (via xsd schema) to guess the type of the
(internal) XDM item?

I may be missing something but the XPath et al specs clearly spell out the
concept of a sequence and it to be a list of sorts and that which contains
items, and said items of same being of either an atomic or node type. 

However, having done that, the spec does not enlighten one as to how to
determine the type *precisely* other than allowing one to resort to hacks
of the type you suggested.

Am I missing something, or is your opinion that of mine which is that the
spec is lacking?

Thanks for your input, Justin J




At 04:54 PM 2/09/2008 +0100, you wrote:
>
>if (instance of . xs:integer) then 'integer' else 
>if (instance of . xs:boolean) then 'boolean' else 
>....
>
>
>or, if you don't want to write a big nested set of tests and are running
>saxon, 
>
>http://www.saxonica.com/documentation/extensions/functions/typeannotation.h
tml
>
>
>type-annotation(item as item()) ==> xs:QName
>
>This function takes an item as argument. If the argument is a node, the
>function returns the type annotation of the node, as a QName. If the
>type is anonymous, this will be a system-generated internal name. If the
>argument is an atomic value, the function returns the type label of the
>atomic value, again as a QName.
>
>David
>
>
>________________________________________________________________________
>The Numerical Algorithms Group Ltd is a company registered in England
>and Wales with company number 1249803. The registered office is:
>Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
>
>This e-mail has been scanned for all viruses by Star. The service is
>powered by MessageLabs. 
>________________________________________________________________________


Current Thread
Keywords