通过架构 XSD 检查属性值

  • 本文关键字:属性 XSD xml xsd
  • 更新时间 :
  • 英文 :


我需要检查"book"(根(元素的属性值"id"。

如果"id"值以三个零结尾(id="******-000"(,则另一个属性"book-type"应该是"book",否则应该是"chapter"。

这是我的 xml 看起来像:

<book id="201019894-000" book-type="book" xsi:noNamespaceSchemaLocation="schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<book-meta>
<title-group>...

是否有可能在模式(xsd(中检查上述条件。

请指导我..

谢谢

无法在 XSD 1.0 中完成。

在 XSD 1.1 中,您可以使用

诸如
<xs:assert test="if (ends-with(@id, '-000') then @book-type='book' else @book-type='chapter'"/>

最新更新