2014-06-05 55 views
3

有没有办法用HXT创建错误日志? 或者我需要创建我的? 我看到有一个HXT的错误系统,但没有那么多的信息.​​.. 我的想法是收集所有的错误,他没有解析的分支,并把它放在一个日志文件与相应的行(他没有解析的分支)。HXT上的错误系统

解析树

的内容:

---XTag "owl:Class" 
    | "rdf:about"="http://www.xfront.com/owl/ontologies/camera/#Viewer" 
    | 
    +---XTag "owl:equivalentClass" 
     | 
     +---XTag "owl:Class" 
      | 
      +---XTag "owl:oneOf" 
       | "rdf:parseType"="Collection" 
       | 
       +---XTag "rdf:Description" 
       | | "rdf:about"="http://www.xfront.com/owl/ontologies/camera/#ThroughTheLens" 
       | 
       +---XTag "rdf:Description" 
        | "rdf:about"="http://www.xfront.com/owl/ontologies/camera/#WindowOnTopOfCamera" 

如果rdf:about是不存在的owl:Class,我必须抛出一个错误的例子。

+0

没有人帮助我吗? :( – Damiii

+0

这可能会帮助你:https://www.fpcomplete.com/school/advanced-haskell/xml-parsing-with-validation#handling-errors – Sibi

+0

但问题是,我不认为他很好地认识到,我的'getName'!我编辑了我的帖子,向你展示如何识别我的树。 – Damiii

回答

2

看来,你可以设置一个错误消息处理程序,然后可以用它来写你想要的日志。

http://hackage.haskell.org/package/hxt-9.3.1.4/docs/Text-XML-HXT-Arrow-XmlState-ErrorHandling.html

尤其

  • getErrorMessages :: IOStateArrow S B XmlTree
  • addToErrorMsgList :: IOStateArrow小号XmlTree XmlTree
+0

但我不知道如何使用它!这是我的主要问题!你能给我一个关于如何使用它的例子吗? – Damiii

+0

你能给我一个提示吗? – Damiii

+0

我编辑了我的帖子,你能看看吗? – Damiii