xsl-list
[Top] [All Lists]

RE: [xsl] Question about variable definition and types

2008-03-06 15:29:35
Hi,
   The presence of the attribute "as" determines whether the value of
the variable is evaluated to a sequence or a temporary tree. In this
case, with the "as" attribute, the value of the variable is a sequence
of the element <itSystem>. Without the "as" attribute, the value of the
variable is a document node of a temporary tree, the sequence of
<itSystem> are the children of the document node of the temporary tree.
That's why you have to use the child axis to locate the <itSystem>
elements.

   Lisa


-----Original Message-----
From: Jim Garrison [mailto:Jim(_dot_)Garrison(_at_)troux(_dot_)com] 
Sent: Thursday, March 06, 2008 2:01 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Question about variable definition and types

Given 

    <xsl:variable name="itSystems" as="element()*">
        <xsl:for-each select="//system"> 
            <itSystem name="{nameOfSystem}"/>
        </xsl:for-each>
        <xsl:for-each select="//replacedLegacySystem"> 
            <itSystem name="{nameOfLegacySystem}"/>
        </xsl:for-each>
    </xsl:variable>

The type of $itSystems is such that the following Xpath expression
works:

        $itSystems[(_at_)name='whatever...']

However if I remove the as="element()*" attribute then the expression
has to be written as:

        $itSystems/itSystem[(_at_)name='whatever...']

What is the formal type of object returned in each case?  In the first I
believe it is a sequence of element nodes, but in the second there seems
to be an additional level of hierarchy.

        

IMPORTANT NOTICE:
This message may contain confidential information. If you have received
this e-mail in error, do not use, copy or distribute it. Do not open any
attachments. Delete it immediately from your system and notify the
sender promptly by e-mail that you have done so. Thank you.



--~------------------------------------------------------------------
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>
--~--