DTD-IN
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE acta [
<!ELEMENT acta (fecha, modalidad, curso, tutor, tutor?, (modulo| (modulo, modulo) |(modulo, modulo, modulo)|(modulo, modulo, modulo, modulo)), normativa)>
<!-- el segundo elemento tutor es opcional: con ? indicamos que puede aparecer o no-->
<!ATTLIST acta id CDATA #FIXED "0144">
<!ATTLIST acta eval (1|2|3|FINAL|PE) #REQUIRED>
<!ATTLIST acta ciclo (ASIR|DAM|DAW) #REQUIRED>
<!ATTLIST acta tipo (presencial|telematica) #IMPLIED>
<!-- También es posible hacerlo de este modo
<!ATTLIST acta
ciclo (ASIR|DAM|DAW) #REQUIRED
eval (1|2|3|FINAL|PE) #REQUIRED
tipo (presencial|telematica) #REQUIRED
id CDATA #FIXED "0144">
-->
<!ELEMENT fecha (#PCDATA)>
<!ELEMENT modalidad (#PCDATA)> <!-- no podemos restringir valores en un elemento como lo haríamos en un atributo -->
<!ELEMENT curso (#PCDATA)>
<!ENTITY % datospersonales "((nombre, apellido1, apellido2, dni) | (apellido1, apellido2, nombre, dni))">
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellido1 (#PCDATA)>
<!ELEMENT apellido2 (#PCDATA)>
<!ELEMENT dni (#PCDATA)>
<!-- Las entidades por parámetro no se pueden usar en las DTD internas así que la comentamos y sustituimos su uso por su contenido en los elementos: tutor, profesor y alumno
<!ENTITY % datospersonales "((nombre, apellido1, apellido2, dni) | (apellido1, apellido2, nombre, dni))">
-->
<!ELEMENT tutor ((nombre, apellido1, apellido2, dni) | (apellido1, apellido2, nombre, dni))>
<!ELEMENT modulo (profesor, alumno*)>
<!ATTLIST modulo codigo ID #REQUIRED>
<!ELEMENT profesor ((nombre, apellido1, apellido2, dni) | (apellido1, apellido2, nombre, dni))>
<!ATTLIST profesor mod IDREF #REQUIRED>
<!ELEMENT alumno (((nombre, apellido1, apellido2, dni) | (apellido1, apellido2, nombre, dni)), cualificacion)>
<!ELEMENT cualificacion (#PCDATA)>
<!ELEMENT normativa EMPTY>
<!ATTLIST normativa ref NMTOKEN #REQUIRED>
]>
<acta ciclo="ASIR" eval="1" tipo="telematica" id="0144">
<fecha>2020-12-22</fecha>
<modalidad>presencial</modalidad>
<curso>2020-2021</curso>
<tutor>
<apellido1>Foz</apellido1>
<apellido2>Fernández</apellido2>
<nombre>Filomena</nombre>
<dni>55555555-F</dni>
</tutor>
<tutor>
<nombre>Jacinta</nombre>
<apellido1>Jáuregui</apellido1>
<apellido2>Juncal</apellido2>
<dni>55555556-J</dni>
</tutor>
<modulo codigo="C1">
<profesor mod="C1">
<nombre>Luis</nombre>
<apellido1>Loureiro</apellido1>
<apellido2>Lápiz</apellido2>
<dni>55555556-L</dni>
</profesor>
<alumno>
<nombre>María</nombre>
<apellido1>Mouriz</apellido1>
<apellido2>Muñoz</apellido2>
<dni>55555557-M</dni>
<cualificacion>5</cualificacion>
</alumno>
<alumno>
<nombre>Ana</nombre>
<apellido1>Antón</apellido1>
<apellido2>Arias</apellido2>
<dni>55555557-A</dni>
<cualificacion>4</cualificacion>
</alumno>
</modulo>
<modulo codigo="C2">
<profesor mod="C2">
<apellido1>Borrás</apellido1>
<apellido2>Brión</apellido2>
<nombre>Bernando</nombre>
<dni>55555556-B</dni>
</profesor>
<!-- No hay alumnos en este módulo -->
</modulo>
<modulo codigo="C3">
<profesor mod="C3">
<nombre>Carmen</nombre>
<apellido1>Couce</apellido1>
<apellido2>Cruz</apellido2>
<dni>55555556-C</dni>
</profesor>
</modulo>
<normativa ref="1:-_2ab" />
</acta>
Comentarios
Publicar un comentario