Subject: Re: [xsl] Assigning types to variables From: "tom tom" <tomxsllist@xxxxxxxxxxx> Date: Wed, 13 Sep 2006 16:24:03 +0100 |
As for the type: I asked a similar question a while back and the general consensus was to not give it a type, as to be explicit and give it a type of document-node() was long-hand for not giving it a type.
From: "andrew welch" <andrew.j.welch@xxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Assigning types to variables Date: Wed, 13 Sep 2006 16:05:22 +0100
On 9/13/06, tom tom <tomxsllist@xxxxxxxxxxx> wrote:Hi all, if I have declared the following variable:
<xsl:variable name="test" as="element()"> <one> <two>hello</two> </one> </xsl:variable>
I don't understand why <xsl:sequence select="$test/two"/> retrieves the
value of <two/> while <xsl:sequence select="$test/one/two"/> does not. If I
omit the 'as' attribute it works the other way round. What exactly is
happening when I assign a node() or element() or whatever type to this
variable?
Also could you advise what type I should be using for this kind of task?
It's because you want the variable to be an element, so the variable $test becomes <one>, so $test/two is the same as one/two, which is why you get the output you see.
As for the type: I asked a similar question a while back and the general consensus was to not give it a type, as to be explicit and give it a type of document-node() was long-hand for not giving it a type.
I guess my problem is that I'm thinking about variables in XSLT 1 terms!
This is still a grey area for me - the general advice is to give everything a type, except in this case, it seems.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Assigning types to variab, andrew welch | Thread | Re: [xsl] Assigning types to variab, David Carlisle |
Re: [xsl] Assigning types to variab, David Carlisle | Date | RE: [xsl] namespace cleanup for XHT, Jesper Tverskov |
Month |