Hi,
Sequences can contain mixed item types, but is there
any way of detecting the item type of each item within
a sequence in XSLT2.0/XPath2.0/XQuery?
For example, in XSLT2.0...
<?xml version="1.0"?>
<xsl:stylesheet version="2.0"
exclude-result-prefixes="xs"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:template match="/">
<xsl:variable name="foo">
<aaa>aaa</aaa>
<aaa>bbb</aaa>
</xsl:variable>
<xsl:variable name="bar"
select="(xs:date('2004-10-30'), 1.1, 'A', $foo/*)"/>
<output>
<xsl:for-each select="$bar">
<xsl:variable name="this" select="."/>
<xsl:text> Item </xsl:text>
<xsl:value-of select="position()"/>
<xsl:text> of sequence is... </xsl:text>
<!-- detect item type here? is this a
node/attribute/document/namespace or a simple type??
-->
</xsl:for-each>
<xsl:text> </xsl:text>
</output>
</xsl:template>
</xsl:stylesheet>
the output I'd like to obtain would be someting
like...
<output>
Item 1 of sequence is a... xs:date
Item 2 of sequence is... xs:decimal
Item 3 of sequence is... xs:string
Item 4 of sequence is... a node of some kind
Item 5 of sequence is... a node of some kind
</output>
or at least...
<output>
Item 1 of sequence is... not a node of any kind
Item 2 of sequence is... not a node of any kind
Item 3 of sequence is... not a node of any kind
Item 4 of sequence is... a node of some kind
Item 5 of sequence is... a node of some kind
</output>
Many Thanks
Colin
Send instant messages to your online friends http://uk.messenger.yahoo.com