- - PR -
XSLT変換でInnerXml値の取得
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-10-03 00:37
XMLをXSLTにて変換する際に、下記のようにタグをそのままコピーしたいのですが
value-ofを使うと、DOMで言うところの「InnerText」の値を取得してきます。 「InnerXml」の値を取得する方法はあるのでしょうか? test.xml <?xml version="1.0" ?> <?xml-stylesheet type="text/xsl" href="Test.xsl"?> <Contents> リンク先に飛ぶときは<A HREF="link.html">ココ</A>を<BR/>クリック。 </Contents> test.xsl <?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <HTML><BODY> <xsl:apply-templates select="Contents" /><P/> 本当は<A HREF="link2.html">このように</A>リンク表示したい。 </BODY></HTML> </xsl:template> <xsl:template match="Contents"> <xsl:value-of select="." /> </xsl:template> </xsl:stylesheet> 結果 <HTML><BODY> リンク先に飛ぶときはココをクリック。<P/> 本当は<A HREF="link2.html">このように</A>リンク表示したい。 </BODY></HTML> 得たい結果 <HTML><BODY> リンク先に飛ぶときは<A HREF="link.html">ココ</A>を<BR/>クリック。<P/> 本当は<A HREF="link2.html">このように</A>リンク表示したい。 </BODY></HTML> |
|
投稿日時: 2003-10-03 08:52
XSLTの名前空間がWD版である必要があるのでしょうか?
もし正式版でも良いのならば、copy-ofを利用すれば良い と思います。 <?xml version="1.0" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <HTML><BODY> <xsl:apply-templates select="Contents" /><P/> 本当は<A HREF="link2.html">このように</A>リンク表示したい。 <P/> <xsl:copy-of select="Contents" /><P/> </BODY></HTML> </xsl:template> <xsl:template match="Contents"> <xsl:value-of select="." /> </xsl:template> </xsl:stylesheet> |
|
投稿日時: 2003-10-04 01:36
悠さん、お返事ありがとうございました。
期待の結果を得ることが出来ました。 XSLTの名前空間については何も考えてなかったですが 全然別物なのですね。勉強になりました。 http://www.atmarkit.co.jp/fxml/askxmlexpert/006msxml3/06msxml3.html |
1