[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] [string to node]
Subject: Re: [xsl] [string to node] From: Syd Bauman <Syd_Bauman@xxxxxxxxx> Date: Sun, 21 Feb 2010 20:13:36 -0500 |
> > In both cases it seems as though $a contains only 1 thing, a > > string. (You can test that it is not a node set by using $a in > > the select= of a for-each -- you should get a runtime error, > > since it is a string.) > > No, it's a result tree fragment, not a string. Oh, right. Thanks for the correction. (He says with his tail between his legs.) But if I understand correctly, as a result tree fragment, only those operations that can be performed on strings are permitted (i.e., can't do path stuff or predicates), and you can't use a result tree fragment as the value of select= of for-each (or apply- templates, for that matter), because a result tree fragment is not a node-set, even though when you do get to use one it behaves as node- set. (And select= of for-each and apply-templates takes a node-set.) And because a result tree fragment is always a "root" node (in this case a single text() node), count($a) will always return 1, right? Further, I think that if the variable is built using select= instead of content, the variable is a node-set instead of a result tree fragment, right? I.e., <xsl:variable name="a" select="//dd"/> <xsl:value-of select="count($a)"/> should return 3 (or however many <dd> were in the input instance). But what then would <xsl:value-of select="$a"/> return? I just tried it on my test input, and it returned "one". Hmm ...
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] [string to node], David Carlisle | Thread | Re: [xsl] [string to node], G. Ken Holman |
Re: [xsl] [string to node], David Carlisle | Date | Re: [xsl] [string to node], G. Ken Holman |
Month |