Если у меня есть XML-файл, который включает
<param name="foo" value="5000" >foo is a way of making pasta sauce</param>
<param name="bar" value="3000" >bar is controlling the beer taps</param>
и я хочу использовать XSLT для обработки этого в файл HTML с именем и атрибутами значения и текстом как описание, как я могу получить текст узла XML?
<xsl:for-each select="param">
<tr>
<td><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="@value"/></td>
<td><xsl:text> </xsl:text></td>
</tr>
</xsl:for-each>
Вышеупомянутое фрагмент XSLT действительно успешно завоевывает репутацию и оценивает атрибуты, но этому не удается получить текст, и я думаю, что пропускаю что-то очевидное, но я не знаю что.
Попробуйте это
<xsl:for-each select="param">
<tr>
<td><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="@value"/></td>
<td><xsl:value-of select="text()"/></td>
</tr>
</xsl:for-each>
ага, похоже, это тоже работает:
<xsl:for-each select="param">
<tr>
<td><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="@value"/></td>
<td><xsl:value-of select="."/></td>
</tr>
</xsl:for-each>