サンプルXMLファイルに対して自分のXSLTをテストしようとしていました。 しかし、出力には空のタグしか含まれません。基本的なXSLTのテスト時条件タグ
私はそれが失敗すると信じています<when test="self::text()">
私はそれがテキストだったら、それは価値を印刷すると思いました。
何が問題になったのか教えてください。
XMLファイル:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="xslt2.xslt"?>
<library>
<book><page>30</page></book>
<book>fun</book>
</library>
XSLTファイル:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<result>
<xsl:call-template name="t">
<xsl:with-param name="b" select="."></xsl:with-param>
</xsl:call-template>
</result>
</xsl:template>
<xsl:template name="t">
<xsl:param name="b"/>
<xsl:for-each select="$b/*|$b/text()">
<xsl:choose>
<xsl:when test="self::text()">
<xsl:value-of select="." disable-output-escaping="no"></xsl:value-of>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
を与え、あなたの希望する出力は何ですか?あなたのソリューションは私のために良く見えません。 –