【问题标题】:How can I define a self closing XML element in a DTD file?如何在 DTD 文件中定义自关闭 XML 元素?
【发布时间】:2021-10-15 21:58:54
【问题描述】:

我要定义的元素:

<testing-element code="Input"/>

我在 DTD 文件中放入的代码:

<!ELEMENT testing-element ()>
<!ATTLIST testing-element code CDATA #REQUIRED>

问题是,您目前不允许将 !ELEMENT 标记中的括号留空

【问题讨论】:

  • 为什么不使用 XML Schema 而不是 DTD?

标签: xml validation dtd


【解决方案1】:

你可以这样声明元素:

<!ELEMENT testing-element EMPTY>

您的示例中的一对空括号不是有效的内容模型声明语法。

这将允许您以 XML 样式的空元素语法指定元素

<testing-element/>

或带有开始和结束元素标签:

<testing-element></testing-element>

没有办法要求空元素语法(由于 XML 的 SGML 遗产)。

从技术上讲,您还可以对碰巧接受空内容的任何元素使用空结束元素语法,例如。有一个内容模型,所有元素都是可选的:

<ELEMENT e (f?)>

或者在使用宽松验证时根本没有声明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    相关资源
    最近更新 更多