【发布时间】:2020-12-01 08:19:18
【问题描述】:
我在添加外部 DTD 验证时遇到了 XML 验证问题。 这正常工作:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE booklist [
<!ELEMENT booklist (book)*>
<!ELEMENT book (author,title,published?)>
<!ELEMENT author (firstname,lastname)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT published (#PCDATA)>
<!ATTLIST book genre (Science|Fiction) #REQUIRED>
<!ATTLIST book format (Paperback|Hardcover) "Paperback">
]>
<booklist>
<book genre="Fiction" format="Paperback">
<author>
<firstname>Name</firstname>
<lastname>Surname</lastname>
</author>
<title>Sample</title>
<published>2020</published>
</book>
</booklist>
当我尝试添加外部 dtd 声明时,XML 复制编辑器输出错误
第 1 行第 3 列的致命错误:需要标记声明
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE booklist SYSTEM "booklist.dtd">
<booklist>
<book genre="Fiction" format="Paperback">
<author>
<firstname>Name</firstname>
<lastname>Surname</lastname>
</author>
<title>Sample</title>
<published>2020</published>
</book>
</booklist>
DTD
<!DOCTYPE booklist [
<!ELEMENT booklist (book)*>
<!ELEMENT book (author,title,published?)>
<!ELEMENT author (firstname,lastname)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT published (#PCDATA)>
<!ATTLIST book genre (Science|Fiction) #REQUIRED>
<!ATTLIST book format (Paperback|Hardcover) "Paperback">
]>
我做错了什么?
【问题讨论】:
标签: xml dtd xml-validation