【发布时间】:2008-09-23 16:24:05
【问题描述】:
简单的搜索表明,所有从 xsd(XML 模式)转换为 rng(RelaxNG)或 rnc(compact RelaxNG)的可用(uUnix 命令行)工具都存在某种问题。
首先,如果我使用 rngconv:
$ wget https://msv.dev.java.net/files/documents/61/31333/rngconv.20060319.zip
$ unzip rngconv.20060319.zip
$ cd rngconv-20060319/
$ java -jar rngconv.jar my.xsd > my.rng
它没有办法去规范化元素,所以最终都是替代的开始元素(它似乎也有点错误)。
Trang 是另一种选择,但它不支持输入仅输出的 xsd 文件(为什么?)。但是,它支持 DTD。首先想到的是转换为 DTD,但也很难找到可靠的 xsd2dtd。下面的一个:
$ xsltproc http://crism.maden.org/consulting/pub/xsl/xsd2dtd.xsl in.xsd > out.dtd
好像有问题。
这一切都非常令人惊讶。对于这些年来 XML (ab) 的使用,没有像样的命令行工具来完成这些琐碎的基本任务吗?人们只使用编辑器吗?这些有用吗?我更喜欢命令行,尤其是因为我想自动化这些任务。
对此有什么启发性的cmets?
【问题讨论】: