- PR -

XSLTでのエラーについて

1
投稿者投稿内容
会議室デビュー日: 2004/03/09
投稿数: 9
投稿日時: 2004-03-09 17:45
開発環境[OS:Win2k Server、.NET2003 C#]

XMLデータをXSLTのソートを使って並び替えを
行ったときに以下のエラーが発生します。
=================================
This is an unexpected token. The expected token is 'EndElement'. Line 1, position 129780
=================================
必ず発生する訳ではなく、同じXML、同じXSLTスクリプトを他のマシンで
実行すると起きません。
positionで指定されている箇所がXMLの">"に当たります。
ただ渡しているデータの129780の位置にはちゃんと">"があります。
実際のデータは220715Byteあります。

連続して行っていると発生頻度が高いように思います。
(データのソート)

プログラム的にはXMLデータが格納された変数を
XslTransform、XPathDocumentを使用してソートしています。

環境的な要因なのでしょうか?
もしご存知の方、どんな情報でも構いませんので
ご教授頂けないでしょうか。

宜しくお願い致します。


karajan
ベテラン
会議室デビュー日: 2002/07/05
投稿数: 89
投稿日時: 2004-03-09 22:07
実際にエラーになっている前後のXMLとXSLTをのせてみてはどうでしょうか?
何かわかるかもしれません。

るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2004-03-10 09:47
るぱんです。
個人的な雑感を一つ。

一行目の129780文字って言うとちょっとわけわからないんですよね。。。
思いついたのはXMLの階層構造がずれてる、もしくはXSLTで想定している
階層構造に重複があった・・・?

まず、XMLのデータをファイルに落として、
"><"→">\n<"で置換して、
">\n</"→"></"で置換して整形したらわかりやすいんじゃないかな・・・?

僕だったら、インデントつけて自力で解析しちゃうんだろうなぁ・・・。
会議室デビュー日: 2004/03/09
投稿数: 9
投稿日時: 2004-03-11 15:30
>karajanさん、るぱんさん

お返事ありがとうございます。
色々テストした結果、XML内に文字化けデータが
あった場合発生しているようです。
まだ調査途中なので断言は出来ないですが
頻度は高いです。

ありがとうございました
るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2004-03-11 15:51
るぱんです。

XSLTでエンコード指定がShift_JISかなんかで通らなかったのかな?
1

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