Proyecto Consultas en XML

De Wiket
Salta a la navegació Salta a la cerca

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>
  • DTD:
<!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

  1. Rellena el XML base con los datos de al menos 1 ciclo (datos reales)
  2. Crea un menú de inicio con una descripción sobre la app y las opciones: Cargar datos, Salir del programa
  3. Al seleccionar la opción "Salir del programa" el programa printará una frase de despedida y terminará
  4. 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

Duración del proyecto