Xsd to rnc (or rng) conversion (unix command line)

后端 未结 5 503
忘了有多久
忘了有多久 2020-12-30 08:00

A brief search shows that all available (uUnix command line) tools that convert from xsd (XML Schema) to rng (RelaxNG) or rnc (compact RelaxNG) have problems of some sort.

5条回答
  •  甜味超标
    2020-12-30 08:53

    True, trang does not accept xsd on the input side. Trang can however take a set of xml files which should meet the spec and generate a rnc or rng schema which they would all be valid against.

    Downsides:

    • It requires many compliant xml files (I'd imagine the more the better)
    • Resulting schema could probably still use some tweaking.

    Sample Case:

    If my compliant xml files are stashed in 1.xml 2.xml 3.xml 4.xml 5.xml

    the following command would tell trang to output a rnc schema that would be valid for all of them:

    java -jar trang.jar -I xml -O rnc 1.xml 2.xml 3.xml 4.xml 5.xml foo.rnc
    

    Conclusion

    If you have a nice test set of xml files which meet your schema (or you can easily create them) this may be the best option available.

    I wish you the best of luck.

提交回复
热议问题