- - PR -
MSXML3にてXML文書内のbrタグが改行されない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2002-07-14 02:29
初めてご質問させていただきます。
現在社内業務で大量XML文書をXSL参照を行う作業の検証を行っております。 現在以下のようなサンプルXML文書内のbr改行タグが認識されず 「1行目です。2行目です。」と1行でブラウザに表示されます。 IE5.5またはIE6でMSXML3 SP2を使用しています。 調査は継続してはおりますが現在も原因が判明しないため、書き込みさせていただきました。 改行タグを認識させる方法またはXML作成時の代替手段でよいアドバイスをいただければ助かります。宜しくお願い申しあげます。 test3.xmlの内容 <?xml version="1.0" encoding="Shift_JIS" ?> <?xml-stylesheet type="text/xsl" href="test3.xsl"?> <doc> <item>1行目です。<br />2行目です。</item> </doc> test3.xslの内容 <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/doc"> <html> <head> <title>XSLサンプル3</title> </head> <body> <xsl:value-of select="item" /> </body> </html> </xsl:template> </xsl:stylesheet> | ||||
|
投稿日時: 2002-07-14 06:21
JAZZBASSさん、
<xsl:value-of select="item" />ではなく<xsl:copy-of select="item" />を 使ってみればよいように思いましたが。 | ||||
|
投稿日時: 2002-07-14 11:54
seachicken様、早速のアドバイス有り難うございました。 確認いたしましたところ、改行はされるようになったのですが copy-ofですとツリーの内容が全て表示されるため、先頭に要素名が表示されてしまいます。 <item>では表示されませんでしたので<内容>で確認しました。 <xsl:copy-of select="内容" /> の出力結果 <内容>1行目です。 2行目です。 そこでいろいろ調べた結果、次の方法で解決できました。 <xsl:apply-templates select="内容"/> <xsl:template match="br"> <br/> </xsl:template> お手数お掛けし申し訳ありませんでした。 [ メッセージ編集済み 編集者: JAZZBASS 編集日時 2002-07-14 12:28 ] | ||||
|
投稿日時: 2002-07-14 12:55
井上です。
私はいつも、以下のような方法を使っています。HTML タグを含むテキストは <text> 要素に書かれているものとします。 <xsl:apply-templates select="text"/> <xsl:template match="text"> <xsl:copy-of select="* | text()"/> </xsl:template> _________________ www.kojii.net | ||||
|
投稿日時: 2002-07-15 10:18
井上様
<xsl:copy-of select="*|text()" /> で全てうまくいきました。 有難うございました。 |
1