XML - DTD - 外部子集中的内容错误
XML - DTD - Content error in the external subset
我正在尝试验证以下 .dtd 代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE PERSON [
<!ELEMENT lista_plac_dokument (autor, informacje_o_dokumencie, zatrudnieni)>
<!ELEMENT autor (autor_imię, autor_nazwisko, autor_adres+)>
<!ELEMENT autor_imię (#PCDATA)>
<!ELEMENT autor_nazwisko (#PCDATA)>
<!ELEMENT autor_adres (ulica,(kod_pocztowy|zip),miasto,kraj)>
<!ELEMENT ulica (#PCDATA)>
<!ELEMENT kod_pocztowy (#PCDATA)>
<!ELEMENT miasto (#PCDATA)>
<!ELEMENT kraj (#PCDATA)>
<!ELEMENT informacje_o_dokumencie (kategoria_dokumentu)>
<!ELEMENT kategoria_dokumentu (#PCDATA)>
<!ELEMENT zatrudnieni (osoba*)>
<!ELEMENT osoba (imię, nazwisko, stanowisko, data_zatrudnienia, wynagrodzenie_brutto_12_miesięcy, informacje_osobiste+)>
<!ATTLIST osoba osoba_id ID #REQUIRED>
<!ELEMENT imię (#PCDATA)>
<!ELEMENT nazwisko (#PCDATA)>
<!ELEMENT stanowisko (#PCDATA)>
<!ELEMENT data_zatrudnienia (#PCDATA)>
<!ELEMENT wynagrodzenie_brutto_12_miesięcy (#PCDATA)>
<!ELEMENT informacje_osobiste (wiek?)>
<!ELEMENT wiek (#PCDATA)>
]>
但每次我尝试使用以下命令检查它的语法时:
xmllint --loaddtd person.dtd person.xml --noout
我收到以下错误:
person.dtd:29: parser error : Start tag expected, '<' not found
]>
^
person.dtd:2: parser error : Content error in the external subset
<!DOCTYPE PERSON [
^
person.dtd:2: parser error : Content error in the external subset
<!DOCTYPE PERSON [
^
.dtd
文件(外部声明子集)必须只包含实际标记声明(<!ELEMENT ...>
和其他)。 <!DOCTYPE ... [
和 ]>
仅用于 .xml
文件(实例文档)。
尝试删除
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE PERSON [
从头开始
]>
从您的 .dtd
文件末尾开始。
我正在尝试验证以下 .dtd 代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE PERSON [
<!ELEMENT lista_plac_dokument (autor, informacje_o_dokumencie, zatrudnieni)>
<!ELEMENT autor (autor_imię, autor_nazwisko, autor_adres+)>
<!ELEMENT autor_imię (#PCDATA)>
<!ELEMENT autor_nazwisko (#PCDATA)>
<!ELEMENT autor_adres (ulica,(kod_pocztowy|zip),miasto,kraj)>
<!ELEMENT ulica (#PCDATA)>
<!ELEMENT kod_pocztowy (#PCDATA)>
<!ELEMENT miasto (#PCDATA)>
<!ELEMENT kraj (#PCDATA)>
<!ELEMENT informacje_o_dokumencie (kategoria_dokumentu)>
<!ELEMENT kategoria_dokumentu (#PCDATA)>
<!ELEMENT zatrudnieni (osoba*)>
<!ELEMENT osoba (imię, nazwisko, stanowisko, data_zatrudnienia, wynagrodzenie_brutto_12_miesięcy, informacje_osobiste+)>
<!ATTLIST osoba osoba_id ID #REQUIRED>
<!ELEMENT imię (#PCDATA)>
<!ELEMENT nazwisko (#PCDATA)>
<!ELEMENT stanowisko (#PCDATA)>
<!ELEMENT data_zatrudnienia (#PCDATA)>
<!ELEMENT wynagrodzenie_brutto_12_miesięcy (#PCDATA)>
<!ELEMENT informacje_osobiste (wiek?)>
<!ELEMENT wiek (#PCDATA)>
]>
但每次我尝试使用以下命令检查它的语法时:
xmllint --loaddtd person.dtd person.xml --noout
我收到以下错误:
person.dtd:29: parser error : Start tag expected, '<' not found
]>
^
person.dtd:2: parser error : Content error in the external subset
<!DOCTYPE PERSON [
^
person.dtd:2: parser error : Content error in the external subset
<!DOCTYPE PERSON [
^
.dtd
文件(外部声明子集)必须只包含实际标记声明(<!ELEMENT ...>
和其他)。 <!DOCTYPE ... [
和 ]>
仅用于 .xml
文件(实例文档)。
尝试删除
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE PERSON [
从头开始
]>
从您的 .dtd
文件末尾开始。