Subject: Re: [xsl] Accessing text between nodes From: "Thomas B. Passin" <tpassin@xxxxxxxxxxxx> Date: Wed, 27 Jun 2001 11:29:50 -0400 |
Those pesky whitespace-only nodes again! Yes, and they're invisible in browser output but you can get a surprise when you look at the actual file in an editor. Of course, whether there are any whitespace nodes depends on the details of how the source is written (like, is "Hello" on its own line?). You could always apply normalize-space() to clean up the result. Mike Kay said that text()[1] would get only the first node, but I just tried that and all the other whitespace-only nodes still appear in the output, using either msxml3 or saxon. Conversely, if you added some more text within <Node> after those <SubNode> elements, text() does not get the added text. text()[3] does get that added text, though (text()[2] gets whitespace). That's with saxon, msxml3 returns nothing for text()[3]. Hmm - Mike, which one is right (it must be saxon!)? Thanks for being more careful about it. Cheers, Tom P [Rob Lugt] > Thomas B. Passin wrote:- > > > Use <xsl:value-of select='text()'/> instead. This will select the text > node > > that belongs to a Node element. The only text element of Node is "Hello", > > and that is what displays. > > > > Sorry to correct you Tom, but in the example the Node element contains 3 > child text nodes ("Hello" and 2 whitespace-only nodes). > > > > <Node>Hello > > > <SubNode>Hello Here!</SubNode> > > > <SubNode>Hello Here!</SubNode> > > > </Node> > > ~Rob > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Accessing text between no, Rob Lugt | Thread | RE: [xsl] Accessing text between no, Michael Kay |
RE: [xsl] Passing Variables to XSL , Joshua Miller | Date | RE: [xsl] Passing Variables to XSL , Ben Robb |
Month |