|
Subject: Re: Mixed content: selecting current context w/out child From: "John E. Simpson" <simpson@xxxxxxxxxxx> Date: Sat, 13 Mar 1999 12:12:17 -0500 |
I asked the list a bit ago:
>This has got to be a fairly elementary question.... What's the proper
select expression to retrieve *only* the PCDATA portion of a mixed-content
element, *not* the contents of its children?
As a member of the list kindly reminded me off-list, the answer is to use
one or more text() nodes.
Given:
<name>Candace Hilligoss<role>Mary Henry</role></name>
to produce the following HTML:
<tr>
<td>Candace Hilligoss</td>
<td>Mary Henry</td>
</tr>
use:
<xsl:for-each select="name">
<tr>
<td><xsl:value-of select="text()"/></td>
<td><xsl:value-of select="./role"/></td>
</tr>
</xsl:for-each>
The text() gets just the first PCDATA portion of the <name> element. If
there were more than one, I could get them all by replacing the first
value-of with a nested for-each, like so:
<xsl:for-each select="name">
<tr>
<xsl:for-each select="text()">
<td><xsl:value-of select="."/></td>
</xsl:for-each>
<td><xsl:value-of select="./role"/></td>
</tr>
</xsl:for-each>
<slappingforehead/>
Thanks!
==========================================================
John E. Simpson | The secret of eternal youth
simpson@xxxxxxxxxxx | is arrested development.
http://www.flixml.org | -- Alice Roosevelt Longworth
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Mixed content: selecting current co, John E. Simpson | Thread | Re: Mixed content: selecting curren, James Tauber |
| Mixed content: selecting current co, John E. Simpson | Date | Re: Mixed content: selecting curren, James Tauber |
| Month |