非常基本的問題- 我有一個xml文件,我想驗證它與schematron文件。我如何使用Saxon命令行進行操作?如何使用Saxon java庫命令行工具執行schematron驗證?
根據commandline參考我沒有看到任何選項來指定schematron文件。
非常基本的問題- 我有一個xml文件,我想驗證它與schematron文件。我如何使用Saxon命令行進行操作?如何使用Saxon java庫命令行工具執行schematron驗證?
根據commandline參考我沒有看到任何選項來指定schematron文件。
經過大量研究,似乎並非真的可行。我們必須先生成xsl文件,然後用它來執行驗證。
擴大在以前的答案,因爲我需要做到這一點,它沒有給出足夠的信息(和因爲我的劇本已經做了十XSL轉換? - 什麼是四更)
基於this website一個XML文件可以通過一系列XSL轉換對照schematron進行驗證。由於我還需要關於如何與撒克遜人結合的信息 - 這裏是對於一個窗口框和一個目錄文件的撒克遜人的修改。
這裏是我在我的電腦上運行,通過撒克遜命令行的XSLT(其中filepath是依賴於系統):
java -cp "C:\FilePath\saxon9ee.jar;C:\FilePath\resolver.jar";. net.sf.saxon.Transform -s:inputFile.xml -o:outputFile.xml -xsl:C:\FilePath\transform.xsl -catalog:"C:\FilePath\catalog.xml"
最重要的事情在這裏指出的是,當你使用一個目錄文件與撒克遜人,你必須指出它回到resolver.jar文件。通過三個
XSLT -input=xxx.sch -output=xxx1.sch -stylesheet=iso_dsdl_include.xsl
XSLT -input=xxx1.sch -output=xxx2.sch -stylesheet=iso_abstract_expand.xsl
XSLT -input=xxx2.sch -output=xxx.xsl -stylesheet=iso_svrl.xsl
XSLT -input=document.xml -output=xxx-document.svrl -stylesheet=xxx.xsl
你正在服用的Schematron的文件,運行它:
因此,與
XSLT = java -cp "C:\FilePath\saxon9ee.jar;C:\FilePath\resolver.jar";. net.sf.saxon.Transform -catalog:"C:\FilePath\catalog.xml"
然後從網站上的信息是有道理的(已經發現在氧必要的XSL文件)轉換爲獲取您在原始xml文檔上運行的xsl文件。這實際上使腳本相對容易。
最後一個命令從來沒有爲我填充輸出文件。既然它運行良好,沒有一個,並將消息轉儲到STOUT,我只是離開它,並從那裏收集結果。
對不起可能需要更多的細節,但我希望我有這一切開始。