1

HTMLの出力用にXSLファイルを参照するXMLドキュメントがあります。

XSLファイルには"<xsl:value-of select="fieldname" />"、XMLファイルの項目を参照するさまざまなタグを挿入しました。

ただし、マップしていないアイテムの場合、htmlページの下部に長い文字列として表示されますか?

XSLファイルで参照されていないすべてのxmlデータ項目を削除する必要が本当にありますか、それともこれに対するトリックまたはXSLファイルのバグがありますか?

j

4

1 に答える 1

1

これは、XSLT処理モデルの結果です

XSLTは、ノードを処理する必要があり、XSLTコード内のテンプレートがそれに一致しない場合、*組み込みのテンプレート`を使用します。テキストノードに一致する組み込みテンプレートがそれをコピーします。

解決策

テキストノード用のXSLT組み込みテンプレートをオーバーライドする次のテンプレートを追加します。

<xsl:template match="text()"/>

これにより、コード内のより具体的なテンプレートと一致しない(またはとコピーされないxsl:copy-of)テキストノードはxsl:value-of無視されます(「削除」)。

于 2012-07-20T12:55:36.010 に答える