0
哈斯克爾驗證XML文件中正常工作與HXT和從一件事RELAX NG,除了:我怎樣才能得到結果?讀取狀態從失敗的RELAX NG驗證在HXT
使用下面的代碼,XML文件xmlFilename
得到驗證,對照Relax NG方案rngFilename
。如果發生錯誤,則會向stderr
輸出錯誤,並繼續進行評估。
v <- runX
(readDocument
[ withRemoveWS yes -- remove redundant whitespace
, withValidate no -- don't validate source by DTD
] xmlFilename
>>>
-- validate source by Relax NG
validateDocumentWithRelaxSchema [] rngFilename
)
在出現錯誤的情況下,可變v
根據the hxt-relaxng documentation保持下列信息:
在驗證錯誤的情況下,在根的狀態信息的空文件[輸出]
有一個錯誤的文件生成的樹確實擁有status
(和module
)屬性:
NTree (XAttr "module") [NTree (XText "validate document with Relax NG schema") []],
NTree (XAttr "status") [NTree (XText "2") []]
現在的問題:
如何,我可以檢查的validateDocumentWithRelaxSchema
是否有驗證錯誤的輸出?
是否有一個預定義的功能,我可以使用的(但還沒有找到)?
這樣,所有的錯誤信息都輸出到'stderr'。這可以通過使用'errorMsgCollect'和之後'getErrorMessages'來避免,但我不知道如何返回兩個箭頭(getErrorMessages和getErrStatus的結果)。 – fabb 2011-04-05 21:39:54