【问题标题】:XML/DTD, proper valid declaration of a href element?XML/DTD,href 元素的正确有效声明?
【发布时间】:2016-02-26 03:05:49
【问题描述】:

好的,所以我在一个类中使用 DTD,并且基于两个验证器,这个特定问题存在于:

21: 63  Element type "a" must be declared.

这是 XML 中与此错误相关的行。

<etymology><a href="https://en.wikipedia.org/wiki/John_Adams">John Adams</a> (1735-1826), 2nd <a href="https://en.wikipedia.org/wiki/President_of_the_United_States">U.S. President</a></etymology>

这是我的 DTD 声明:

<!ELEMENT etymology (#PCDATA)>

由于 'a href' 不是完全必需的,或者甚至不总是以 XML 文件中每个传递的词源元素开头,我该如何正确声明它们?

我在 XML 文件的底部也有同样的情况,其中脚注元素中包含 href,我想知道它们是否也是如此。

<footnote id="g">Quillehuyte County was split from Jefferson and Clallam counties in 1868 and returned to those counties a year later.</footnote>

__

<!ELEMENT footnote (#PCDATA)>
<!ATTLIST footnote id CDATA #REQUIRED>

【问题讨论】:

标签: xml dtd


【解决方案1】:

只有一种方法可以声明mixed content(包含元素和#PCDATA)。基本上不能限制子元素的顺序和出现次数。

引用以上链接:

...子元素的类型可能会受到限制,但他们的 顺序或出现次数

以下是修改etymology 声明的方法:

<!ELEMENT etymology (#PCDATA|a)*>

你可以对footnote做同样的事情:

<!ELEMENT footnote (#PCDATA|a)*>

【讨论】:

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