• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:XMLからHTMLへの変換方法について)

XMLからHTMLへの変換方法について

このQ&Aのポイント
  • XMLをXSLを利用してHTMLに変換する方法について教えてください
  • XMLからHTMLへの変換において、<break />をHTMLの<br>に変換する方法について教えてください
  • XMLからHTMLへの変換時にXSLTを使って<break />をHTMLの<br>に変換する方法について教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • potedora
  • ベストアンサー率47% (66/140)
回答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>に変換したい場合などに使用します。

hijihiji
質問者

お礼

回答を頂きありがとうございました。 上記のように対応して確認してみます。

その他の回答 (3)

  • fo-o
  • ベストアンサー率50% (4/8)
回答No.4

#2です。 質問者の方、私の意見を見た方、申し訳ありません。 薄学なのにでしゃばってすみませんでしたm(__)m

  • fo-o
  • ベストアンサー率50% (4/8)
回答No.2

僕はXMLってのは文章等のデータ構成の記述に使うものだと思っています。そして、XSLはその構成の変更や構成を利用した加工ををするものだと思います。今変換したいタグは文書構成上のタグではなく、テキスト修飾用のタグですよね。そういうタグの加工ってXSLではできないようです。修飾用のタグはテキストの一部と割り切って、エディタやperlなんかでテキスト変換したほうが良いんではないでしょうか?

hijihiji
質問者

お礼

アドバイスを頂き、ありがとうございました。 javaで対応するようにします。

  • the845t
  • ベストアンサー率33% (246/743)
回答No.1

<xsl:template match="break"> <br/> </xsl:template> で、いかがでしょう。 XMLとXSLTを勉強したのはかなり前で当時使ってたのを引っ張り出して導いているので詳しく思い出せません。

hijihiji
質問者

補足

回答を頂きありがとうございます。 教えて頂いた方法だと<break />だけがかたまって処理されてしまい、各<break />の後ろにあるテキストとの整合性がなくなってしまったのですが、そんなことはありませんか。書き方が悪いのでしょうか。 最終的には以下のようなHTMLにしたいのですが。 ==================================================== <br> 日 程:2004年03月28日(日) <br>  ※変更となっております。 <br>===================================

関連するQ&A