我在使用DTD验证XML文件时遇到问题。我读到了它,但我找不到解决方案。我有这个XML文件:
<!DOCTYPE compra SYSTEM "compras.dtd">
<compra>
<comprador nif="12345678X">
<nombre>Pepito</nombre>
<apellidos>Palotes</apellidos>
</comprador>
<fecha>
<dia>15</dia>
<mes>octubre</mes>
<year>2017</year>
</fecha>
<linea_de_pedido>
<articulo id="1">
<nombre>zapatillas</nombre>
<categoria>deporte</categoria>
<stock>1000</stock>
</articulo>
<descripcion>Las mejores zapatillas para salir a correr</descripcion>
<cantidad>1</cantidad>
<precio moneda="euro">75.20</precio>
</linea_de_pedido>
<precio_total>75.20</precio_total>
</compra>
我有这个DTD用于验证:
<?xml version='1.0' encoding='UTF-8'?>
<!ELEMENT compra (comprador|fecha|linea_de_pedido|precio_total)*>
<!ELEMENT comprador (nombre|apellidos)*>
<!ATTLIST comprador
nif CDATA #IMPLIED
>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellidos (#PCDATA)>
<!ELEMENT fecha (dia|mes|year)*>
<!ELEMENT dia (#PCDATA)>
<!ELEMENT mes (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT linea_de_pedido (articulo|descripcion|cantidad|precio)*>
<!ELEMENT articulo (nombre|categoria|stock)*>
<!ATTLIST articulo
id CDATA #IMPLIED
>
<!ELEMENT categoria (#PCDATA)>
<!ELEMENT stock (#PCDATA)>
<!ELEMENT descripcion (#PCDATA)>
<!ELEMENT cantidad (#PCDATA)>
<!ELEMENT precio (#PCDATA)>
<!ATTLIST precio
moneda CDATA #IMPLIED
>
<!ELEMENT precio_total (#PCDATA)>
这是验证过程中的错误:
XML validation started.
Checking file:/C:/Java/texto/src/compras.xml...
El contenido no está permitido en el prólogo. [1]
XML validation finished.
&#34; prolog中不允许使用内容。 [1]&#34;用英语。
问题在哪里?