Subject: [xsl] Re: Re: What do we have in variable? From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Thu, 9 May 2002 12:48:46 -0700 (PDT) |
> >I'm just trying to understand, whenever we initialize some variable > > for example in that way <xsl:variable name="somevar" > > select="ancestor::*"/> what do we have stored inside it? Is it an > > array or some root node? > > It's not an array: there is no such thing in the data model. Nor is > it a root node: it's a node set. More precisely, in this concrete case this will evaluate to a node-set consisting only of element nodes, or the empty node-set. > > What node set it is, exactly, depends on the context node, which is > to say the node from which the ancestory axis, in this case, is > traversed; this will depend on where the variable declaration occurs > (inside which template or instruction, etc.). The dependence of the > node set returned by an XPath location path on the context in which > that location path is invoked is one of the important subtleties of > XPath commonly missed by newcomers to the language. I think that the question "what an xsl:variable contains?" is a little bit incorrect. The right question should be: "what an xsl:variable evaluates to?". For me "contains" is synonymous with "it is a store, that has contents at any moment". On the other side, an xsl:variable may be evaluated only when it's been referenced (e.g. lazy evaluation), or it may not be created at all until it's necessary, or it may be destroyed between two moments when it's referenced (e.g. space optimisation). I think, it's important to distinguish an xsl:variable from "store". In fact it is a "definition", which may or may not be evaluated. Cheers, Dimitre Novatchev. __________________________________________________ Do You Yahoo!? Yahoo! Shopping - Mother's Day is May 12th! http://shopping.yahoo.com XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Selecting Specific Elemen, Wendell Piez | Thread | Re: [xsl] Re: Re: What do we have i, Roma Yankin |
RE: [xsl] CDATA block to node set., Stuart Celarier | Date | Re: [xsl] XSLT/XPath 2.0 (was "Iden, Dan Holmsand |
Month |