微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

集成一个 xsd 验证器lib 或工具

如何解决集成一个 xsd 验证器lib 或工具

我目前正在使用一个跨平台的 c++ 项目 (windows+linux),它很快就会需要一个外部 xsd 验证器。

我的计划是:

  • 要么找到一个执行 xsd 验证的 C++ 库(可能是一项复杂的任务)
  • 或者我可以作为外部进程启动的现有工具(我相信更容易;Xerces 可能是一种选择?)

我有一个很深的 xsd 文件层次结构,所以我需要一个可靠的工具来完成这项工作。

我的问题:我需要一些关于一些易于集成但已生产就绪的解决方案的建议。

我现在的看法是使用 Java 版本的 Xerces,并在单独的进程中调用它。

可能我需要包装 Xerces,因为它似乎不允许直接在命令行中进行 xsd 验证,例如https://github.com/ndw/xjparse

谢谢

解决方法

您可以将 xmllint--schema 选项一起使用:

xmllint --noout --schema test.xsd test.xml

test.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="info" type="xs:string"/>
</xs:schema>

测试.xml

<?xml version="1.0"?>
<info>abc</info>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。