Introducción
- Consultas en XML es una aplicación que nos permitirá obtener información sobre datos del Instituto guardados en formato XML a través de la línea de comandos. La aplicación deberá cargar y validar el XML contra un DTD y después a través de las opciones de menú presentadas por pantalla ofrecerá la posiblidad de mostrar información al usuario de los datos del XML.
- Aplicación ha de permitir obtener la siguiente información:
- Alumnos
- Todos los alumnos de un año X
- Todos los alumnos que tengan la edad Y
- Todos los alumnos del ciclo Z del curso C
- Profesores
- Los profesores del ciclo Z
- Los profesores del ciclo Z del curso C
- Aulas
- Aula en la que se imparte el ciclo Z
Definiciones
- X: rango 1900 a 2020
- Y: rango 15 a 100
- Z: rango SMX, SIS, DAM, DAW
- C: rango 1,2
- XML base:
<IES_Esteve_Terradas>
<ciclo grado="medio" siglas="smx">
<titulo>Sistemas microinformáticos y redes</titulo>
<profesores>
<profesor imparte_clases_en="1">
<nombre>Rafael Aracil</nombre>
</profesor>
<profesor imparte_clases_en="2">
<nombre>Josep Maria Sales</nombre>
<tutor/>
</profesor>
</profesores>
<curso num="1">
<aula nombre="Aula 2" />
<alumnos>
<alumno>
<nombre></nombre>
<ano_nacimiento></ano_nacimiento>
</alumno>
</alumnos>
</curso>
<curso num="2">
<aula nombre="Aula 2" />
<alumnos>
<alumno>
<nombre></nombre>
<ano_nacimiento></ano_nacimiento>
</alumno>
</alumnos>
</curso>
</ciclo>
<ciclo grado="superior" siglas="sis">
<titulo>Administración de sistemas informáticos y redes</titulo>
<profesores>
<profesor imparte_clases_en="1">
<nombre>Leandro Zabala</nombre>
</profesor>
<profesor imparte_clases_en="2">
<nombre>David Sicart</nombre>
<tutor/>
</profesor>
</profesores>
<curso num="1">
<aula nombre="Aula 3" />
<alumnos>
<alumno>
<nombre></nombre>
<ano_nacimiento></ano_nacimiento>
</alumno>
</alumnos>
</curso>
<curso num="2">
<aula nombre="Aula 3" />
<alumnos>
<alumno>
<nombre></nombre>
<ano_nacimiento></ano_nacimiento>
</alumno>
</alumnos>
</curso>
</ciclo>
</IES_Esteve_Terradas>
<!ELEMENT IES_Esteve_Terradas (ciclo)+>
<!ELEMENT ciclo (titulo,profesores,curso+)>
<!ELEMENT titulo (#PCDATA)>
<!ELEMENT profesores (profesor)+>
<!ELEMENT curso (aula,alumnos)>
<!ELEMENT profesor (nombre, tutor?)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT tutor EMPTY>
<!ELEMENT aula EMPTY>
<!ELEMENT alumnos (alumno)+>
<!ELEMENT alumno (nombre, ano_nacimiento)>
<!ELEMENT ano_nacimiento (#PCDATA)>
<!ATTLIST ciclo grado (medio | superior) #REQUIRED>
<!ATTLIST ciclo siglas (smx | dam | daw | sis) #REQUIRED>
<!ATTLIST profesor imparte_clases_en (1 | 2) #REQUIRED>
<!ATTLIST aula nombre CDATA #REQUIRED>
<!ATTLIST curso num (1 | 2) #REQUIRED>
Especificaciones
- Rellena el XML base con los datos de al menos 1 ciclo (datos reales)
- Crea un menú de inicio con una descripción sobre la app y las opciones: Cargar datos, Salir del programa
- Al seleccionar la opción "Salir del programa" el programa printará una frase de despedida y terminará
- Al seleccionar la opción "Cargar datos" leerá el fichero XML (utilizando la librería Etree) y el fichero DTD, lo validará e informará al usuario si todo ha ido bien, sino printará un error
- Si el fichero XML se ha cargado correctamente saldrán las opciones: (Consultas alumnos, Consultas profesores, Consultas aulas, volver al menú anterior
Duración del proyecto