XML / DTD,href元素的正确有效声明?

时间:2016-02-26 03:05:50

标签: xml dtd xml-dtd

好吧,所以我在一个类中使用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文件的底部也有相同的情况,其中脚注元素中有hrefs,我想知道它们是一样的。

<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>

1 个答案:

答案 0 :(得分:1)

只有一种方法可以声明Checkout and Build Community(包含元素和#PCDATA)。基本上,子元素的顺序和出现不受约束。

从上面的链接引用:

  

...子元素的类型可能受到约束,但不受约束   订单或其发生次数

以下是您修改etymology声明的方式:

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

你会对footnote

做同样的事情
<!ELEMENT footnote (#PCDATA|a)*>