
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
xml→htmlへの変換&ページ分割...
-
タグの有無の判定
-
XSL内でJavaScriptを記述し、Ja...
-
XSLで、XMLの空タグを制御したい。
-
同じタグ名の項目取得
-
東芝のDynabookなのですがアン...
-
CPUの考え方を教えてください ...
-
XMLファイル内のデータ(値)を変...
-
DTDファイルをクラスパスから読...
-
XML、XSLTの適応エラー(IEから...
-
XSLT
-
SNMP リンクダウンとノードダ...
-
MSXMLを使ってノードを削除した...
-
VBA コードを中断するには?
-
XMLファイルの作り方がわかりま...
-
VBでXMLファイルを作ると xmlns...
-
最長経路探索
-
ExcelVBAで書き出した文字が化ける
-
複数のマックPCによる数値計算...
-
制限付きアカウントでxmlを読み...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
タグの有無の判定
-
xmlのテキストにリンクを張りた...
-
XSL中の改行、タブを無効にした...
-
XSLでXMLデータをタブ区切りデ...
-
XSL内でJavaScriptを記述し、Ja...
-
XMLとXSLTでリンクを張る方法
-
空かスペースを認識させること...
-
XSLで、XMLの空タグを制御したい。
-
xmlから吐き出したhtmlデータの...
-
xsl:sortを子要素で
-
自動的にリンクを貼る・・・
-
xmlからの表示
-
2stepをくりかえす方法を教えて...
-
XMLからcsvへの変換
-
タグを置き換える
-
XMLのHTMLへの変換 (初心者)
-
スマートなxsltの記述方法
-
XSLスタイルシートについて
-
XSLTで固定長データファイルを...
-
htmlに変換されない
おすすめ情報