
XMLをXSLを利用してHTMLに変換しようとしています。
以下のXML(一部)の中に記載の<break />をHTMLの<br>にXSLTを使って変換したいのですが、どのように記述(処理)したらよいかわかりません。教えてください。
<item name="jikou">
<text>====================================================
<break /> 日 程:2004年03月28日(日)
<break /> ※変更となっております。
<break />===================================
</text>
</item>
No.3ベストアンサー
- 回答日時:
#1さんの補足で
XMLファイル
<?xml version="1.0" encoding="utf-8" ?>
<item name="jikou">
<text>====================================================
<break /> 日 程:2004年03月28日(日)
<break /> ※変更となっております。
<break />===================================
</text>
</item>
XSLファイル
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="Shift_JIS" indent="yes"/>
<!-- 文書全体のテンプレートルール -->
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates select="item" />
</body>
</html>
</xsl:template>
<!-- <item>のテンプレートルール -->
<xsl:template match="item">
<xsl:apply-templates select="text" />
</xsl:template>
<!-- <text>のテンプレートルール -->
<xsl:template match="text">
<xsl:apply-templates select="node()" />
</xsl:template>
<!-- <break>のテンプレートルール -->
<xsl:template match="break"><br /></xsl:template>
</xsl:stylesheet>
XML宣言のencodingは実際のファイルの保存するコードに
書き換えてください。
なお、#2さんテキスト修飾用のタグ?についても
「再帰呼び出し」という方法を使用することで可能です。
例えば、上記XMLの<break />の変わりに改行コードを
<BR>に変換したい場合などに使用します。
No.1
- 回答日時:
<xsl:template match="break">
<br/>
</xsl:template>
で、いかがでしょう。
XMLとXSLTを勉強したのはかなり前で当時使ってたのを引っ張り出して導いているので詳しく思い出せません。
この回答への補足
回答を頂きありがとうございます。
教えて頂いた方法だと<break />だけがかたまって処理されてしまい、各<break />の後ろにあるテキストとの整合性がなくなってしまったのですが、そんなことはありませんか。書き方が悪いのでしょうか。
最終的には以下のようなHTMLにしたいのですが。
====================================================
<br> 日 程:2004年03月28日(日)
<br> ※変更となっております。
<br>===================================
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript jsで、switch文で書かれた分をif文にできませんか。 1 2022/07/28 15:10
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- その他(プログラミング・Web制作) powershell で書いたプログラムでcd が動かない 5 2023/04/08 14:47
- その他(IT・Webサービス) 見たことのない形式で日付が表示されているのでそれを解析してほしい 3 2023/01/23 16:53
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XSL内でJavaScriptを記述し、Ja...
-
うまく表示されない
-
xmlのテキストにリンクを張りた...
-
ルート要素ノードが2個ある場合?
-
CPUの考え方を教えてください ...
-
あるノードリストに、特定の名...
-
vbsのDOMDocumentで要素のText...
-
東芝のDynabookなのですがアン...
-
C言語 TreeViewのノードをプロ...
-
ToolStripMenuItemの選択(VB)
-
XMLで要素が記述された順番に意...
-
同じタグ名の項目取得
-
SNMP リンクダウンとノードダ...
-
バッチファイルでテキストファ...
-
Excel-VBAでXMLの複数ノードの...
-
このエラー、何とかなりません...
-
XMLファイル内のデータ(値)を変...
-
コンテキストメニュークリック...
-
複数のマックPCによる数値計算...
-
php xml 読み込んで 一部のみ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
タグの有無の判定
-
XSLで、XMLの空タグを制御したい。
-
XSLTにてタグ名を取得する方法
-
重複するものを消したい
-
XSLTで固定長データファイルを...
-
xslでの最小値、最大値の取得
-
空かスペースを認識させること...
-
XSL中の改行、タブを無効にした...
-
文字列の取得
-
スタイルシートを使用したXM...
-
XMLでの表示について
-
■XSLT■固定文字を使ったループ...
-
xmlのテキストにリンクを張りた...
-
XSLTで直下のテキストのみ取得...
-
xmlの属性が重複しているのをx...
-
XSLでXMLデータをタブ区切りデ...
-
XMLをXSLを使いHTMLに変換した...
-
javascriptでのxsltの利用に関...
-
うまく表示されない
-
XMLとXSLTでリンクを張る方法
おすすめ情報