perlのXML::XSLTモジュールを使ってUTF-8表記の日本語を含んだXMLファイルを、XSLTを使ってHTMLに変換するプログラムを作成しています。変換作業は行えているのですが、出力されるHTMLの日本語部分がすべて実体参照になってしまいます。普通にUTF-8で出力するにはどうすればよいのでしょうか?どうぞよろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:shorita No.1

回答回数30ベストアンサー獲得回数0

ポイント10pt

XSLT側で好きな文字形式にエンコードすればいいと思います。こんな感じで。

<?xml version=”1.0” encoding=”Shift_JIS”?>

id:ohmix1 No.2

回答回数235ベストアンサー獲得回数14

ポイント40pt

http://www.atmarkit.co.jp/fxml/tanpatsu/xslt/xslt06.html

サンプルで覚えるXSLTプログラミング

通常、XSLTで出力方法を指定するには<xsl:output>を使用します。

UTF-8のHTMLで出力するには、

<xsl:output method=”html” encoding=”UTF-8”

doctype-public=”-//W3C//DTD HTML 4.01 Transitional//EN” />

と記述すれば良いと思います。

ただ、PerlおよびXML:XSLTのバージョンが不明なため、完全に日本語に対応できているかは確認していません。

id:yasuo

ありがとうございます。

perl は 5.6.1 (ActivePerl build 635)です。

また、XML::XSLT のバージョンは 0.40 です。

ひょっとして perl 5.8 以上じゃないとだめとか?

2004/05/08 03:24:20

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません