primer commit

This commit is contained in:
Isidoro Nevares Martín 2025-10-24 12:52:00 +02:00
commit a7505cecfe
8 changed files with 1094 additions and 0 deletions

10
.classpath Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk-25">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
/bin/
*.class

17
.project Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>aadd_act1_11</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@ -0,0 +1,13 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=24
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=24
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=24

315
informacion-IES_v2.xml Normal file
View File

@ -0,0 +1,315 @@
<?xml version="1.0" encoding="UTF-8"?>
<instituto tipo="FP">
<nombre>IES Virgen de la Paloma</nombre>
<!-- Módulos físicos del instituto -->
<modulo id="M001" ubicacion="Aula 101" tipo="Laboratorio">
<descripcion>Laboratorio de informática</descripcion>
<capacidad>30</capacidad>
</modulo>
<modulo id="M002" ubicacion="Aula 102" tipo="Taller">
<descripcion>Taller de Fundamentos de Hardware</descripcion>
<capacidad>25</capacidad>
</modulo>
<modulo id="M003" ubicacion="Aula 102" tipo="Taller">
<descripcion>Taller de Automoción</descripcion>
<capacidad>25</capacidad>
</modulo>
<ciclo codigo="IFC05" nivel="CFGS" familia="IFC" numero_horas="2000">
<nombre>
<nombre_corto>DAM</nombre_corto>
<nombre_largo>Técnico Superior en Desarrollo de Aplicaciones Multiplataforma</nombre_largo>
</nombre>
<curso numero="1">
<modulo id="11" ref="0186">
<titulo> Bases de datos</titulo>
<numerohoras>205</numerohoras>
</modulo>
<modulo id="12" ref="0188">
<numerohoras>90</numerohoras>
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="13" ref="0194">
<numerohoras>90</numerohoras>
<titulo>Formación y orientación laboral</titulo>
</modulo>
<modulo id="14" ref="0190">
<numerohoras>140</numerohoras>
<titulo>Lenguaje de marcas y sistemas de gestión de información</titulo>
</modulo>
<modulo id="14" ref="0189">
<numerohoras>270</numerohoras>
<titulo>Programación</titulo>
</modulo>
<modulo id="15" ref="0191">
<numerohoras>205</numerohoras>
<titulo>Sistemas informáticos</titulo>
</modulo>
</curso>
<curso numero="2">
<modulo id="21" ref="0286">
<titulo>Acceso a Datos</titulo>
<numerohoras>120</numerohoras>
</modulo>
<modulo id="22" ref="0288">
<numerohoras>120</numerohoras>
<titulo>Diseño de interfaces</titulo>
</modulo>
<modulo id="23" ref="0294">
<numerohoras>65</numerohoras>
<titulo>Empresa e iniciativa emprendedora </titulo>
</modulo>
<modulo id="24" ref="0290">
<numerohoras>80</numerohoras>
<titulo>Programación de servicios y procesos</titulo>
</modulo>
<modulo id="25" ref="0289">
<numerohoras>80</numerohoras>
<titulo>Programación multimedia y dispositivos móviles</titulo>
</modulo>
<modulo id="26" ref="0291">
<numerohoras>40</numerohoras>
<titulo>Inglés técnico para grado superior</titulo>
</modulo>
</curso>
</ciclo>
<ciclo codigo="IFC06" nivel="CFGS" familia="IFC" numero_horas="2000" >
<nombre>
<nombre_corto>DAW</nombre_corto>
<nombre_largo>Técnico Superior en Desarrollo de Aplicaciones Web</nombre_largo>
</nombre>
<curso numero="1">
<modulo id="31" ref="0186">
<titulo> Bases de datos</titulo>
<numerohoras>205</numerohoras>
</modulo>
<modulo id="32" ref="0188">
<numerohoras>90</numerohoras>
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="33" ref="0194">
<numerohoras>90</numerohoras>
<titulo>Formación y orientación laboral</titulo>
</modulo>
<modulo id="34" ref="0190">
<numerohoras>140</numerohoras>
<titulo>Lenguaje de marcas y sistemas de gestión de información</titulo>
</modulo>
<modulo id="34" ref="0189">
<numerohoras>270</numerohoras>
<titulo>Programación</titulo>
</modulo>
<modulo id="35" ref="0191">
<numerohoras>205</numerohoras>
<titulo>Sistemas informáticos</titulo>
</modulo>
</curso>
<curso numero="2">
<modulo id="41" ref="0286">
<titulo>Desarrollo web en entorno cliente</titulo>
<numerohoras>115</numerohoras>
</modulo>
<modulo id="42" ref="0288">
<numerohoras>180</numerohoras>
<titulo>Desarrollo web en entorno servidor</titulo>
</modulo>
<modulo id="43" ref="0294">
<numerohoras>85</numerohoras>
<titulo>Despliegue de aplicaciones web</titulo>
</modulo>
<modulo id="44" ref="0290">
<numerohoras>115</numerohoras>
<titulo>Diseño de interfaces web </titulo>
</modulo>
<modulo id="45" ref="0289">
<numerohoras>30</numerohoras>
<titulo>Proyecto de desarrollo de aplicaciones web </titulo>
</modulo>
<modulo id="46" ref="0291">
<numerohoras>40</numerohoras>
<titulo>Inglés técnico para grado superior</titulo>
</modulo>
<modulo id="23" ref="0294">
<numerohoras>65</numerohoras>
<titulo>Empresa e iniciativa emprendedora </titulo>
</modulo>
</curso>
</ciclo> <ciclo codigo="IFC03" nivel="CFGS" familia="IFC" numero_horas="2000">
<nombre>
<nombre_corto>ASIR</nombre_corto>
<nombre_largo>Técnico Superior en Administración de Sistemas Informáticos en Red</nombre_largo>
</nombre>
<curso numero="1">
<modulo id="ASIR01" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
<numerohoras>231</numerohoras>
</modulo>
<modulo id="ASIR02" ref="0226">
<titulo>Planificación y administración de redes</titulo>
<numerohoras>231</numerohoras>
</modulo>
<modulo id="ASIR03" ref="0227">
<titulo>Fundamentos de hardware</titulo>
<numerohoras>165</numerohoras>
</modulo>
<modulo id="ASIR04" ref="0228">
<titulo>Gestión de bases de datos</titulo>
<numerohoras>198</numerohoras>
</modulo>
<modulo id="ASIR05" ref="0231">
<titulo>Lenguajes de marcas y sistemas de gestión de información</titulo>
<numerohoras>132</numerohoras>
</modulo>
<modulo id="ASIR06" ref="0233">
<titulo>Formación y orientación laboral</titulo>
<numerohoras>99</numerohoras>
</modulo>
</curso>
<curso numero="2">
<modulo id="ASIR07" ref="0229">
<titulo>Administración de sistemas operativos</titulo>
<numerohoras>105</numerohoras>
</modulo>
<modulo id="ASIR08" ref="0230">
<titulo>Servicios de red e Internet</titulo>
<numerohoras>126</numerohoras>
</modulo>
<modulo id="ASIR09" ref="0232">
<titulo>Implantación de aplicaciones web</titulo>
<numerohoras>84</numerohoras>
</modulo>
<modulo id="ASIR10" ref="0234">
<titulo>Administración de sistemas gestores de bases de datos</titulo>
<numerohoras>84</numerohoras>
</modulo>
<modulo id="ASIR11" ref="0235">
<titulo>Seguridad y alta disponibilidad</titulo>
<numerohoras>126</numerohoras>
</modulo>
<modulo id="ASIR12" ref="0236">
<titulo>Empresa e iniciativa emprendedora</titulo>
<numerohoras>66</numerohoras>
</modulo>
<modulo id="ASIR13" ref="FCT">
<titulo>Formación en centros de trabajo</titulo>
<numerohoras>370</numerohoras>
</modulo>
<modulo id="ASIR14" ref="PRJ">
<titulo>Proyecto de Administración de Sistemas Informáticos en Red</titulo>
<numerohoras>40</numerohoras>
</modulo>
</curso>
</ciclo>
<!-- Ciclo de Grado Medio: SMR -->
<ciclo codigo="IFC02" nivel="CFGM" familia="IFC" numero_horas="2000">
<nombre>
<nombre_corto>SMR</nombre_corto>
<nombre_largo>Técnico en Sistemas Microinformáticos y Redes</nombre_largo>
</nombre>
<curso numero="1">
<modulo id="SMR01" ref="0223">
<titulo>Montaje y mantenimiento de equipos</titulo>
<numerohoras>198</numerohoras>
</modulo>
<modulo id="SMR02" ref="0224">
<titulo>Sistemas operativos monopuesto</titulo>
<numerohoras>198</numerohoras>
</modulo>
<modulo id="SMR03" ref="0225">
<titulo>Aplicaciones ofimáticas</titulo>
<numerohoras>231</numerohoras>
</modulo>
<modulo id="SMR04" ref="0226">
<titulo>Redes locales</titulo>
<numerohoras>198</numerohoras>
</modulo>
<modulo id="SMR05" ref="0233">
<titulo>Formación y orientación laboral</titulo>
<numerohoras>99</numerohoras>
</modulo>
</curso>
<curso numero="2">
<modulo id="SMR06" ref="0227">
<titulo>Sistemas operativos en red</titulo>
<numerohoras>168</numerohoras>
</modulo>
<modulo id="SMR07" ref="0228">
<titulo>Seguridad informática</titulo>
<numerohoras>105</numerohoras>
</modulo>
<modulo id="SMR08" ref="0229">
<titulo>Servicios en red</titulo>
<numerohoras>168</numerohoras>
</modulo>
<modulo id="SMR09" ref="0230">
<titulo>Programación Aplicaciones web</titulo>
<numerohoras>105</numerohoras>
</modulo>
<modulo id="SMR10" ref="0234">
<titulo>Empresa e iniciativa emprendedora</titulo>
<numerohoras>66</numerohoras>
</modulo>
<modulo id="SMR11" ref="FCT">
<titulo>Formación en centros de trabajo</titulo>
<numerohoras>370</numerohoras>
</modulo>
</curso>
</ciclo>
<!-- Ciclo de Grado Básico: Informática de Oficina -->
<ciclo codigo="FB01" nivel="CFGB" familia="IFC" numero_horas="2000">
<nombre>
<nombre_corto>INFOBAS</nombre_corto>
<nombre_largo>Título Profesional Básico en Informática de Oficina</nombre_largo>
</nombre>
<curso numero="1">
<modulo id="INF01" ref="MB101">
<titulo>Aplicaciones básicas de ofimática</titulo>
<numerohoras>160</numerohoras>
</modulo>
<modulo id="INF02" ref="MB102">
<titulo>Montaje y mantenimiento de sistemas y componentes informáticos</titulo>
<numerohoras>160</numerohoras>
</modulo>
<modulo id="INF03" ref="MB103">
<titulo>Ciencias aplicadas I</titulo>
<numerohoras>160</numerohoras>
</modulo>
<modulo id="INF04" ref="MB104">
<titulo>Comunicación y sociedad I</titulo>
<numerohoras>160</numerohoras>
</modulo>
<modulo id="INF05" ref="MB105">
<titulo>Tutorización y orientación</titulo>
<numerohoras>80</numerohoras>
</modulo>
</curso>
<curso numero="2">
<modulo id="INF06" ref="MB106">
<titulo>Tratamiento de textos y presentación de información</titulo>
<numerohoras>160</numerohoras>
</modulo>
<modulo id="INF07" ref="MB107">
<titulo>Operaciones auxiliares de mantenimiento de sistemas informáticos</titulo>
<numerohoras>160</numerohoras>
</modulo>
<modulo id="INF08" ref="MB108">
<titulo>Ciencias aplicadas II</titulo>
<numerohoras>160</numerohoras>
</modulo>
<modulo id="INF09" ref="MB109">
<titulo>Comunicación y sociedad II</titulo>
<numerohoras>160</numerohoras>
</modulo>
<modulo id="INF10" ref="FCT">
<titulo>Formación en centros de trabajo</titulo>
<numerohoras>260</numerohoras>
</modulo>
</curso>
</ciclo>
</instituto>

