Externe DTD-Markup-Deklaration erwartet [Duplikat]

Nov 30 2020

Ich habe ein Problem mit der XML-Validierung, wenn ich eine externe DTD-Validierung hinzufüge. Dies funktioniert normal:

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

Wenn ich versuche, eine externe dtd-Deklaration hinzuzufügen, gibt der XML-Kopiereditor einen Fehler aus

Schwerwiegender Fehler in Zeile 1, Spalte 3: Markup-Deklaration erwartet

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

Was mache ich falsch ?

Antworten

1 kjhughes Dec 01 2020 at 00:17

Entfernen Sie den DOCTYPEWrapper für Ihre externe Teilmenge:

Externe DTD

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