2012-08-01 60 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;)。