|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Re: What do we have in variable?
> >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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