403
informacion_ciclos_IES.xml Normal file
View File

@ -0,0 +1,403 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ies codigo="FB01" nivel="CFGB" nombre="IES Virgen de la Paloma" tipo="FP">
<ciclo>
<nombre_corto>DAM</nombre_corto>
<nombre_largo>Técnico Superior en Desarrollo de Aplicaciones Multiplataforma</nombre_largo>
<curso num="1">
<modulo id="11" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="11" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="11" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="11" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="11" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="11" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="11" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="11" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="11" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="11" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="11" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="11" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
</curso>
<curso num="2">
<modulo id="12" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="12" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="12" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="12" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="12" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="12" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="12" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="12" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="12" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="12" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="12" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="12" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
</curso>
</ciclo>
<ciclo>
<nombre_corto>DAW</nombre_corto>
<nombre_largo>Técnico Superior en Desarrollo de Aplicaciones Web</nombre_largo>
<curso num="1">
<modulo id="31" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="31" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="31" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="31" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="31" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="31" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="31" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="31" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="31" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="31" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="31" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="31" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
<modulo id="31" numero_horas="205" ref="0186">
<titulo> Bases de datos</titulo>
</modulo>
</curso>
<curso num="2">
<modulo id="32" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="32" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="32" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="32" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="32" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="32" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="32" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="32" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="32" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="32" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="32" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="32" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
<modulo id="32" numero_horas="90" ref="0188">
<titulo>Entornos de desarrollo </titulo>
</modulo>
</curso>
</ciclo>
<ciclo>
<nombre_corto>ASIR</nombre_corto>
<nombre_largo>Técnico Superior en Administración de Sistemas Informáticos en Red</nombre_largo>
<curso num="1">
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
<modulo id="ASIR01" numero_horas="231" ref="0223">
<titulo>Implantación de sistemas operativos</titulo>
</modulo>
</curso>
<curso num="2">
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
<modulo id="ASIR02" numero_horas="231" ref="0226">
<titulo>Planificación y administración de redes</titulo>
</modulo>
</curso>
</ciclo>
<ciclo>
<nombre_corto>SMR</nombre_corto>
<nombre_largo>Técnico en Sistemas Microinformáticos y Redes</nombre_largo>
<curso num="1">
<modulo id="SMR01" numero_horas="198" ref="0223">
<titulo>Montaje y mantenimiento de equipos</titulo>
</modulo>
<modulo id="SMR01" numero_horas="198" ref="0223">
<titulo>Montaje y mantenimiento de equipos</titulo>
</modulo>
<modulo id="SMR01" numero_horas="198" ref="0223">
<titulo>Montaje y mantenimiento de equipos</titulo>
</modulo>
<modulo id="SMR01" numero_horas="198" ref="0223">
<titulo>Montaje y mantenimiento de equipos</titulo>
</modulo>
<modulo id="SMR01" numero_horas="198" ref="0223">
<titulo>Montaje y mantenimiento de equipos</titulo>
</modulo>
<modulo id="SMR01" numero_horas="198" ref="0223">
<titulo>Montaje y mantenimiento de equipos</titulo>
</modulo>
<modulo id="SMR01" numero_horas="198" ref="0223">
<titulo>Montaje y mantenimiento de equipos</titulo>
</modulo>
<modulo id="SMR01" numero_horas="198" ref="0223">
<titulo>Montaje y mantenimiento de equipos</titulo>
</modulo>
<modulo id="SMR01" numero_horas="198" ref="0223">
<titulo>Montaje y mantenimiento de equipos</titulo>
</modulo>
<modulo id="SMR01" numero_horas="198" ref="0223">
<titulo>Montaje y mantenimiento de equipos</titulo>
</modulo>
<modulo id="SMR01" numero_horas="198" ref="0223">
<titulo>Montaje y mantenimiento de equipos</titulo>
</modulo>
</curso>
<curso num="2">
<modulo id="SMR02" numero_horas="198" ref="0224">
<titulo>Sistemas operativos monopuesto</titulo>
</modulo>
<modulo id="SMR02" numero_horas="198" ref="0224">
<titulo>Sistemas operativos monopuesto</titulo>
</modulo>
<modulo id="SMR02" numero_horas="198" ref="0224">
<titulo>Sistemas operativos monopuesto</titulo>
</modulo>
<modulo id="SMR02" numero_horas="198" ref="0224">
<titulo>Sistemas operativos monopuesto</titulo>
</modulo>
<modulo id="SMR02" numero_horas="198" ref="0224">
<titulo>Sistemas operativos monopuesto</titulo>
</modulo>
<modulo id="SMR02" numero_horas="198" ref="0224">
<titulo>Sistemas operativos monopuesto</titulo>
</modulo>
<modulo id="SMR02" numero_horas="198" ref="0224">
<titulo>Sistemas operativos monopuesto</titulo>
</modulo>
<modulo id="SMR02" numero_horas="198" ref="0224">
<titulo>Sistemas operativos monopuesto</titulo>
</modulo>
<modulo id="SMR02" numero_horas="198" ref="0224">
<titulo>Sistemas operativos monopuesto</titulo>
</modulo>
<modulo id="SMR02" numero_horas="198" ref="0224">
<titulo>Sistemas operativos monopuesto</titulo>
</modulo>
<modulo id="SMR02" numero_horas="198" ref="0224">
<titulo>Sistemas operativos monopuesto</titulo>
</modulo>
</curso>
</ciclo>
<ciclo>
<nombre_corto>INFOBAS</nombre_corto>
<nombre_largo>Título Profesional Básico en Informática de Oficina</nombre_largo>
<curso num="1">
<modulo id="INF01" numero_horas="160" ref="MB101">
<titulo>Aplicaciones básicas de ofimática</titulo>
</modulo>
<modulo id="INF01" numero_horas="160" ref="MB101">
<titulo>Aplicaciones básicas de ofimática</titulo>
</modulo>
<modulo id="INF01" numero_horas="160" ref="MB101">
<titulo>Aplicaciones básicas de ofimática</titulo>
</modulo>
<modulo id="INF01" numero_horas="160" ref="MB101">
<titulo>Aplicaciones básicas de ofimática</titulo>
</modulo>
<modulo id="INF01" numero_horas="160" ref="MB101">
<titulo>Aplicaciones básicas de ofimática</titulo>
</modulo>
<modulo id="INF01" numero_horas="160" ref="MB101">
<titulo>Aplicaciones básicas de ofimática</titulo>
</modulo>
<modulo id="INF01" numero_horas="160" ref="MB101">
<titulo>Aplicaciones básicas de ofimática</titulo>
</modulo>
<modulo id="INF01" numero_horas="160" ref="MB101">
<titulo>Aplicaciones básicas de ofimática</titulo>
</modulo>
<modulo id="INF01" numero_horas="160" ref="MB101">
<titulo>Aplicaciones básicas de ofimática</titulo>
</modulo>
<modulo id="INF01" numero_horas="160" ref="MB101">
<titulo>Aplicaciones básicas de ofimática</titulo>
</modulo>
</curso>
<curso num="2">
<modulo id="INF02" numero_horas="160" ref="MB102">
<titulo>Montaje y mantenimiento de sistemas y componentes informáticos</titulo>
</modulo>
<modulo id="INF02" numero_horas="160" ref="MB102">
<titulo>Montaje y mantenimiento de sistemas y componentes informáticos</titulo>
</modulo>
<modulo id="INF02" numero_horas="160" ref="MB102">
<titulo>Montaje y mantenimiento de sistemas y componentes informáticos</titulo>
</modulo>
<modulo id="INF02" numero_horas="160" ref="MB102">
<titulo>Montaje y mantenimiento de sistemas y componentes informáticos</titulo>
</modulo>
<modulo id="INF02" numero_horas="160" ref="MB102">
<titulo>Montaje y mantenimiento de sistemas y componentes informáticos</titulo>
</modulo>
<modulo id="INF02" numero_horas="160" ref="MB102">
<titulo>Montaje y mantenimiento de sistemas y componentes informáticos</titulo>
</modulo>
<modulo id="INF02" numero_horas="160" ref="MB102">
<titulo>Montaje y mantenimiento de sistemas y componentes informáticos</titulo>
</modulo>
<modulo id="INF02" numero_horas="160" ref="MB102">
<titulo>Montaje y mantenimiento de sistemas y componentes informáticos</titulo>
</modulo>
<modulo id="INF02" numero_horas="160" ref="MB102">
<titulo>Montaje y mantenimiento de sistemas y componentes informáticos</titulo>
</modulo>
<modulo id="INF02" numero_horas="160" ref="MB102">
<titulo>Montaje y mantenimiento de sistemas y componentes informáticos</titulo>
</modulo>
</curso>
</ciclo>
</ies>

