好的,我在一个类中使用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)>由于‘href’并不是完全必需的,甚至不是总是以XML文件中每个经过的词源元素开始,那么我应该如何正确地声明它们呢?
我在XML文件的底部也有相同的情况,其中有一个脚注元素,我想对它们也有同样的情况。
<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>发布于 2016-02-26 03:26:46
只有一种方法来声明混合含量 (包含元素和#PCDATA)。基本上,子元素的顺序和发生是不受约束的。
引用上述链接:
子元素的...the类型可能受到约束,但不受其顺序或出现次数的限制。
下面是修改etymology声明的方法:
<!ELEMENT etymology (#PCDATA|a)*>你也会对footnote做同样的事情
<!ELEMENT footnote (#PCDATA|a)*>https://stackoverflow.com/questions/35642667
复制相似问题