问题描述
我正在使用 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 (将#修改为@)