- PR -

JAXP を使ったときのエラーの意味は?

投稿者投稿内容
ふうた
大ベテラン
会議室デビュー日: 2001/08/23
投稿数: 198
お住まい・勤務地: 岡山
投稿日時: 2001-08-23 19:55
はじめまして、ふうたといいます。

@ITの情報量の多さにはいつも驚かされています。

今度も@ITの記事を参考にして、XML文書をXSLを使ってHTMLにするテストプログラムを作っているの
ですが、ちょっと行き詰まってしまいました。

具体的には、以下のような例外が出ています。

org.xml.sax.SAXParseException: org.apache.crimson.parser/P-034 xsl-template 9

テストに使っている、XML/XSLを他のものに変えると
このエラーがなくなるので、これらが悪いと思うの
ですが、「P-034 xsl-template 9」の意味が分から
ず困っています。
(多分、XSLが悪いと思われる)

この文字列の意味が載っている文献はないでしょうか?

また、XML/XSLの文法をチェックする方法(詳細な
エラーを出す方法)はないでしょうか?

すみませんが、ご教授ください。
mk9
会議室デビュー日: 2001/07/27
投稿数: 17
投稿日時: 2001-08-23 21:55
Expected "" to terminate element starting on line 9.
ってことですね。Localeの問題で、メッセージが出ないのか、ベータだからかわかりませんが、この元ネタは、org\apache\crimson\parser\resources\Messages.properties
というファイルに記述されてます。P-034は、このメッセージのIDですね。たぶん、ってこのXSLの9行目のタグを「-」から「:」に直せば動くんじゃないでしょうか?XSLを見てないのでわかりませんけど。
mk9
会議室デビュー日: 2001/07/27
投稿数: 17
投稿日時: 2001-08-23 21:58
おっと、XMLのタグを書いたら、投稿から消えちゃいました。失礼しました。
9行目の</xsl-template> というの(があったとして)の、「-」を「:」に直して、OKかなと書きたかったのです。
樋口/@IT
@ITスタッフ
会議室デビュー日: 2001/07/26
投稿数: 293
お住まい・勤務地: 東京都
投稿日時: 2001-08-23 23:18
@ITの樋口です。横道フォロー。
引用:

まさたかさんの書き込み (2001-08-23 21:58) より:
おっと、XMLのタグを書いたら、投稿から消えちゃいました。


XMLのタグを書くとそのまま素通ししてしまうので、ブラウザで表示すると消えてしまいます。
XMLやHTMLのソースを書きたいときは、書き込み時に「この投稿でHTMLを使わない」のチェックボックスをONにしてくださいませ>みなさん
_________________
樋口 理
株式会社アットマーク・アイティ
mk9
会議室デビュー日: 2001/07/27
投稿数: 17
投稿日時: 2001-08-24 16:52
了解です。ありがとうございます。以下テスト。
<xsl:templete match="/">
<xsl:apply-templetes/>
</xsl:templete>
ふうた
大ベテラン
会議室デビュー日: 2001/08/23
投稿数: 198
お住まい・勤務地: 岡山
投稿日時: 2001-08-29 00:31
返答が遅くなってすみません。
まさたか様リプライありがとうございます。

XSLを見直すと確かに
と書くべきところに
と書いてしまっている箇所がありました。
「=」と書いていたのに、なぜエラーメッセージに「-」と出ていたのかは分からないのですが、9という数字は に対する開始タグ()が9行目にあったためと分かりました。

このエラーメッセージの内容についても、教えていただいたとおり
org\apache\crimson\parser\resources\Messages_en.properties

P-034 = Expected "" to terminate element starting on line {1}.
というのを見つけられました。

本当なら「P-034」でなく、後ろのメッセージが出てほしいと思うのは私だけでしょうか?

とにかく解決できました。
ありがとうございました。
ふうた
大ベテラン
会議室デビュー日: 2001/08/23
投稿数: 198
お住まい・勤務地: 岡山
投稿日時: 2001-08-29 00:34
うっかりしてました。
「この投稿で HTML を使わない」にチェックをつけるのを忘れていました。

返答が遅くなってすみません。
まさたか様リプライありがとうございます。

XSLを見直すと確かに
</xsl:template> と書くべきところに
</xsl=template> と書いてしまっている箇所がありました。
「=」と書いていたのに、なぜエラーメッセージに「-」と出ていたのかは分からないのですが、9という数字は</xsl=template> に対する開始タグ(<xsl:template>)が9行目にあったためと分かりました。

このエラーメッセージの内容についても、教えていただいたとおり
org\apache\crimson\parser\resources\Messages_en.properties

P-034 = Expected "</{0}>" to terminate element starting on line {1}.
というのを見つけられました。

本当なら「P-034」でなく、後ろのメッセージが出てほしいと思うのは私だけでしょうか?

とにかく解決できました。
ありがとうございました。

#ちなみにこの「この投稿で HTML を使わない」の
#デフォルトの設定は逆のほうがよいような気が
#しないでもないですが。。。
樋口/@IT
@ITスタッフ
会議室デビュー日: 2001/07/26
投稿数: 293
お住まい・勤務地: 東京都
投稿日時: 2001-08-29 07:07
ふうたさん、おはようございます。@ITの樋口です。
またまた脇道フォロー。
引用:

#ちなみにこの「この投稿で HTML を使わない」の
#デフォルトの設定は逆のほうがよいような気が
#しないでもないですが。。。


デフォルトは各個人の好みで設定していただけます。ページの右上にある「プリファレンス編集」をクリックしてください。HTMLやBBコードを使うかとか、シグネチャをつけるかといったオプションのデフォルトを変更することができるようになってます。どうぞお試しください。
それから、間違って投稿したとき、再投稿するのではなく、投稿したものを編集することもできるようになってますので、こちらもお試しくださいませ。

では。
_________________
樋口 理
株式会社アットマーク・アイティ

スキルアップ/キャリアアップ(JOB@IT)