Erlsom で 1 GB の XML および DTD ファイルを操作しようとしています。問題は、parse_sax が DTD ファイルを処理できないために例外をスローすることです。基本的に私はこの情報を必要としないので、私の質問は、sax_parser にこれを無視するように指示する方法です。または、try と catch を使用して、エラーがキャッチされたときにファイルのこの場所をスキップして、そこから続行することもできます。
これは例外です:
** exception throw: {error,"Malformed: unknown reference: uuml"}
in function erlsom_sax_latin1:nowFinalyTranslate/3 (src/erlsom_sax_latin1.erl, line 1051)
in call from erlsom_sax_latin1:translateReferenceNonCharacter/4 (src/erlsom_sax_latin1.erl, line 1024)
in call from erlsom_sax_latin1:parseTextNoIgnore/3 (src/erlsom_sax_latin1.erl, line 922)
in call from erlsom_sax_latin1:parseContent/2 (src/erlsom_sax_latin1.erl, line 898)
in call from erlsom_sax_latin1:parse/2 (src/erlsom_sax_latin1.erl, line 172)
in call from mapReduce:run/0 (/home/alon/workspace/mapReduce/src/mapReduce.erl, line 26)(mapReduce@alon-Vostro-3300)2>
問題は「uuml」にあります。これは、XML ファイルでは ü で表示されるためです。
ご協力いただきありがとうございます。