xsl-list
[Top] [All Lists]

Re: [xsl] XPath 2 sequence item type determination

2008-09-02 12:31:51
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. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--