- PR -

xsl:template のみで要素内容が出力される

1
投稿者投稿内容
おでん
会議室デビュー日: 2004/01/13
投稿数: 4
投稿日時: 2004-07-21 17:47
XML文章にXSLスタイルシート命令を記述し、IEで表示させようとしています。
環境はWindowsXP Pro、IE 6.028です。
========
<rnode>
<node1>node1value</node1>
<node2>node2value</node2>
<node3>node3value</node3>
</rnode>
========
のXMLインスタンスに対して、
========
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="Shift_JIS"/>
<xsl:template match="/rnode/node1">
</xsl:template>
</xsl:stylesheet>
========
と、templateに何も記述していないものを適用したところ、IEには
========
node2valuenode3value
========
と表示されます。
value-of を使用していないのに、要素内容が表示されるのは何故なのでしょうか。
また、<xsl:template match="/rnode/node1"> の node1の部分をnode2,node3に変更すると、記述したノードの要素内容を除いた要素内容が表示されます。
これはどういった理由からでしょうか。
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2004-07-21 19:19
========
と、templateに何も記述していないものを適用したところ、IEには
========
node2valuenode3value
========
「XSLT デフォルトテンプレート」 で検索する。

、記述したノードの要素内容を除いた要素内容が表示されます。
「空」をインスタンス化(出力)しているから。
ちゃんとマッチしているので「デフォルトテンプレート」は作用しない。
おでん
会議室デビュー日: 2004/01/13
投稿数: 4
投稿日時: 2004-07-22 11:50
デフォルトテンプレート、理解しました。
どうもありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)