【发布时间】:2023-02-22 18:30:44
【问题描述】:
是否也可以验证 XML 的文件名?如果文件未命名为<componentType>-<name>.xml,我想验证失败,其中 componentType 和名称是 XML 中的元素。
当然,我可以使用 xpath 运行一些 bash 脚本,但在这里我没有那个选项。
【问题讨论】:
-
你能告诉我们真实的样本输入/预期输出吗?
标签: xml xsd xsd-validation
是否也可以验证 XML 的文件名?如果文件未命名为<componentType>-<name>.xml,我想验证失败,其中 componentType 和名称是 XML 中的元素。
当然,我可以使用 xpath 运行一些 bash 脚本,但在这里我没有那个选项。
【问题讨论】:
标签: xml xsd xsd-validation
也许在bash:
IFS='-' read node1 node2 <<< componentType-name.xml
res=$(xmllint --xpath "//$node1/text()|//${node2%.xml}/text()" componentType-name.xml | wc -l)
((res==2)) && echo success
【讨论】:
不直接使用 XSD(我不确定您为什么要这样做)。
您可以使用 XSD 1.1 断言来测试 base-uri() 的值,但它不会 100% 可靠 - 无论谁请求验证,都有很多方法无法通知验证器文档的位置,或者误导它。
【讨论】: