如何解决如何根据 RNG 模式中另一个 XML 属性的值强制使用 XML 属性?
我正在使用 tei_all.rng 的编辑版本。我想实施以下规则:
当 <seg>
元素具有值为 "fragment" 的属性 @type
时,<seg>
必须 还具有 @id
属性,其值为文档唯一值。如果 <seg>
具有带有任何其他值的 @type
属性,则它不得具有 @id
属性。可以假设 <seg>
将始终具有 @type
属性。
这是我的架构中 <seg>
的当前定义:
<define name="tei_seg">
<element name="seg">
<choice>
<group>
<attribute name="type">
<value>fragment</value>
</attribute>
<oneOrMore>
<ref name="tei_att.global.attribute.id"/>
</oneOrMore>
</group>
<group>
<ref name="tei_att.typed.attribute.type"/>
<empty/>
</group>
</choice>
<empty/>
</element>
</define>
这会启用在 @id
中使用 <seg>
时 @type="fragment"
,但它不会强制它。我需要做什么才能使没有 <seg type="fragment">
的 @id
实例不符合此架构?
@id
的值必须是唯一的,其中 @id
是在全局属性下定义的(在此定义中引用),并且当 @id
与其他元素一起使用时,这会成功实施.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。