我是一名西班牙 Web 開發人員學生,首先抱歉我的英語不好,但我會盡力解釋這個問題。
我們啟動了標記語言,我們需要創建一個 XML 檔案和 DTD 來驗證該 XML。

這是我試圖驗證的 XML
<?xml version="1.0" encoding="UTF-8"?>
<!--
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
Click nbfs://nbhost/SystemFileSystem/Templates/XML/XMLDocument.xml to edit this template
-->
<!DOCTYPE academia SYSTEM "actividad2_dtd.dtd">
<academia>
<matriculas>
<matricula>
<cod_matricula>M83928971-22</cod_matricula>
<administrativo>
<nombre_administrativo>Francisco Javier Ruiz Barrosa</nombre_administrativo>
<dni_administrativo>62637169V</dni_administrativo>
</administrativo>
<fecha_matricula>14/09/2022</fecha_matricula>
<importe_matricula moneda = "Euro">59,67</importe_matricula>
<pago forma="Transferencia"/> //Paypal, Bizum, Tarjeta, Trasnferencia
<metodo_envio modo="Urgente"/>
<fecha_entrega></fecha_entrega>
<observaciones>Matricula Parcial</observaciones> //Opcional
</matricula>
<alumnado>
<alumno>
<identificacion>
<cod_alumno>RG8293</cod_alumno>
<fecha_nacimiento>05/03/1998</fecha_nacimiento>
<dni_alumno>53584168X</dni_alumno> //Opcional
</identificacion>
<tipo_curso>completo</tipo_curso>
<nombre_completo>
<nombre_alumno>Juan Pablo</nombre_alumno>
<primer_apellido>Sanchez</primer_apellido>
<segundo_apellido>Valdes</segundo_apellido>
</nombre_completo>
<direccion>
<via>Calle Trebujena</via>
<numero_via>14</numero_via>
<localidad>Chipiona</localidad>
<provincia>Cádiz</provincia>
<codigo_postal>11550</codigo_postal>
</direccion>
<telefono>
<movil></movil>
<fijo></fijo>
</telefono>
<repetidor>
<repite>Si</repite>
<numero_repeticiones>1</numero_repeticiones>
</repetidor>
</alumno>
</alumnado>
<cursos>
<curso>
<cod_curso>CAL1988-45</cod_curso>
<idioma>Ingles</idioma>
<nivel>A1</nivel>
<precio moneda="Euro"></precio>
</curso>
</cursos>
</matriculas>
</academia>
這是我用來驗證 XML 檔案的 DTD
<?xml version="1.0" encoding="UTF-8"?>
<!--
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
Click nbfs://nbhost/SystemFileSystem/Templates/XML/emptyDTD.dtd to edit this template
-->
<!--
TODO define vocabulary identification data
PUBLIC ID : -//vendor//vocabulary//EN
SYSTEM ID : http://server/path/__NAME__
-->
<!-- TODO define your own vocabulary/syntax. Example follows: -->
<!ELEMENT academia (matriculas)>
<!ELEMENT matriculas (matricula, alumnado, cursos)>
<!ELEMENT matricula (cod_matricula, administrativo, fecha_matricula, importe_matricula, pago, metodo_envio, fecha_entrega, observaciones?)>
<!ELEMENT cod_matricula (#PCDATA)>
<!ELEMENT administrativo (nombre_administrativo, dni_administrativo)>
<!ELEMENT nombre_administrativo (#PCDATA)>
<!ELEMENT dni_administrativo (#PCDATA)>
<!ELEMENT fecha_matricula (#PCDATA)>
<!ELEMENT importe_matricula (#PCDATA)>
<!ATTLIST importe_matricula moneda CDATA #REQUIRED>
<!ELEMENT pago (#PCDATA)>
<!ATTLIST pago forma (Paypal|Bizum|Tarjeta|Transferencia) #REQUIRED>
<!ELEMENT metodo_envio (#PCDATA)>
<!ATTLIST metodo_envio modo CDATA #REQUIRED>
<!ELEMENT fecha_entrega (#PCDATA)>
<!ELEMENT observaciones (#PCDATA)>
<!ELEMENT alumnado (alumno)>
<!ELEMENT alumno (indentificacion, tipo_curso, nombre_completo, direccion, telefono, repetidor )>
<!ELEMENT identificacion (cod_alumno, fecha_nacimiento, dni_alumno?)>
<!ELEMENT cod_alumno (#PCDATA)>
<!ELEMENT fecha_nacimiento (#PCDATA)>
<!ELEMENT dni_alumno (#PCDATA)>
<!ELEMENT tipo_curso (#PCDATA)>
<!ELEMENT nombre_completo (nombre_alumno, primer_apellido, segundo_apellido)>
<!ELEMENT nombre_alumno (#PCDATA)>
<!ELEMENT primer_apellido (#PCDATA)>
<!ELEMENT segundo_apellido (#PCDATA)>
<!ELEMENT direccion (via, numero_via, localidad, provincia, codigo_postal)>
<!ELEMENT via (#PCDATA)>
<!ELEMENT numero_via (#PCDATA)>
<!ELEMENT localidad (#PCDATA)>
<!ELEMENT provincia (#PCDATA)>
<!ELEMENT codigo_postal (#PCDATA)>
<!ELEMENT telefono (movil,fijo?)>
<!ELEMENT movil (#PCDATA)>
<!ELEMENT fijo (#PCDATA)>
<!ELEMENT repetidor (repite,numero_repeticiones)>
<!ELEMENT repite (#PCDATA)>
<!ELEMENT numero_repeticiones (#PCDATA)>
<!ELEMENT cursos (curso)>
<!ELEMENT curso (cod_curso,idioma,nivel,precio)>
<!ELEMENT cod_curso (#PCDATA)>
<!ELEMENT idioma (#PCDATA)>
<!ELEMENT nivel (#PCDATA)>
<!ELEMENT precio (#PCDATA)>
<!ATTLIST precio moneda CDATA #REQUIRED>
所以目前我不知道我的失敗在哪里,因為我在“matricula”“indentificacion”和“alumno”元素中看到相同的內容我不知道是不是因為此刻我有精神障礙或其他任何東西,但我真的不明白我的失敗在哪里。
如果不理解西班牙語單詞的代碼,如果有人需要,我可以更改為英語。
uj5u.com熱心網友回復:
indentificacion在 DTD 中拼寫錯誤。應該identificacion- 關于 XML:
//Paypal, Bizum, Tarjeta, Trasnferencia從 XML 的角度來看是 PCDATA。可能是<!-- Paypal, Bizum, Tarjeta, Trasnferencia -->。其他//情況也一樣。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/531616.html
標籤:xmldtd
