- - PR -
xsl:template のみで要素内容が出力される
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 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に変更すると、記述したノードの要素内容を除いた要素内容が表示されます。 これはどういった理由からでしょうか。 |
|
投稿日時: 2004-07-21 19:19
========
と、templateに何も記述していないものを適用したところ、IEには ======== node2valuenode3value ======== 「XSLT デフォルトテンプレート」 で検索する。 、記述したノードの要素内容を除いた要素内容が表示されます。 「空」をインスタンス化(出力)しているから。 ちゃんとマッチしているので「デフォルトテンプレート」は作用しない。 |
|
投稿日時: 2004-07-22 11:50
デフォルトテンプレート、理解しました。
どうもありがとうございました。 |
1