2012-08-01 27 views
0

enter image description here
我想與Erlsom一起使用1 GB XML和DTD文件。 問題是,parse_sax拋出一個異常,因爲它不能與DTD文件一起工作。 基本上我不需要這個信息所以我的問題是我如何告訴 sax_parser忽略這個? 或甚至使用嘗試和捕獲,當錯誤得到捕獲然後跳過這個地方的文件,並從那裏繼續。Erlang與Erlsom和DTD

此異常:

** 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)([email protected])2> 

問題是與 「uuml」,因爲在XML文件中的apear與& uuml

感謝您的幫助。

回答

0

擊中了同樣的錯誤,並根據SAX解析器的限制,發現了這個在ErlSom文檔:

它不會從預定義的人(<等)和字符引用支持的實體,除了(& #nnn;和& #xhhh;)。