好吧,所以我在一个类中使用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>
答案 0 :(得分:1)
只有一种方法可以声明Checkout and Build Community(包含元素和#PCDATA)。基本上,子元素的顺序和出现不受约束。
从上面的链接引用:
...子元素的类型可能受到约束,但不受约束 订单或其发生次数
以下是您修改etymology
声明的方式:
<!ELEMENT etymology (#PCDATA|a)*>
你会对footnote
:
<!ELEMENT footnote (#PCDATA|a)*>