Re: "Instantiating a template" ?
self::node() in the context of the root element will match the root node.
But the rules for patterns restrict them to using the child:: or attribute:: axes, or the operator "//" (to get the effect of the descendant:: axis).
(Any of the axes can be used in predicates in the expression: the restriction applies to the axis in the path expression, which, you recall, is child:: unless stated otherwise.)
So it might be a bit more precise to say self::node(), in the context of the root, will *select* the root -- but if you try to match with it, you'll get an error.
The difference and complementarity between matching and selecting, templates and apply-templates, is the Yin and Yang of XSLT, and surely close to the heart of its Mysteries.
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