xml - 我需要一个模式规则,仅当另一个属性首先存在时才强制执行该属性的存在。

标签 xml xpath xsd xslt-2.0 schematron

我正在尝试编写这样的模式规则: 仅当 name 属性存在时,owner 属性才存在。例如:

<business name="n1" owner="o1" />

只有当 name 属性存在时,owner 属性才能存在。谢谢!

最佳答案

您可以断言 @owner@name 都存在,或者 @owner 不存在:

<rule context="business">
  <assert test="(@owner and @name) or not(@owner)">
    The owner attribute requires the name attribute.
  </assert>
</rule>

关于xml - 我需要一个模式规则,仅当另一个属性首先存在时才强制执行该属性的存在。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41949729/

相关文章:

php - 如何用 PHP 解析维基百科 XML?

php - 如何在 XPath 中使用 AND 运算符?

xml - 使用 Xerces-j 验证 XML 文档

performance - W3C 限制 DTD/XSD 请求;有镜像或文件列表吗?

wcf - 为什么公共(public)属性(property)没有被序列化?

python - 在 Python 中使用 Element Tree 合并 xml 文件

java - 如何将 XML 文件中的值放入 java 中另一个类的数组列表中?

xml - 仅使用 XPath 在 VTD-XML 中进行动态查找

java - 使用 JDOM 获取 XML 元素

selenium - WinAppDriver - 使用文本定位元素