View File

@ -0,0 +1,332 @@
package es.palomafp.aadd.inm;
import java.io.File;
import java.util.Scanner;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
/**
*
* GestorMapaMundi: Clase que procesa el fichero con información de países y
* continentes
*
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
* @date 26 sept 2025
*/
public class GestorInstitutoXML {
private static final String RUTA_FICHERO_XML = "informacion-IES_v2.xml";
private static final String RUTA_FICHERO_SALIDA_XML = "informacion_ciclos_IES.xml";
public static void main(String[] args) {
GestorInstitutoXML gestor = new GestorInstitutoXML();
Scanner scanner = new Scanner(System.in); // Crear el scanner
System.out.print("Introduce una opción de procesamiento XML: \n");
String opcion = scanner.nextLine(); // Leer una opción introducida.
switch (opcion) {
case "1":
System.out.println("Imprimir instituto");
gestor.imprimirInstituto();
break;
case "2":
System.out.println("Imprimir ciclos");
gestor.imprimirCiclos();
break;
case "3":
System.out.println("Imprimir módulos que empiezan por 'Programa'");
gestor.imprimirModulosPrograma();
break;
case "4":
System.out.println("Imprimir módulos según filtro 2");
gestor.imprimirModulosFiltro2();
break;
case "5":
System.out.println("Almacenar ciclos en fichero con DOM");
gestor.guardarCiclosFicheroDOM();
break;
}
scanner.close();
}
private void imprimirInstituto() {
Document documento = obtenerDocumentDeFichero();
NodeList listaNodosInstituto = documento.getElementsByTagName("instituto");
for (int temp = 0; temp < listaNodosInstituto.getLength(); temp++) {
Node nodoInstituto = listaNodosInstituto.item(temp);
if (nodoInstituto.getNodeType() == Node.ELEMENT_NODE) {
Element instituto = (Element) nodoInstituto;
// Obtener atributos nombre y tipo
String nombre = instituto.getElementsByTagName("nombre").item(0).getTextContent();
String tipo = instituto.getAttribute("tipo");
String mensajeInstituto = String.format("Instituto (Nombre: %s - Tipo: %s)", nombre, tipo);
System.out.println(mensajeInstituto);
}
}
}
private void imprimirCiclos() {
Document documento = obtenerDocumentDeFichero();
NodeList listaNodosCiclo = documento.getElementsByTagName("ciclo");
for (int temp = 0; temp < listaNodosCiclo.getLength(); temp++) {
Node nodoCiclo = listaNodosCiclo.item(temp);
if (nodoCiclo.getNodeType() == Node.ELEMENT_NODE) {
Element ciclo = (Element) nodoCiclo;
// Obtener atributo codigo
String codigo = ciclo.getAttribute("codigo");
// Obtener texto nombre_corto
String nombreCorto = ciclo.getElementsByTagName("nombre_corto").item(0).getTextContent();
String mensajeCiclo = String.format("Ciclo (Código: %s - Nombre corto: %s)", codigo, nombreCorto);
System.out.println(mensajeCiclo);
}
}
}
private void imprimirModulosPrograma() {
Document documento = obtenerDocumentDeFichero();
NodeList listaNodosModulo = documento.getElementsByTagName("modulo");
for (int temp = 0; temp < listaNodosModulo.getLength(); temp++) {
Node nodoModulo = listaNodosModulo.item(temp);
if (nodoModulo.getNodeType() == Node.ELEMENT_NODE) {
Element modulo = (Element) nodoModulo;
// Comprobar que el nodo padre es un curso y no otro (como por ejemplo
// instituto)
if (modulo.getParentNode().getNodeName() == "curso") {
// Obtener texto del Título
String titulo = modulo.getElementsByTagName("titulo").item(0).getTextContent();
// Obtener Número de horas
int numeroHoras = Integer
.parseInt(modulo.getElementsByTagName("numerohoras").item(0).getTextContent());
if ((titulo.startsWith("Programa"))) {
// Obtener atributos id y referencia
String id = modulo.getAttribute("id");
String referencia = modulo.getAttribute("ref");
String mensajeModulo = String.format(
"Modelo (Id: %s - Referencia: %s - Título: %s - Número de horas: %s)", id, referencia,
titulo, numeroHoras);
System.out.println(mensajeModulo);
}
}
}
}
}
private void imprimirModulosFiltro2() {
String nivelCiclo = null;
String numeroCurso = null;
Document documento = obtenerDocumentDeFichero();
NodeList listaNodosCiclo = documento.getElementsByTagName("ciclo");
for (int i = 0; i < listaNodosCiclo.getLength(); i++) {
Node nodoCiclo = listaNodosCiclo.item(i);
if (nodoCiclo.getNodeType() == Node.ELEMENT_NODE) {
Element ciclo = (Element) nodoCiclo;
// Obtener atributo codigo
nivelCiclo = ciclo.getAttribute("nivel");
NodeList listaNodosCurso = ciclo.getElementsByTagName("curso");
for (int j = 0; j < listaNodosCurso.getLength(); j++) {
Node nodoCurso = listaNodosCurso.item(j);
if (nodoCurso.getNodeType() == Node.ELEMENT_NODE) {
Element curso = (Element) nodoCurso;
// Obtener atributo codigo
numeroCurso = curso.getAttribute("numero");
NodeList listaNodosModulo = curso.getElementsByTagName("modulo");
for (int k = 0; k < listaNodosModulo.getLength(); k++) {
Node nodoModulo = listaNodosModulo.item(k);
if (nodoModulo.getNodeType() == Node.ELEMENT_NODE) {
Element modulo = (Element) nodoModulo;
// Comprobar que el nodo padre es un curso y no otro (como por ejemplo
// instituto)
if (modulo.getParentNode().getNodeName() == "curso") {
// Obtener texto del Título
String titulo = modulo.getElementsByTagName("titulo").item(0).getTextContent();
// Obtener Número de horas
int numeroHoras = Integer.parseInt(
modulo.getElementsByTagName("numerohoras").item(0).getTextContent());
if (((titulo.startsWith("Programa")
|| titulo.toLowerCase().startsWith("desarrollo")) && numeroHoras >= 100)
&& numeroHoras > 100 && nivelCiclo.equals("CFGS")) {
// Obtener atributos id y referencia
String id = modulo.getAttribute("id");
String referencia = modulo.getAttribute("ref");
String mensajeCiclo = String.format(
"Ciclo: %s - Curso: %s - Modelo (Id: %s - Referencia: %s - Título: %s - Número de horas: %s)",
nivelCiclo, numeroCurso, id, referencia, titulo, numeroHoras);
System.out.println(mensajeCiclo);
}
}
}
}
}
}
}
}
}
private void guardarCiclosFicheroDOM() {
try {
// Crear un nuevo documento XML en memoria
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document documentoSalida = builder.newDocument();
// Crear el elemento raíz 'ies'
Element nodoIES = documentoSalida.createElement("ies");
documentoSalida.appendChild(nodoIES);
// Se obtiene la información de los ciclos del fichero original
Document documentoEntrada = obtenerDocumentDeFichero();
// Tratamiento del nodo instituto
NodeList listaNodosInstituto = documentoEntrada.getElementsByTagName("instituto");
for (int temp = 0; temp < listaNodosInstituto.getLength(); temp++) {
Node nodoInstituto = listaNodosInstituto.item(temp);
if (nodoInstituto.getNodeType() == Node.ELEMENT_NODE) {
Element instituto = (Element) nodoInstituto;
// Obtener atributos nombre y tipo
String nombre = instituto.getElementsByTagName("nombre").item(0).getTextContent();
String tipo = instituto.getAttribute("tipo");
nodoIES.setAttribute("nombre", nombre);
nodoIES.setAttribute("tipo", tipo);
// Tratamiento de los nodos ciclo
NodeList listaNodosCiclo = instituto.getElementsByTagName("ciclo");
for (int i = 0; i < listaNodosCiclo.getLength(); i++) {
Node nodoCiclo = listaNodosCiclo.item(i);
if (nodoCiclo.getNodeType() == Node.ELEMENT_NODE) {
Element ciclo = (Element) nodoCiclo;
// Obtener atributo nivel y codigo
String nivelCiclo = ciclo.getAttribute("nivel");
String codigoCiclo = ciclo.getAttribute("codigo");
// Obtener textos nombre_corto y nombre_largo
String nombreCorto = ciclo.getElementsByTagName("nombre_corto").item(0).getTextContent();
String nombreLargo = ciclo.getElementsByTagName("nombre_largo").item(0).getTextContent();
// Crear el nodo ciclo en el documento de salida
Element nodoCicloSalida = documentoSalida.createElement("ciclo");
nodoIES.setAttribute("nivel", nivelCiclo);
nodoIES.setAttribute("codigo", codigoCiclo);
Element nodoNombreCortoCiclo = documentoSalida.createElement("nombre_corto");
nodoNombreCortoCiclo.setTextContent(nombreCorto);
nodoCicloSalida.appendChild(nodoNombreCortoCiclo);
Element nodoNombreLargoCiclo = documentoSalida.createElement("nombre_largo");
nodoNombreLargoCiclo.setTextContent(nombreLargo);
nodoCicloSalida.appendChild(nodoNombreLargoCiclo);
nodoIES.appendChild(nodoCicloSalida);
// Tratamiento de los nodos curso dentro de ciclo
NodeList listaNodosCurso = ciclo.getElementsByTagName("curso");
for (int j = 0; j < listaNodosCurso.getLength(); j++) {
Node nodoCurso = listaNodosCurso.item(j);
if (nodoCurso.getNodeType() == Node.ELEMENT_NODE) {
Element curso = (Element) nodoCurso;
// Obtener atributo numero
String numeroCurso = curso.getAttribute("numero");
// Crear el nodo curso en el documento de salida
Element nodoCursoSalida = documentoSalida.createElement("curso");
nodoCursoSalida.setAttribute("num", numeroCurso);
nodoCicloSalida.appendChild(nodoCursoSalida);
// Tratamiento de los nodos Módulo dentro de curso
NodeList listaNodosModulo = ciclo.getElementsByTagName("modulo");
for (int k = 0; k < listaNodosModulo.getLength(); k++) {
Node nodoModulo = listaNodosModulo.item(j);
if (nodoModulo.getNodeType() == Node.ELEMENT_NODE) {
Element modulo = (Element) nodoModulo;
// Obtener atributo id y ref
String id = modulo.getAttribute("id");
String referencia = modulo.getAttribute("ref");
// Obtener textos titulo y numero de horas
String titulo = modulo.getElementsByTagName("titulo").item(0)
.getTextContent();
String numeroHoras = modulo.getElementsByTagName("numerohoras").item(0)
.getTextContent();
// Crear el nodo curso en el documento de salida
Element nodoModuloSalida = documentoSalida.createElement("modulo");
nodoModuloSalida.setAttribute("id", id);
nodoModuloSalida.setAttribute("ref", referencia);
nodoModuloSalida.setAttribute("numero_horas", numeroHoras);
Element nodoTitulo = documentoSalida.createElement("titulo");
nodoTitulo.setTextContent(titulo);
nodoModuloSalida.appendChild(nodoTitulo);
nodoCursoSalida.appendChild(nodoModuloSalida);
}
}
}
}
}
}
}
}
// Transformar el DOM documentoSalida en un archivo XML
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
// con identación y formato utf-8
transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "UTF-8");
DOMSource source = new DOMSource(documentoSalida);
// Archivo de salida
StreamResult resultadoSalida = new StreamResult(new File(RUTA_FICHERO_SALIDA_XML));
transformer.transform(source, resultadoSalida);
} catch (ParserConfigurationException | TransformerException e) {
e.printStackTrace();
}
}
private Document obtenerDocumentDeFichero() {
Document domDeXML = null;
File file = new File(RUTA_FICHERO_XML);
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
domDeXML = dBuilder.parse(file);
// Normalizar el archivo XML (Elimina nodos vacíos y combina adyacentes en caso
// de que los hubiera)
domDeXML.getDocumentElement().normalize();
} catch (Exception e) {
e.printStackTrace();
}
return domDeXML;
}
}