簡體   English   中英

使用XML Schema,DTD,RelaxNG和Schematron驗證DocBook文檔

[英]Validate DocBook document using XML Schema, DTD, RelaxNG and Schematron

在我的Java應用程序中,我必須驗證DocBook格式的不同版本的XML文檔。 DocBook 4基於DTD,DocBook 5基於RelaxNG / Schematron。 蜜蜂能夠針對不同的模式語言進行驗證的合適方法是什么? 我找到了Oracle Multi-Schema XML驗證程序(MSV),JARV和oNVDL。 后者似乎已被棄用。 目前,我使用SAXParser / XMLReader。 但是不支持RelaxNG。 我曾考慮過與Jing合並,但我希望找到一個干凈的結構。

先感謝您。

我使用的是帶有嵌入式Schematron規則的RELAX NG緊湊模式,但是至少有一些流行的RELAX NG驗證器(Jing,RNV)忽略了此Schematron代碼。 當前,我們的工作流程是:

  1. 使用Trang將壓縮模式轉換為XML語法
  2. 使用Saxon和XSLT樣式表“ RNG2Schtrn.xsl”提取Schematron規則
  3. 使用Jing對提取的“ .sch” Schematron模式進行驗證
  4. 使用Jing來驗證原始的RELAX NG緊湊模式

顯然,Trang可以將XML 1.0 DTD轉換為RELAX NG,因此您應該能夠對所有這三種驗證類型使用Jing。

請參閱https://github.com/citation-style-language/utilities/blob/master/style-qc.sh了解我們的轉換腳本,以及https://raw.github.com/citation-style-language/schema/ master / csl.rnc查看我們的模式(頂部的Schematron規則)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM