如何在 Python 中使用紧凑的 RELAX NG 模式验证 XML 文档?
如何在 Python 中通过紧凑的 RELAX NG 模式验证 XML 文档?
How do I validate XML document via compact RELAX NG schema in Python?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您想从命令行检查语法与 Compact RelaxNG 语法,您可以使用
pyjing
,来自 jingtrang 模块。它支持 .rnc 文件,并显示更多详细信息,而不仅仅是
True
或False
。 例如:注意:它是 Java
jingtrang
的 Python 包装器,因此需要安装 Java。如果您想在 Python 中检查语法,您可以
pytrang
(来自jingtrang包装器)将“Compact RelaxNG”(.rnc)转换为XML RelaxNG(.rng< /强>):pytrang root.rnc root.rng
使用
lxml
解析转换后的.rng文件,如下所示:https://lxml.de/validation.html#relaxng那会是这样的:
If you want to check syntax vs Compact RelaxNG Syntax from command line, you can use
pyjing
, from the jingtrang module.It supports .rnc files and displays more details than just
True
orFalse
. For example:NOTE: it is a Python wrapper of the Java
jingtrang
so it requires to have Java installed.If you want to check the syntax from within Python, you can
Use
pytrang
(from jingtrang wrapper) to convert "Compact RelaxNG" (.rnc) to XML RelaxNG (.rng):pytrang root.rnc root.rng
Use
lxml
to parse converted .rng file like this: https://lxml.de/validation.html#relaxngThat would be something like that:
使用 lxml 怎么样?
来自文档:
How about using lxml?
From the docs:
使用 jingtrang 或其他外部工具的替代方法是使用名为 rnc2rng 的 Python 库。 这可以加载RNC格式的文件,将其转换为ReleaxNG XML格式作为字符串,可以加载到lxml的RelaxNG类中。
有关详细信息,请参阅此问题。
An alternative to using jingtrang or other external tools is to use the Python library called rnc2rng. This can load the file in RNC format, convert it to ReleaxNG XML format as a string, which can be loaded into lxml's RelaxNG class.
See this issue for details.