加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – Xsd到rnc(或rng)转换(unix命令行)

发布时间:2020-12-16 07:59:34 所属栏目:百科 来源:网络整理
导读:简短的搜索显示,从xsd(XML Schema)转换为rng(RelaxNG)或rnc(compact RelaxNG)的所有可用(uUnix命令行)工具都存在某种问题. 首先,如果我使用rngconv: $wget https://msv.dev.java.net/files/documents/61/31333/rngconv.20060319.zip$unzip rngconv.20060319
简短的搜索显示,从xsd(XML Schema)转换为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)使用的这些年来,没有适合这些简单基本任务的命令行工具?人们只使用编辑吗?那些工作吗?我更喜欢命令行,特别是因为我想自动执行这些任务.

对此有何启发性评论?

转换XSD是一项非常艰巨的任务; XSD规范有点噩梦,非常复杂.从一些快速的 research,看起来很容易从RelaxNG到XSD,但反过来可能不是真的甚至可能(这解释了你关于Trang的问题).

我不明白你关于编辑的问题 – 如果你问大多数人是否最终手动在XSD和RNG之间转换,那么是的,我希望如此.

最好的建议可能是尽可能避免使用XSD,或者至少使用RNG作为权威文档并从中生成XSD.您可能还想看看schematron.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读