当且仅当一个子元素不存在用于在DTD的元素要求的属性被定义(Requiring an attribu

2019-11-04 08:40发布

考虑从DTD如下定义:

<!ELEMENT application (calculator)?>
<!ATTLIST application
        uri CDATA #REQUIRED
>

我的问题是我想要的uri来定义属性,当且仅当没有一个calculator元素。

有没有需要这种方式?

Answer 1:

@Alejandro是正确的。 这是无法实现的DTD也不可能与XML架构 。 为此,您可以使用同现约束与RelaxNG模式,或者你可以使用的Schematron与任何这些模式语言。

我以前使用嵌入的Schematron规则与模式(就是很好的讨论与XSD解决这样的问题XFront与RelaxNG上XML.com )。 我最近一直在做纯RelaxNG类似的东西,但那么你只能在一个形式来表达的模式。



文章来源: Requiring an attribute be defined if and only if a child element is not present for an element in a DTD
标签: xml dtd