2014-06-05 56 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