Vous êtes sur la page 1sur 339

Desarrollo de una aplicacin interactiva para el Servicio Andaluz de Empleo (SAE) sobre una plataforma DVB-MHP

Proyecto Fin de Carrera


Francisco Jess Rodrguez Ruiz Departamento de Teora de la Seal y Comunicaciones Escuela Tcnica Superior de Ingenieros Universidad de Sevilla Julio 2010

Desarrollo de una aplicacin interactiva para el Servicio Andaluz de Empleo (SAE) sobre una plataforma DVB-MHP

Proyecto Fin de Carrera

Ingeniera de Telecomunicacin Julio 2010


Dirigido por:
Dr. Jos Ramn Cerquides Bueno

Departamento de Teora de la Seal y Comunicaciones Escuela Tcnica Superior de Ingenieros Universidad de Sevilla Julio 2010

A mis padres, Juan y Carmen.

Agradecimientos
Wherever you are it is your friends who make your world. William James
He de confesar que acometer la escritura de estos agradecimientos ha sido una tarea de magnitud comparable a la realizacin del Proyecto en s mismo. Y no es de extraar, teniendo en cuenta la cantidad de gente que de una manera u otra me ha ayudado a lo largo de estos aos de carrera. Soy consciente de que la mayora de mis familiares, amigos y compaeros que tengan acceso al Proyecto rpidamente buscarn su nombre entre estas pginas, y muy probablemente sea el nico captulo que lean. Por tanto, he de poner especial empeo en cuidar la redaccin y la ortografa, pero sobre todo en no olvidar a ninguno de ellos. No obstante, pido por adelantado la comprensin y el entendimiento si cometo el terrible error de dejar a alguien en el tintero (o, en este caso, en el teclado del ordenador). Debo comenzar por agradecer al Colegio Ocial de Ingenieros de Telecomunicacin de Andaluca Occidental (COITAOC) y, en especial, a D. Eloy Doncel y a D. ngel Corts, por su inters en el Proyecto y la ayuda activa prestada durante el desarrollo del mismo. A continuacin, me gustara agradecer a mi tutor, Jos Ramn Cerquides, por ofrecerme la oportunidad de trabajar con l, por la conanza que desde un principio deposit en m y por todos sus consejos, que tanto me han servido. Asimismo, gracias a Mara del Mar Elena, tambin inmersa en el Proyecto, a quien puedo considerar como una segunda tutora. No quisiera dejar pasar la oportunidad de nombrar aqu al programa de Puertas Abiertas para alumnos de Bachillerato puesto en marcha por la ETSI de Sevilla, sin el cual no slo no habra cursado los estudios en esta Escuela, sino que adems probablemente nunca habra encontrado a la gente tan especial que Sevilla

Mairena del Aljarafe me han permitido conocer. Antes de dejar a un lado

el mbito universitario, me gustara agradecer tambin a Francisco Javier Payn, Segio Antonio Cruces y Juan Jos Murillo, por la ayuda incondicional que me han prestado en todo momento. Corresponde ahora el turno a familiares y amigos. Comenzando por los primeros, me gustara conceder unas palabras a mis padres, Juan y Carmen, a quienes

vii

viii

Agradecimientos

decid dedicar el Proyecto desde un principio. Ellos ms que nadie han estado conmigo siempre, ofrecindome todo cuanto podan. Gracias a mis hermanos, quienes tambin han sido en parte responsables de mi educacin: a Juan, no slo por sus consejos sino tambin por ser para m un modelo a seguir; a Jos Carlos, por todas esas horas de juego que hemos pasado juntos; y a Carmen Mari, por estar siempre atenta a m y por sus inestimables funciones como secretaria. Sin olvidar, por supuesto, a los acoplados, como sola denominarlos mi abuelo Antonio: Lola, Mnica y Jess. Probablemente los mejores cuados que alguien pueda tener. Y a mis abuelos, tos, primos, sobrinos (no, sobrinos an no) y, en general, a los innumerables miembros de mi familia, por brindarme la oportunidad de aprender idiomas cada vez que me pedan un rbol genealgico en clase de ingls o francs. Tambin al Clio de mi hermana, por acompaarme sin oponerse a todos mis viajes a Valencina de la Concepcin. Continuando por el segundo de los grupos

el

de los amigos, har una se-

paracin por mbito, siguiendo la mxima de divide y vencers. En la categora de amigos almerienses he de incluir, como no poda ser de otro modo, a lvaro, Antonio, otro Antonio, Loren, Lucas, Manu y Pedro, ms conocidos por otros seudnimos, que no emplear aqu. En la categora de amigos de la Escuela, he tenido la suerte de conocer, entre otros, a Alex, Azucena, Dani, Edu, Ftima, Flix, Javi, Jess B., Jess R., Jos Mara, Juan, Juanjo, Nasir y Paola, con quienes he compartido muchos das en la clase y unos pocos fuera. Tambin he de agradecer a Elas y a Vctor, compaeros de fatigas en Valencina, sin cuya ayuda no podramos haber avanzado tanto en el desarrollo del Proyecto. Gracias a Noe por descubrirme el

Firebug,

por echarme

tantsimos cables cada vez que lo he necesitado, y por aguantarme durante aquellos dos meses en Madrid. Y a toda la gente de la Gala de Ingenieros, por todo lo que disfrutamos preparndola y, en especial, a Marta, por instarme a participar en ella. Para ir nalizando, en la ltima categora (

last but not least )

he decidido in-

cluir a toda la gente que conoc en el Colegio Mayor. Es con los maesianos con los que he compartido la mayor parte del tiempo en estos cinco aos, llegando a desarrollar relaciones prcticamente de fraternidad. Gracias a Ane, por mostrarme su maravilloso mundo en el que todo es posible; a Betania, por aquel concierto de los

Guns

y por su personalidad que la convierte en nica; a Carolina, porque

aunque no lo supiramos ninguno de los dos, fue la primera maesiana que conoc; a Celia, Elvira y Cristina, por todas esas comidas de los domingos y por componer una cancin en mi nombre; a Daro, por el alojamiento en su piso y por su fortaleza ante la vida; a Dani, por elegirme como padrino y por ese proyecto que tenemos pendiente; a Emi, por las noches de guitarra en el csped de la piscina; a Enrique, actual compaero y con quien me gustara haber pasado todo el curso; a Fernando, por sus comentarios y por compartir un ao como compaeros; a Fran, otro de mis ahijados, por aquella charla durante la que vimos pasar a tanta gente; a Gema, por librarme de la tarea de recordar los horarios y aulas; a Isa, por los partidos de tenis y las tartas de queso; a Javi, por nuestras peculiares formas de felicitar los cumpleaos; a Jessi, por hacerme compaa en los largos viajes hacia nuestra tierra natal; a Juanka, por prestarme su piso y por aquel ao como compaeros; a Laura,

Agradecimientos

ix

por su habilidad de conocer y hacer feliz a la gente; a Luis, por tantos momentos y trabajos compartidos, incluyendo los dos meses en Madrid; a Marta, por estar siempre dispuesta a jugar a todo a la vez; a Mercedes, por todas esas largas charlas nocturnas; a Rodolfo, por los dos aos de compaeros y por sus consejos y manera de ver la vida; y a Alex, Ana, Bea, Berta, Carmen, Castilla, Claudia, David, Doch, Elena, Eze, Germn, Herre, Javi, Jose Manuel, Juan Antonio, Lorena, Luca, Luis, Luisja, Mara, Miguelito, Pablo, Paco, Padi, Pepe, Salva, Sole y Tama, por estar ah en unos u otros momentos. Pero sobre todo, a cada uno de vosotros, gracias por vuestra amistad. Es por ello por lo que sin duda alguna merecis aparecer en esta lista. Por ltimo, quisiera agradecer tambin a las redes sociales por facilitarme la tarea de elaborar las listas anteriores, al volcn islands por cancelar el viaje a Mnich y disponer as de una semana ms para el estudio de MHP, y a

Iberia, por

la aerolnea Almera-Sevilla (aunque en ocasiones desaprovechada por mi parte).

ndice
Agradecimientos 1. Introduccin
1.1. La televisin digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1. 1.2. 1.3. 1.4. 1.5. 1.6. La televisin digital interactiva . . . . . . . . . . . . . . . . .

vii

1
1 2 3 3 4 4 5

Objetivos

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Aplicabilidad Motivacin

Etapas en la realizacin del Proyecto . . . . . . . . . . . . . . . . . . Organizacin de la memoria . . . . . . . . . . . . . . . . . . . . . . .

2. Multimedia Home Platform (MHP)


2.1. El Proyecto DVB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. 2.1.2. 2.1.3. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . .

7
7 8 8 9 10 11 12 12 13 14 15 16 18 18

Estructura del grupo DVB . . . . . . . . . . . . . . . . . . . . Principales estndares DVB . . . . . . . . . . . . . . . . . . . 2.1.3.1. DVB-T . . . . . . . . . . . . . . . . . . . . . . . . .

2.1.4. 2.2.

DVB y otros estndares de televisin digital . . . . . . . . . .

El estndar MHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1. 2.2.2. 2.2.3. 2.2.4. 2.2.5. 2.2.6. 2.2.7. Introduccin Qu es MHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Aplicaciones interactivas y MPEG/DVB . . . . . . . . . . . . Perles y versiones de MHP . . . . . . . . . . . . . . . . . . . Ciclo de vida de las Xlet . . . . . . . . . . . . . . . . . . . . . La situacin de MHP . . . . . . . . . . . . . . . . . . . . . . .

Globally Executable MHP

(GEM) . . . . . . . . . . . . . . . .

3. El entorno de trabajo
3.1. Contexto del LAB-TDT 3.1.1. 3.2. 3.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entidades promotoras

21
21 22 23 25 25

Descripcin global del sistema . . . . . . . . . . . . . . . . . . . . . . Descripcin y conguracin de los equipos . . . . . . . . . . . . . . . 3.3.1. Equipos de

SIDSA

. . . . . . . . . . . . . . . . . . . . . . . .

xi

xii

ndice

3.3.1.1. 3.3.1.2. 3.3.1.3. 3.3.2.

Codicador . . . . . . . . . . . . . . . . . . . . . . . Multiplexor . . . . . . . . . . . . . . . . . . . . . . .

26 27 28 28 30 31 32 32 33 33 34 34

Bridge

. . . . . . . . . . . . . . . . . . . . . . . . . .

El servidor de aplicacin . . . . . . . . . . . . . . . . . . . . . 3.3.2.1. 3.3.2.2. Programacin en XML . . . . . . . . . . . . . . . .

Productos comerciales de

T-mira

. . . . . . . . . . .

3.3.3.

El PC del Laboratorio . . . . . . . . . . . . . . . . . . . . . . 3.3.3.1. 3.3.3.2. Conguracin de la tarjeta moduladora Conguracin del equipo de . . . . . . .

SIDSA

. . . . . . . . .

3.3.4. 3.4. 3.5.

Conguracin del mltiplex emitido

. . . . . . . . . . . . . .

Conexionado fsico de los equipos . . . . . . . . . . . . . . . . . . . . Puesta en funcionamiento . . . . . . . . . . . . . . . . . . . . . . . .

4. Programacin y desarrollo de la aplicacin


4.1. 4.2. La interfaz de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin funcional de la aplicacin . . . . . . . . . . . . . . . . . . 4.2.1. 4.2.2. 4.2.3. Men principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37
37 39 39 40 40 40 44 52 52 57 61 62 63 63 64 65 69 72 72 73 75 78 78 79 80 81 82 83

Pantalla de ayuda de la aplicacin

Servicios implementados . . . . . . . . . . . . . . . . . . . . . 4.2.3.1. 4.2.3.2. 4.2.3.3. 4.2.3.4. 4.2.3.5. 4.2.3.6. Gua para la bsqueda de empleo . . . . . . . . . . . Anuncios de empleo . . . . . . . . . . . . . . . . . .

Empresas andaluzas que ofrecen empleo . . . . . . . Formacin para el empleo . . . . . . . . . . . . . . . Directorio del SAE . . . . . . . . . . . . . . . . . . . Pgina web del SAE . . . . . . . . . . . . . . . . . .

4.3. 4.4.

Grados de interactividad con el usuario . . . . . . . . . . . . . . . . . Modelo de programacin en XML/XSL/XPL 4.4.1. Interfaz grca y navegacin 4.4.1.1. 4.4.1.2. 4.4.1.3. 4.4.2. . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Pginas y contenedores

Objetos . . . . . . . . . . . . . . . . . . . . . . . . . Estilos . . . . . . . . . . . . . . . . . . . . . . . . . .

El canal de retorno . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2.1. 4.4.2.2. 4.4.2.3. Modelo de actuacin . . . . . . . . . . . . . . . . . . Lenguajes XPL y XSLT . . . . . . . . . . . . . . . . Procesadores XPL propios de

tmInteractive

. . . . .

4.4.3.

Actualizaciones automticas . . . . . . . . . . . . . . . . . . . 4.4.3.1. 4.4.3.2. Modelo de actuacin . . . . . . . . . . . . . . . . . . Procesadores XPL propios de . . . . . . . .

4.4.4. 4.5. 4.6.

tmInteractive . Cuestiones abiertas sobre el lenguaje propio de T-mira

Mtodo de trabajo

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Directorios y cheros principales de la aplicacin 4.6.1.

Directorio de emisin . . . . . . . . . . . . . . . . . . . . . . .

ndice

xiii

4.6.2. 4.6.3. 4.7.

Directorio de gestin del canal de retorno

. . . . . . . . . . . . . .

84 85 86 86 87 87 89 90 91 93 94

Directorio de gestin de las actualizaciones automticas

Funcionamiento y consideraciones realizadas . . . . . . . . . . . . . . 4.7.1. 4.7.2. Gua para la bsqueda de empleo . . . . . . . . . . . . . . . . Anuncios de empleo 4.7.2.1. 4.7.2.2. 4.7.3. 4.7.4. 4.7.5. 4.7.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Buscador de ofertas

Ofertas de empleo pblico . . . . . . . . . . . . . . . . . . . . . . . . . . .

Empresas andaluzas que ofrecen empleo Formacin para el empleo

. . . . . . . . . . . . . . . . . . . .

Directorio del SAE . . . . . . . . . . . . . . . . . . . . . . . . Pgina web del SAE . . . . . . . . . . . . . . . . . . . . . . .

5. Conclusiones
5.1. 5.2. Perspectiva global del Proyecto . . . . . . . . . . . . . . . . . . . . . Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1. 5.2.2. 5.3. Mantenimiento de la aplicacin . . . . . . . . . . . . . . . . . El servidor de aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

95
95 96 96 96 97

Posibles lneas de ampliacin

A. Conguracin de los equipos del LAB-TDT


A.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2. Tarjeta codicadora de A.3. A.4. A.5.

99
99

SIDSA Tarjeta moduladora de SIDSA . Programa DtLoop . . . . . . . . Programa TS Reader . . . . . .

. . . . . . . . . . . . . . . . . . . . . 100 . . . . . . . . . . . . . . . . . . . . . 107 . . . . . . . . . . . . . . . . . . . . . 121 . . . . . . . . . . . . . . . . . . . . . 122

A.6. Servidor de aplicacin

. . . . . . . . . . . . . . . . . . . . . . . . . . 126

B. Ficheros desarrollados para la aplicacin

133

B.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 B.2. Directorio de emisin . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 B.2.1. Ficheros generales B.2.2. Pgina de ayuda . . . . . . . . . . . . . . . . . . . . . . . . 134 . . . . . . . . . . . . . . . . . . . . . . . . . 139

B.2.3. Gua para la bsqueda de empleo . . . . . . . . . . . . . . . . 139 B.2.4. Anuncios de empleo . . . . . . . . . . . . . . . . . . . . . . . 148 . . . . . . . . . . . . . . . . . . . . 150

B.2.5. Formacin para el empleo

B.2.6. Directorio del SAE . . . . . . . . . . . . . . . . . . . . . . . . 157 B.2.7. Pgina web del SAE . . . . . . . . . . . . . . . . . . . . . . . 162 . . . . . . . . . . . . . . . 164

B.3. Directorio de gestin del canal de retorno B.3.1. Ficheros generales B.3.2. Anuncios de empleo

. . . . . . . . . . . . . . . . . . . . . . . . 164 . . . . . . . . . . . . . . . . . . . . . . . 167 . . . . . . . . . . . . 208

B.3.3. Empresas andaluzas que ofrecen empleo B.3.4. Formacin para el empleo

. . . . . . . . . . . . . . . . . . . . 227

B.3.5. Directorio del SAE . . . . . . . . . . . . . . . . . . . . . . . . 279

xiv

ndice

B.4. Directorio de gestin de las actualizaciones automticas B.4.1. Ficheros generales

. . . . . . . 286

. . . . . . . . . . . . . . . . . . . . . . . . 286

B.4.2. Gua para la bsqueda de empleo . . . . . . . . . . . . . . . . 288 B.5. Relacin de cheros adicionales . . . . . . . . . . . . . . . . . . . . . 309

Bibliografa Lista de acrnimos

313 315

ndice de guras
2.1. 2.2. 2.3. 2.4. 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 4.1. 4.2. Organigrama del grupo DVB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 12 16 17 24 25 26 26 27 28 29 34 38 Estndares de TDT en el mundo Versiones de MHP

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Ciclo de vida de las Xlets

Aspecto del STB instalado en el LAB-TDT

Diagrama de bloques de los equipos del LAB-TDT Chasis que alberga las tarjetas de

SIDSA . . . . . . . . . . . Vistas frontal y trasera del equipo de SIDSA . . . . . . . . Esquema genrico de la tarjeta EtherTV Karina de SIDSA Esquema genrico de la tarjeta EtherTV Bridge de SIDSA .

Vistas frontal y trasera del servidor de aplicacin . . . . . . . . . . . Diagrama de bloques fsico de los equipos del LAB-TDT . . . . . . . Mando a distancia del STB del Laboratorio . . . . . . . . . . . . . .

Men principal de la aplicacin, destacando en rojo las imgenes de ayuda a la navegacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 40

4.3. 4.4.

Pantalla de ayuda de la aplicacin

Men principal del servicio Gua para la bsqueda de empleo en un navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.5.

Men principal del servicio Gua para la bsqueda de empleo de la aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.6.

Un apartado del servicio Gua para la bsqueda de empleo en un navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.7.

Un apartado del servicio Gua para la bsqueda de empleo de la aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.8.

Una imagen dentro del servicio Gua para la bsqueda de empleo de la aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 45

4.9.

Men del servicio Anuncios de empleo de la aplicacin

. . . . . . .

4.10. Formulario del servicio Bsqueda de ofertas de empleo en un navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.11. Formulario del servicio Bsqueda de ofertas de empleo de la aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 45

xv

xvi

ndice de figuras

4.12. Teclado virtual de la aplicacin

. . . . . . . . . . . . . . . . . . . . .

46

4.13. Listado de ofertas del servicio Bsqueda de ofertas de empleo en un navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.14. Listado de ofertas del servicio Bsqueda de ofertas de empleo de la aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.15. Detalles de una oferta del servicio Bsqueda de ofertas de empleo en un navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.16. Detalles de una oferta del servicio Bsqueda de ofertas de empleo de la aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.17. Formulario del servicio Ofertas de empleo pblico en un navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 49 48 48 47 47

4.18. Formulario del servicio Ofertas de empleo pblico de la aplicacin . 4.19. Listado de ofertas del servicio Ofertas de empleo pblico en un navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50

4.20. Listado de ofertas del servicio Ofertas de empleo pblico de la aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.21. Detalles de una ofertas del servicio Ofertas de empleo pblico en un navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.22. Detalles de una ofertas del servicio Ofertas de empleo pblico de la aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.23. Formulario del servicio Empresas andaluzas de la aplicacin . . . . 51 52 51

4.24. Listado de empresas del servicio Empresas andaluzas en el navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.25. Listado de empresas del servicio Empresas andaluzas de la aplicacin 53 4.26. Detalles de una empresa del servicio Empresas andaluzas en el navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.27. Detalles de una empresa del servicio Empresas andaluzas de la aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.28. Men principal del servicio Formacin para el empleo de la aplicacin 55 4.29. Mapa del servicio Formacin para el empleo en el navegador web . 55 56 56

4.30. Mapa del servicio Formacin para el empleo de la aplicacin . . . . 4.31. Formulario del servicio Formacin para el empleo de la aplicacin . 4.32. Listado de cursos del servicio Formacin para el empleo en un navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57

4.33. Listado de cursos del servicio Formacin para el empleo de la aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.34. Detalles de un curso del servicio Formacin para el empleo en un navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.35. Detalles de un curso del servicio Formacin para el empleo de la aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 59 60

4.36. Men del servicio Directorio del SAE de la aplicacin . . . . . . . . 4.37. Mapa del servicio Directorio del SAE de la aplicacin . . . . . . . .

ndice de figuras

xvii

4.38. Detalles de una ocina del servicio Directorio del SAE en un navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.39. Detalles de una ocina del servicio Directorio del SAE de la aplicacin 61 4.40. Pantalla del servicio Pgina web del SAE de la aplicacin 4.41. Posible estructura de un chero XML soportado por . . . . . . . . . 62 71

tmPlayer

4.42. Diagrama general de paso de mensajes para la solicitud de contenidos a travs del canal de retorno . . . . . . . . . . . . . . . . . . . . . . . 4.43. Esquema de funcionamiento de un procesador XSLT 4.44. Ejemplo de funcionamiento de los procesadores XPL . . . . . . . . . . . . . . . . . . . . . . . . 73 75 79 83

4.45. rbol de directorios y cheros principales de la aplicacin A.1. Conguracin de la tarjeta codicadora de

SIDSA (pestaa settings ) 100 A.2. Conguracin de la tarjeta codicadora de SIDSA (pestaa transport )101 A.3. Conguracin de la tarjeta codicadora de SIDSA (pestaa video ) . 102 A.4. Conguracin de la tarjeta codicadora de SIDSA (pestaa audio ) . 103 A.5. Conguracin de la tarjeta codicadora de SIDSA (pestaa SAP ) . . 104 A.6. Conguracin de la tarjeta codicadora de SIDSA (pestaa destination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 A.7. Conguracin de la tarjeta codicadora de SIDSA (pestaa GPIO ) . 106 A.8. Pantalla principal del programa PolarPlus Manager . . . . . . . . . 107 A.9. Conguracin de la tarjeta moduladora de SIDSA (multiplexed services ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 A.10.Conguracin de la tarjeta moduladora de SIDSA (pestaa inputs,
1/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 A.11.Conguracin de la tarjeta moduladora de 2/2)

SIDSA SIDSA SIDSA SIDSA SIDSA

(pestaa

inputs, output, output, output, output,

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 (pestaa

A.12.Conguracin de la tarjeta moduladora de 1/4)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 (pestaa

A.13.Conguracin de la tarjeta moduladora de 2/4)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 (pestaa

A.14.Conguracin de la tarjeta moduladora de 3/4)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 (pestaa

A.15.Conguracin de la tarjeta moduladora de 4/4)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

A.16.Conguracin de la tarjeta moduladora de

A.17.Conguracin de la tarjeta moduladora de

SIDSA (pestaa SI, 1/6) 115 SIDSA (pestaa SI, 2/6) 116 A.18.Conguracin de la tarjeta moduladora de SIDSA (pestaa SI, 3/6) 117 A.19.Conguracin de la tarjeta moduladora de SIDSA (pestaa SI, 4/6) 118 A.20.Conguracin de la tarjeta moduladora de SIDSA (pestaa SI, 5/6) 119 A.21.Conguracin de la tarjeta moduladora de SIDSA (pestaa SI, 6/6) 120 A.22.Conguracin del programa DtLoop . . . . . . . . . . . . . . . . . . . 121 A.23.Aspecto del programa TS Reader, ejecucin 1 (1/2) . . . . . . . . . . 122 A.24.Aspecto del programa TS Reader, ejecucin 1 (2/2) . . . . . . . . . . 123

xviii

ndice de figuras

TS Reader, ejecucin 2 (1/2) . . . . . A.26.Aspecto del programa TS Reader, ejecucin 2 (2/2) . . . . . A.27.Conguracin del servidor de aplicacin (pestaa red ) . . . A.28.Conguracin del servidor de aplicacin (pestaa servicios ) A.29.Conguracin del servidor de aplicacin (pestaa tablas SI ) A.30.Conguracin del servidor de aplicacin (pestaa salida ) . . A.31.Planicacin del servicio Prodetur 2 . . . . . . . . . . . . . A.32.Men para subir la aplicacin al sistema tmPlayer . . . . . A.33.Men para subir la aplicacin al sistema tmInteractive . . .
A.25.Aspecto del programa

. . . . . 124 . . . . . 125 . . . . . 126 . . . . . 127 . . . . . 128 . . . . . 129 . . . . . 130 . . . . . 131 . . . . . 132

ndice de Tablas
4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. 4.8. 4.9. Grado de interaccin de cada servicio con el usuario . . . . . . . . . 63 65 66 66 67 67 67 68 68 69 70 71 Atributos XML de un nodo contenedor . . . . . . . . . . . . . . . . . Atributos XML de un objeto texto . . . . . . . . . . . . . . . . . . .

Atributos XML de un objeto imagen . . . . . . . . . . . . . . . . . . Atributos XML de un objeto men . . . . . . . . . . . . . . . . . . . Atributos XML de un elemento de men . . . . . . . . . . . . . . . . Atributos XML de un nodo de accin . . . . . . . . . . . . . . . . . . Lista de acciones XML . . . . . . . . . . . . . . . . . . . . . . . . . . Atributos XML de un objeto tabla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.10. Atributos XML de un objeto formulario

4.11. Atributos XML de los nodos hijos de un objeto formulario . . . . . . 4.12. Atributos XML de un estilo . . . . . . . . . . . . . . . . . . . . . . .

4.13. Parmetros de entrada del mtodo de obtencin de la cookie de sesin 76 4.14. Parmetros de entrada del mtodo de envo de un mensaje POST . . 4.15. Parmetros de entrada del mtodo de envo de un mensaje GET . . 77 77

4.16. Parmetros de entrada del mtodo de envo de un mensaje GET con cookie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

xix

Captulo 1

Introduccin
Seis, ocho millones de espectadores. Estas son cifras con las que nunca pudo soar ningn director teatral o novelista y menos an Esquilo, Sfocles o Eurpides. Fernando Fernn Gmez
Una de las mayores ventajas de la televisin digital frente a la analgica es la posibilidad de introduccin de nuevos servicios para el usuario. Uno de ellos es la oferta de aplicaciones interactivas, entendidas como programas que se ejecutan en el televisor y con los que el usuario puede interaccionar. El objetivo fundamental del presente Proyecto es el desarrollo de una aplicacin interactiva para el Servicio Andaluz de Empleo. En este captulo se comienza por introducir los conceptos bsicos de la televisin digital y de los servicios interactivos para a continuacin pasar a describir los objetivos, aplicabilidad, motivacin y etapas en la realizacin del Proyecto desarrollado. Por ltimo, se concluye con la exposicin de la estructuracin en captulos que se seguir a lo largo de la presente memoria.
Resumen:

1.1. La televisin digital


La llegada de la Televisin Digital Terrestre supone un cambio comparable al que supuso aos atrs el paso de la televisin analgica en blanco y negro a la de color. Sin embargo, en esta ocasin no se trata nicamente de obtener imgenes de mayor calidad, sino que el cambio puede suponer la introduccin de nuevos servicios para el usuario, hasta ahora impracticables debido a las limitaciones tcnicas inherentes a la propia televisin analgica. En Espaa, el ao

2010

se estableci como el ao del apagn analgico. A

partir de l, todas las transmisiones televisivas deban realizarse en formato digital. Se decidi adoptar el estndar surgido en Europa durante los aos noventa para 1

Captulo 1. Introduccin

la compresin, transmisin y recepcin de las seales de televisin digital, con el nombre de DVB (

Digital Video Broadcasting ). Este estndar constituye un conjunto

de reglas sobre el sistema televisivo, subdividido en diversas categoras: DVB-S para la transmisin y recepcin de la seal de TV va satlite, DVB-C para el cable, DVB-T para la difusin terrestre, DVB-H para dispositivos porttiles, etc. Los principales motivos que justican el desarrollo y la migracin hacia la televisin digital son los siguientes: Mejora de la calidad de imagen y sonido, debido tanto a la eliminacin de los defectos propios de la televisin analgica (como los efectos Moir y misin digital. Reduccin del ancho de banda de transmisin, ya que en la banda de un canal analgico se pueden ofrecer hasta cuatro canales digitales. Esto permite ofrecer ms opciones de programacin para los consumidores a travs de varios ujos de programas simultneos. La multiplexin de seales de naturaleza diversa (audio, vdeo, datos, . . . ) en un nico ujo binario hace posible la implantacin de nuevos servicios para el usuario, con la consiguiente generacin de nuevas oportunidades de negocio. As, por ejemplo, se puede pensar en la transmisin de audio en diversos idiomas, subttulos, servicios interactivos con acceso a Internet, pago por visin, gua electrnica de programacin (EPG), visin multicmara para acontecimientos deportivos, etc. Por tanto, la digitalizacin de la TV permite ofrecer una gama amplia de posibilidades que abarcan desde la difusin de la televisin de alta denicin hasta la interactividad con el usuario.

crosscolor ) como a las tcnicas de correccin de errores disponibles en toda trans-

1.1.1. La televisin digital interactiva


En relacin con las ventajas expuestas anteriormente, la televisin digital abre la posibilidad de ofrecer servicios interactivos, entendidos como aquellos en los que el usuario adquiere un mayor protagonismo al poder interactuar con el televisor. El concepto de televisin interactiva no es nuevo. As, por ejemplo, el teletexto ya fue introducido en la televisin analgica, ofreciendo cierta interaccin con el televisor y permitiendo la aportacin de informacin sobre la programacin, el tiempo, etc. No obstante, la interactividad que ofreca el teletexto est muy limitada en comparacin con las posibilidades de la televisin digital. La principal aportacin de esta ltima radica en la introduccin del llamado canal de retorno, normalmente implementado a travs de una conexin a Internet por medio de un cable Ethernet, a travs del cual el decodicador de TV puede enviar informacin en sentido ascendente, normalmente a peticin del usuario. As, mientras que con las transmisiones analgicas los usuarios funcionaban como simples receptores, con las transmisiones digitales se establece un canal bidireccional

1.2. Objetivos

que posibilita la interaccin con el emisor a travs de un decodicador que adopte el estndar especco para la Televisin Digital Terrestre. Gracias a estas ventajas, se puede ofrecer al usuario una amplia gama de servicios interactivos, los cuales le permitiran realizar acciones tales como transacciones bancarias, trmites burocrticos, compras, votaciones, juegos de entretenimiento, etc., todo ello a travs del canal de retorno. Los servicios interactivos se implementan por medio de aplicaciones interactivas. Podemos denir las aplicaciones interactivas como aquellos programas adicionales a los contenidos de televisin a los que puede accederse y puede ejecutar un decodicador interactivo, denominado STB ( dichas aplicaciones. En Espaa, la televisin digital interactiva se basa en la arquitectura denida en el estndar MHP (

Set-Top-Box ). Los STB realizan una doble

funcin: por un lado, la de decodicar la seal de televisin y, por otro, la de ejecutar

Multimedia Home Platform ), el cual se encuentra denido dentro

de DVB. Siguiendo estos protocolos, el ujo de salida del multiplexor instalado en la cabecera de TV puede contener aplicaciones interactivas, adems de la informacin de carcter audiovisual. Las aplicaciones MHP pueden ser transmitidas siguiendo cualquier esquema de modulacin denido en DVB. Es decir, no se restringe su uso a DVB-T ni, por tanto, a la televisin terrestre.

1.2. Objetivos
Siguiendo el nuevo concepto de la televisin introducido en la seccin anterior, y atendiendo a las diferentes necesidades sociales que presenta la poblacin, se ha establecido como objetivo del presente Proyecto Fin de Carrera el desarrollo de un prototipo de una aplicacin interactiva sobre MHP (

Multimedia Home Platform )

que habilite el acceso de los usuarios a diferentes servicios de los que el SAE (Servicio Andaluz de Empleo) oferta a travs de Internet y a los que en la actualidad se puede acceder a travs de una interfaz web. En especial, la aplicacin debe ofrecer un servicio de bsqueda de ofertas de empleo. La gran ventaja de esta alternativa radica en eliminar dicha interfaz web y sustituirla por un televisor que, al disponer de un mando a distancia como elemento de entrada, consigue as reducir la brecha digital y acercar estas tecnologas a un mayor nmero de usuarios, al ser la interfaz con el telespectador mucho ms sencilla. En su mayor parte, los contenidos ofrecidos deben ser rescatados en tiempo real y bajo demanda de la propia pgina web del SAE. De esta manera, la aplicacin interactiva debe ofrecer siempre resultados actualizados, de la misma forma que los ofrece la interfaz web.

1.3. Aplicabilidad
La aplicacin desarrollada como objetivo del presente Proyecto constituye un prototipo de una herramienta multimedia interactiva, siendo la base para un pro-

Captulo 1. Introduccin

ducto real futuro que puede ser llevado a produccin. Aunque se hayan desarrollado algunos servicios para el Servicio Andaluz de Empleo, la aplicacin podra ampliarse para ofertar otros servicios ms avanzados, o incluso podra ser extensible a otra determinada Comunidad Autnoma o a nivel Nacional.

1.4. Motivacin
Con este Proyecto Fin de Carrera se persigue ofrecer una nueva concepcin de la televisin, aprovechando las ventajas ofrecidas por la recin realizada migracin hacia la TV digital. En la actualidad, los decodicadores interactivos son relativamente escasos, por lo que ante un previsible incremento de la tasa de penetracin de los mismos entre los usuarios, impulsado en parte por las Administraciones pblicas, resulta de inters el desarrollo de una variedad suciente de aplicaciones para garantizar el xito en su implantacin. Con ello, se pretende abrir una nueva puerta de entrada a la informacin en un nmero cada vez mayor de hogares. Considerando adems el contexto de recesin que atraviesa la economa mundial, la aplicacin interactiva objeto del Proyecto pretende contribuir a una mayor facilidad en la bsqueda de empleo por parte de los usuarios.

1.5. Etapas en la realizacin del Proyecto


Antes del comienzo del desarrollo y programacin de la aplicacin en s, han sido necesarias otras fases durante la realizacin de este Proyecto. As, la primera fase ha correspondido a la documentacin y estudio de los estndares DVB (

Digital Video Broadcasting ) y MHP (Multimedia Home Platform ), con

el objetivo de obtener un mayor conocimiento de su estructura interna, especialmente del segundo de ellos. Este anlisis ha permitido conocer tanto la arquitectura de ambos sistemas como los detalles de su funcionamiento. La segunda de las etapas ha consistido en el estudio y puesta en marcha de los equipos del Laboratorio en el que se ha desarrollado la aplicacin, con el n de conocer las limitaciones de los mismos y congurarlos adecuadamente para las siguientes fases. A continuacin, se ha procedido al estudio de los lenguajes de programacin propios de nada por

T-mira, que es la marca del servidor de aplicacin instalado en el Labo-

ratorio. El material utilizado con este n ha sido tanto la documentacin proporcio-

T-mira

como el cdigo de las propias aplicaciones de ejemplo instaladas

en el servidor. Una vez afrontados cada uno de los puntos anteriores, se ha podido llevar a cabo la implementacin de la aplicacin, producindose como resultado una plataforma interactiva que ofrece distintos servicios, empleando como nica herramienta el televisor.

1.6. Organizacin de la memoria

Por ltimo, se ha procedido a la elaboracin de la presente memoria, para dejar constancia por escrito del trabajo realizado, adems de para facilitar a futuros usuarios del Laboratorio la utilizacin del mismo.

1.6. Organizacin de la memoria


Se ha decidido organizar la presente memoria en los siguientes captulos:

Captulo 1: Se trata del captulo introductorio. En l se expone una breve


introduccin a las ventajas de la televisin digital, adems de la motivacin, objetivos y etapas en la realizacin del Proyecto.

Captulo 2: Este captulo ha sido dedicado a la realizacin de un breve


anlisis de los estndares DVB y MHP en los que se apoya la aplicacin, necesarios para comprender el contexto tcnico en el que se basa el Proyecto.

Captulo 3: El desarrollo de la aplicacin tuvo lugar en las instalaciones de


la empresa

Axin

situadas en Valencina de la Concepcin (Sevilla). En este

captulo, se presenta una detallada descripcin del entorno de trabajo, a n de que el lector interesado pueda conocer las condiciones en las que la aplicacin fue desarrollada.

Captulo 4: En el cuarto captulo se persigue ofrecer una visin detallada


de la aplicacin interactiva en s misma, tanto de su funcionalidad y de los servicios implementados como de los fundamentos tcnicos en los que se basa.

Captulo 5: En l se presentan las conclusiones obtenidas tras el desarrollo


de la aplicacin. Se expone tambin una relacin de posibles lneas futuras de ampliacin, as como de algunas limitaciones de la misma.

Apndice A: Se muestran una serie de capturas de pantalla de conguracin de los equipos del Laboratorio en el que tuvo lugar el desarrollo de la aplicacin.

Apndice B: Por ltimo, en este apndice se incluye el cdigo completo de


todos los cheros desarrollados. Como se podr comprobar, est realizado en los lenguajes XML, XPL y XSLT.

Captulo 2

Multimedia Home Platform


(MHP)
Encuentro la televisin muy educativa. Cada vez que alguien la enciende, me retiro a otra habitacin y leo un libro.
Groucho Marx

La televisin digital consiste en la transmisin de audio, vdeo y datos mediante seales discretas (digitales), en contraposicin a las seales analgicas. Del mismo modo que para la TV analgica se denieron distintos estndares a nivel mundial (PAL, NTSC, . . . ), para la TV digital tambin existen varios estndares bien diferenciados. En Europa se ha adoptado el estndar DVB (Digital Video Broadcasting ), fruto del Proyecto DVB del que forman parte ms de 35 pases. Asimismo, para el desarrollo de aplicaciones interactivas tambin se han especicado diversos estndares. El estndar MHP (Multimedia Home Platform ), nacido dentro del Proyecto DVB, es quizs el ms extendido a nivel mundial. En este captulo se introducen una serie de ideas generales sobre ambos estndares, de manera que el lector pueda comprender el contexto para el cual se ha desarrollado la aplicacin interactiva objeto del Proyecto.
Resumen:

2.1. El Proyecto DVB


Dado que el estndar MHP (

Multimedia Home Platform ) se encuentra denido

dentro del marco del Proyecto DVB, resulta necesario realizar una revisin de las caractersticas de este ltimo. Esta seccin trata de cumplir con dicho propsito. 7

Captulo 2.

Multimedia Home Platform

(MHP)

2.1.1. Introduccin
Hacia nales de

1991,

los organismos de radiodifusin, fabricantes de equipos y

rganos reguladores de Europa se reunieron para discutir la formacin de un grupo que supervisara la introduccin de la televisin digital. Ese grupo pas a ser conocido como el Grupo Europeo de Lanzamiento (ELG) y decidi crear un marco basado en el consenso o acuerdo de todas las partes interesadas en las tecnologas adecuadas que seran utilizadas. Todos los participantes del ELG rmaron en

1993

Broadcasting

un Memorndum de Entendimiento, naciendo as el Proyecto (DVB).

Digital Video

Actualmente, el Proyecto DVB es un consorcio constituido por alrededor de instituciones, empresas y organismos reguladores de ms de

250 35 pases, cuyo objetivo

es el de disear estndares abiertos para la difusin de servicios de televisin y datos en todo el mundo. Los servicios basados en los estndares DVB se han extendido a todos los continentes, alcanzando un total de ms de DVB desplegados [1].

500

millones de receptores

2.1.2. Estructura del grupo DVB


El xito del Proyecto DVB se basa en una serie de principios fundamentales, siendo uno de ellos la organizacin estructural del grupo DVB. Existen varios mdulos, cada uno de los cuales cumple con una determinada funcin. En la gura 2.1 se muestra un organigrama en el que se representan las relaciones de dichos mdulos.

Asamblea General Junta Directiva Oficina del Proyecto DVB

Mdulo Comercial

Mdulo Tcnico

Mdulo de Derechos de Propiedad Intelectual

Mdulo de Comunicaciones y Promociones

Grupos de Trabajo Grupos de Trabajo

Figura 2.1: Organigrama del grupo DVB [1]

As, el Mdulo Comercial se encarga de determinar las especicaciones que demanda el mercado, elaborando un conjunto de exigencias comerciales para cada una de ellas, sin considerar cmo podran llevarse a cabo dichas exigencias. Por su parte, el Mdulo Tcnico tiene la tarea de elaborar unas especicaciones tcnicas que cumplan con estas necesidades. Ambos grupos estn divididos a su vez en una serie de subgrupos, cada uno de los cuales se encarga de un rea de trabajo en particular.

2.1. El Proyecto DVB

Una vez un borrador de especicaciones tcnicas ha sido revisado por el Mdulo Comercial, se enva a la Junta Directiva del Proyecto DVB, la cual debe dar su aprobacin antes de que las especicaciones puedan ser enviadas a un organismo de estandarizacin formal, normalmente el ETSI (

Standards Institute ).

European Telecommunications

Hay una serie de controles en vigor para garantizar que la labor del Proyecto DVB siga estando orientada hacia el mercado y que sus normas sean aplicables. En el Memorndum de Entendimiento rmado por todos los miembros se incluye un artculo dedicado a los derechos de propiedad intelectual, un aspecto que es supervisado por el Mdulo de Derechos de Propiedad Intelectual. Todos los miembros del Proyecto DVB estn de acuerdo en ofrecer su tecnologa a todos los fabricantes en condiciones justas, razonables y no discriminatorias. Con el n de garantizar que la informacin acerca de la labor del Proyecto DVB est disponible para todas las partes interesadas de forma clara y transparente, el Mdulo de Comunicaciones y Promociones trabaja en estrecha cooperacin con la Ocina del Proyecto DVB, con base en la Unin Europea de Radiodifusin de Ginebra (Suiza).

2.1.3. Principales estndares DVB


Durante las primeras fases, el grupo de DVB trabaj en la denicin de estndares que hicieran posible la distribucin de la televisin digital a travs de las redes de difusin tradicionales. As fueron surgiendo distintos estndares en funcin de las caractersticas del sistema de radiodifusin. Los estndares ms utilizados en la actualidad son DVB-S y DVB-C, que contemplan las transmisiones de seales de televisin digital mediante redes de distribucin por satlite y por cable, respectivamente. La transmisin de televisin digital a travs de redes de distribucin terrestres utilizando los canales UHF convencionales se contempla en el estndar DVB-T, que actualmente est implantado en la mayor parte de los pases europeos. Adems de estos, fueron surgiendo una amplia variedad de estndares adicionales que iban cubriendo distintas necesidades, tales como transmisin de datos (DVB-SI), subttulos (DVB-SUB), interfaces (por ejemplo, DVB-ASI), etc. Al ser la televisin interactiva una de las principales ventajas de la TV digital, se impuls la denicin de varios estndares para el canal de retorno y de MHP (

Multimedia Home Platform ), la especicacin de middleware de DVB.

El grupo DVB tambin desarroll otros estndares que permiten la recepcin de seales de televisin digital en dispositivos mviles, conocidos como DVB-H y DVB-SH, contemplando este ltimo la posibilidad de un enlace descendente hbrido satlite/terrestre. Recientemente, DVB tambin se lanz hacia nuevas reas, como la denicin de un sistema de proteccin de contenidos y gestin de copias (DVB-CPCM) o la contribucin a la estandarizacin de IPTV. En

2009

tambin se completaron

algunos estndares de segunda generacin, como DVB-T2 (terrestre) y DVB-C2 (cable), que se unieron al ya anteriormente publicado DVB-S2 (satlite). Actualmente, los esfuerzos del Proyecto DVB se centran en sistemas de televi-

10

Captulo 2.

Multimedia Home Platform

(MHP)

sin

3D,

IPTV y un estndar de nueva generacin para dispositivos mviles.

2.1.3.1.

DVB-T

Moving Picture Experts Group ). No obstante, los estndares MPEG slo cubren los aspectos y metodologas
audio estn basados en los estndares denidos por MPEG ( utilizados en la compresin de las seales de audio y vdeo y los procedimientos de multiplexin y sincronizacin de estas seales en ujos de transporte (TS) o de programa (PS). Los estndares DVB especican adicionalmente aspectos sobre la estructura de la trama de datos, la codicacin de canal y la modulacin. En este apartado se exponen algunas de las caractersticas tcnicas ms importantes de DVB-T. Se ha elegido el estndar para televisin terrestre debido a que la conguracin de los equipos del Laboratorio en el que se ha desarrollado la aplicacin interactiva objeto del Proyecto cumple con dicho estndar. La primera versin de la norma DVB-T se public en marzo de usado en este tipo de sistemas en el mundo, con ms de desplegados en ms de denicin a SDTV (

En DVB, todos los procedimientos de codicacin de las fuentes de vdeo y

1997,

y en los

ms de diez aos transcurridos desde entonces se ha convertido en el estndar ms

150

millones de receptores

35

pases. Es un sistema exible que permite a las redes ser

diseadas para la entrega de una amplia gama de servicios, desde la TV de alta

Standard Denition Television ) multicanal, jo, porttil, mvil,


2009 la ETSI public de manera formal

e incluso recepcin en dispositivos porttiles (especialmente cuando se utiliza en conjuncin con DVB-H). En septiembre de prueba utilizando dicho estndar. Los requisitos comerciales de DVB-T requeran, entre otros, que el sistema pudiera funcionar correctamente bajo unas condiciones de ruido ms duras que para el caso de DVB-C, adems de presentar inmunidad frente a las interferencias multitrayecto. El vdeo, audio y datos se comprimen adecuadamente y los ujos resultantes se multiplexan en ujos de programa MPEG (PS). A continuacin, uno o ms ujos de programa se unen en un nico ujo de transporte MPEG (TS). Este es el ujo de datos bsico que ser transmitido y recibido por los decodicadores de TDT. Cada ujo bsico dentro del TS se identica por medio de un PID ( cual consta de el estndar DVB-T2, aunque en Espaa nicamente se han realizado emisiones de

Packet Identier ), el

13

bits. De esta manera, el decodicador puede distinguir entre los

datos correspondientes a cada uno de los PS iniciales. El ujo de transporte se identica como una secuencia de paquetes de datos, cada uno de ellos de

188

bytes.

DVB-T, como casi todos los modernos sistemas de transmisin terrestre, utiliza la modulacin OFDM (

Orthogonal Frequency-Division Multiplexing ).

Este tipo de

modulacin, que hace uso de un gran nmero de sub-portadoras, ofrece una slida seal que tiene la capacidad para hacer frente a unas condiciones del canal muy agresivas. DVB-T tiene caractersticas que hacen que sea un sistema muy exible [1]:

2.1. El Proyecto DVB

11

3 5 4

opciones de modulacin (QPSK,

16QAM

64QAM).

tion ).

diferentes tasas de proteccin contra errores FEC (

Forward Error Correc-

opciones de intervalo de guarda.

Opcin de

2048

(modo

2k)

8192

(modo

8k)
u

portadoras. MHz (con vdeo a

Puede operar en anchos de banda de

6, 7

50

60

Hz).

El uso de la modulacin OFDM con el intervalo de guarda permite a DVB-T proporcionar una herramienta valiosa para los operadores en forma de una red de frecuencia nica, o

Single Frequency Network .

Una SFN es una red donde un

determinado nmero de transmisores trabaja en la misma radiofrecuencia (RF). Una SFN puede cubrir todo un pas, como Espaa, o utilizarse para mejorar la cobertura de interior. De esta manera, y a diferencia de la televisin analgica, en todo el territorio nacional podra hacerse uso de la misma banda de frecuencia para un mismo canal. Un ltimo aspecto tcnico de DVB-T que merece la pena mencionar es su capacidad de modulacin jerrquica. Utilizando esta tcnica, dos ujos de datos completamente independientes son modulados en una sola seal. Un ujo de alta prioridad (HP) est embebido dentro de uno de baja prioridad (LP). As, por ejemplo, el ujo de alta prioridad podra contener datos correspondientes a SDTV, mietras que el ujo de baja prioridad podra contener datos de imgenes de alta denicin. Generalmente, el ujo de alta prioridad es mucho ms robusto que el de baja prioridad, por lo que los receptores a los que llegue un buen nivel de seal podran acceder a los datos de alta denicin, mientras que los receptores ms lejanos an podran seguir decodicando imgenes en SDTV. Las redes DVB-T pueden disearse para ofrecer gran variedad de servicios: SDTV, radio, servicios interactivos, televisin de alta denicin y, utilizando encapsulamiento multiprotocolo, incluso transmisin de datos sobre IP.

2.1.4. DVB y otros estndares de televisin digital


Puede armarse de forma objetiva que el Proyecto DVB ha sido un xito. De los ms de (DVB-T). Los estndares DVB-S/S2 forman la base de la TV digital por satlite en prcticamente todo el mundo. Por su parte, DVB-C es el sistema de televisin digital por cable ms extendido. DVB-T ha crecido en los ltimos aos y actualmente se emplea en Europa y en partes de Asia, Oceana, frica y Amrica Latina, aunque muchos otros pases estn planicando adoptarlo. Las economas de escala generadas por tal vasto desarrollo ha hecho posible que los precios al consumidor de los equipos receptores sean asequibles. En el mapa de la gura 2.2 se muestran los estndares para Televisin Digital Terrestre adoptados en el mundo. millones son receptores DVB-S y al menos

500 millones de receptores DVB distribuidos por el mundo, al menos 100 150 millones son receptores terrestres

12

Captulo 2.

Multimedia Home Platform

(MHP)

Figura 2.2: Estndares de Televisin Digital Terrestre en el mundo [1]

ATSC (

Advanced Television System Committee )

es el estndar de televisin

digital terrestre empleado en Estados Unidos, Mxico, Canad, Corea del Sur y algunos pases de Amrica Central.

Terrestrial ),

En Japn se hace uso de ISDB-T (

Integrated Services Digital Broadcasting tambin llamado ISDB-T

mientras que en la mayor parte de Amrica del Sur se emplea el sis-

tema SBTVD ( Internacional.

Sistema Brasileiro de Televiso Digital ),

Por su parte, China (incluyendo Hong Kong y Macao) ha adoptado el estndar conocido como DTMB (

Digital Terrestrial Multimedia Broadcast )

para terminales

jos y mviles, cuyo principal inconveniente es el hecho de no denir los estndares de codicacin de vdeo por defecto.

2.2. El estndar MHP


2.2.1. Introduccin
Hoy en da, a diferencia de sistemas ya existentes como el teletexto, la televisin digital ha permitido que los avances en el mbito de las aplicaciones interactivas sean mucho ms rpidos debido a que estas estn basadas en software. Ello es posible gracias a los

Set-Top-Boxes

(STBs), los decodicadores de televi-

sin que se encargan de recibir la seal digital y decodicarla para poder mostrarla a travs de los televisores analgicos. Este aparato es el que permite que los usuarios puedan acceder a los contenidos que ofrece la trama de datos de la televisin digital. La interactividad requiere que los STBs se puedan programar y actualizar di-

2.2. El estndar MHP

13

nmicamente. Para ello existen diferentes soluciones en el mercado, entre ellas la denicin de una capa de software intermediario sobre el cual se ejecutan las aplicaciones transmitidas junto con las seales audiovisuales. Esta capa es ms conocida con el nombre de middleware. Existen diferentes softwares, que se pueden clasicar en funcin de si son de propiedad privada o pblica. MHP, o

Multimedia Home Platform ,

es el nombre comn de un conjunto de

especicaciones para el middleware desarrolladas por el Proyecto DVB. La utilizacin de un estndar abierto para el middleware de la TV interactiva implica que los fabricantes de receptores pueden enfocarse en varios mercados en lugar de desarrollar productos siguiendo las especicaciones de una sola estacin transmisora. Del mismo modo, las aplicaciones basadas en MHP pueden ser desarrolladas por mltiples proveedores de servicios, permitiendo la creacin de un mercado horizontal en esa rea. En 2004 se cre una extensin con la capacidad de PVR (Personal Video Recorder ) interactivo, que puede combinarse con cualquiera de las versiones de MHP. En febrero de

2008

se aprob una extensin de Acceso Condicional, facilitando el

desarrollo de servicios de pago complejos [2].

tenecientes al Proyecto DVB (por ejemplo, ATSC, ARIB, la Asociacin

Blu-ray Disc, . . . ) a travs del desarrollo de GEM (Globally Executable MHP ). Actualmen-

El ncleo de MHP ha sido adoptado de forma compatible por sistemas no per-

te, GEM es una especicacin primaria de DVB que incluye las caractersticas ms relevantes de MHP.

2.2.2. Qu es MHP
En cuanto al funcionamiento de MHP, en su forma ms simple puede describirse como un conjunto de instrucciones que le dicen al sistema operativo de un receptor de TV digital cmo encargarse de una aplicacin interactiva que haya recibido. MHP tambin dene la forma en la que las aplicaciones son entregadas al receptor, incluyendo la informacin del servicio (SI) que sealiza la presencia de aplicaciones interactivas en el ujo de transporte. MHP tiene un ncleo basado en una mquina virtual de Java. A diferencia de otros estndares de TV interactiva como MHEG, en MHP cada uno de los motores es simplemente otra aplicacin MHP. Por tanto, si aparecen nuevos requerimientos, actualizar y desarrollar una aplicacin MHP es mucho ms simple y barato que redenir y actualizar otros estndares. La denicin de MHP es independiente del fabricante de hardware, del emisor y del equipo que implementa la especicacin. Es decir, diferentes redes con diferentes fabricantes de STBs y de implementaciones podrn ejecutar las mismas aplicaciones MHP. A la hora de ejecutar las aplicaciones en el STB hay que tener en cuenta el entorno en el que se est trabajando. No es un PC, es decir, adems de poca memoria y capacidad de procesamiento, se tiene un entorno grco limitado y adecuado a la televisin (por ejemplo, no hay tarjetas grcas aceleradoras), puede no haber una conexin Ethernet y no hay disco duro de gran capacidad. Tambin se

14

Captulo 2.

Multimedia Home Platform

(MHP)

hace necesario gestionar elementos nuevos como sintonizadores de seal, sistemas de acceso condicional, decodicadores MPEG y el canal de retorno. Para gestionar este canal es necesario disponer de una conexin a Internet. La interfaz de usuario es el mando a distancia (no un ratn y un teclado), y hay que tener en cuenta que las aplicaciones deben adaptarse a cualquier tipo de formato de pantalla (16:9, alta denicin, . . . ) [14]. Por otro lado, histricamente la televisin se ha considerado un sistema robusto que nunca falla y, por tanto, las aplicaciones que se ejecuten en ella deben cumplir ese mismo requisito. La comunicacin con el usuario ha de ser sencilla ya que puede ir destinada a cualquier tipo de pblico. El consumo de recursos de las aplicaciones debe ser reducido y estas no pueden tardar en ejecutarse. Por ltimo, ha de tenerse en cuenta que varias aplicaciones pueden estar ejecutndose al mismo tiempo y por ello pueden verse obligadas a compartir recursos. En general, los recursos son los dispositivos hardware cuya capacidad de servicio se limita a pocos clientes simultneamente. A este tipo de recursos se les denomina recursos caros y pueden ser, por ejemplo: mdems, la pantalla, decodicadores MPEG, el canal de retorno, etc. De la gestin de recursos caros se encarga un API de noticacin de uso de recursos denido en MHP, que puede indicar a una aplicacin que otra necesita acceso al recurso, o bien que se le ha retirado el acceso al mismo.

4:3,

2.2.3. Aplicaciones interactivas y MPEG/DVB


Las aplicaciones interactivas se transmiten a los receptores, al igual que los contenidos audiovisuales, a travs del canal de radiodifusin. Para multiplexar toda esta informacin en un nico TS, se denen una serie de tablas conocidas como PSI ( receptor para demultiplexar y decodicar los diferentes ujos de programas dentro

Program Specic Information ), que permiten la conguracin automtica del

del mltiplex. La PSI est compuesta por cuatro tablas: la PAT (Program Association Table ), la PMT (Program Map Table ), la CAT (Conditional Access Table ) y la NIT (Network Information Table ). Las tres primeras estn denidas en el propio estndar MPEG-2 [3].

Existe un gran nmero de tablas adicionales, denidas en el estndar DVB, cada una de ellas con una serie de funcionalidades asociadas. Las tablas principales de la emisin MPEG/DVB tienen reservados unos PID concretos, de manera que los STBs puedan localizarlas sin dicultad. En la PMT se indica, para cada servicio que ofrezca aplicaciones, los PID de los ujos elementales (ES) que contienen la AIT ( Adems, en la PMT tambin se indican todos los ES que pueden contener cdigo o datos. La AIT contiene toda la informacin necesaria respecto a las aplicaciones ofertadas en un servicio, incluyendo todo lo necesario para ejecutarlas: parmetros, nombres de clases, localizacin de cheros, etc. As, por ejemplo, en la AIT se especica, entre otros muchos aspectos:

Application Information Table ).

El nombre de la aplicacin, su versin y su prioridad.

2.2. El estndar MHP

15

El tipo de aplicacin: Se informa sobre si la aplicacin est escrita en JavaMHP (por lo que recibira el nombre de aplicacin DVB-J) o en HTML (aplicacin DVB-HTML). El arranque de la aplicacin: Se especica si la aplicacin debe ejecutarse automticamente, o si simplemente est en emisin pero es el usuario quien debe ejecutarla, o incluso se puede cambiar el valor para que las aplicaciones que haya en ejecucin se destruyan. Evidentemente, cada aplicacin tiene una AIT asociada, cuyo PID puede encontrarse en la PMT.

2.2.4. Perles y versiones de MHP


Han sido publicadas tres versiones de MHP, cada una de las cuales aade nuevas caractersticas de utilidad a las anteriores. En todas ellas se soporta un perl nicamente de difusin, aunque las ms modernas permiten tambin la gestin de un canal de retorno a travs de una conexin a Internet. En MHP se dene un esquema de perles, de manera que una determinada versin siempre estar enmarcada dentro de un determinado perl. Cada perl indica una serie de funcionalidades mnimas exigibles al receptor (es decir, al STB), adems de una serie de funcionalidades opcionales. Existen tres perles:

Enhanced Broadcast : Es el ms bajo de los tres. No requiere soporte de


canal de retorno, por lo que la informacin nicamente uira en el sentido descendente (hacia el STB). La interactividad est restringida entre el usuario y el decodicador. Ejemplos de aplicaciones que encajan en este perl son servicios de informacin, guas electrnicas de programa (EPG), . . .

Interactive Broadcast : Debe soportar todo lo que se exige al perl anterior, y adems ha de ofrecer interactividad a travs de un canal de retorno. Por tanto, se posibilita as una comunicacin bidireccional con el proveedor de servicios interactivos. Como ejemplos de aplicaciones enmarcadas en este perl, se tiene: vdeo bajo demanda, comercio electrnico, tele-voto, concursos interactivos, . . .

Internet Access : Debe soportar todo lo que se exige a los dos perles anteriores, y adems ha de proporcionar interfaces de acceso a Internet, tales como navegadores web, clientes de correo electrnico, etc. Existen diferentes versiones de cada perl (Enhanced Broadcast 1, Enhanced Broadcast 2, etc.), en funcin del nmero de APIs disponibles. Los dos primeros perles estn denidos en MHP 1.0. El tercero de ellos no aparece hasta la versin 1.1. Cabe destacar tambin que DVB-HTML slo aparece en los perles

Interactive Broadcast

Internet Access

a partir de la versin 1.1, y

adems con carcter opcional. En la gura 2.3 se detalla qu aspectos se incluyen en cada versin de MHP.

16

Captulo 2.

Multimedia Home Platform

(MHP)

Figura 2.3: Versiones de MHP [2]

2.2.5. Ciclo de vida de las Xlet


En las aplicaciones de tipo DVB-J, hay una serie de consideraciones respecto al ciclo de vida normal de las aplicaciones Java que deben ser tenidas en cuenta. En el modelo Java convencional, se asume que slo habr una aplicacin ejecutndose en la mquina virtual (VM), y que cuando la aplicacin se detenga, as lo har la mquina virtual. El ciclo de vida de una applet de Java para las pginas web es ms apropiado: si la pgina contiene dos applets, ambas pueden ejecutarse en la misma JVM sin interferir la una con la otra. Cuando una de ellas termine, se puede eliminar de la VM sin afectar a ninguna otra que est an en ejecucin. Sin embargo, para las aplicaciones MHP, se gereraliz este concepto con el n de hacerlo ms adecuado para los equipos de consumo, ya que muchas de las funcionalidades de las applets estn ligadas al entorno web. El resultado es lo que se conoce como Xlet. Al igual que las applets, la Xlets permiten a una fuente externa (en este caso, el STB) que controle el ciclo de vida de la aplicacin, y proporciona a la misma una forma de comunicarse con el entorno. Obviamente, hay toda una serie de diferencias entre una applet y una Xlet. La principal es que la ejecucin de una Xlet puede ser pausada y reanudada. La razn es simple: en un entorno como el de un receptor MHP puede haber varias aplicaciones ejecutndose simultneamente; sin embargo, debido a restricciones de hardware slo una de ellas puede ser visible al usuario. El resto, por tanto, necesitan ser pausadas para liberar los recursos que estuvieran utilizando. Una Xlet es mucho ms simple que una applet. Adems, debido a la importancia de la robustez en los sistemas de televisin digital, las Xlets tienen impuestas muchas ms restricciones de seguridad que las applets. Una Xlet puede encontrarse en uno de los siguientes estados:

No cargada: Cuando el STB recibe por primera vez informacin sobre una
aplicacin (a travs de su correspondiente AIT), dicha aplicacin est en este estado. Un tiempo despus, el gestor de aplicaciones del STB puede cargar el

2.2. El estndar MHP

17

chero que contiene la clase principal de la Xlet y crear una instancia de la Xlet. En ese momento, la Xlet pasara al estado

cargada.

Cargada: Cuando el usuario decide iniciar una Xlet (o cuando la AIT indica
que la Xlet debera iniciarse automticamente), el gestor de aplicaciones del STB inicia la aplicacin y carga los cheros necesarios (por ejemplo, imgenes) para su ejecucin. Cuando la inicializacin se complete, la Xlet pasara al estado

pausada.

Pausada: El gestor de aplicaciones puede mover una Xlet del estado


al estado

empezada

pausada

y viceversa. Esto puede ocurrir varias veces durante la

ejecucin de una Xlet. En el estado

pausada,

una aplicacin debe liberar al

mximo sus accesos a recursos para que otras aplicaciones puedan hacer uso de ellos. De no actuar as, el gestor de aplicaciones puede decidir destruir la Xlet.

Empezada: En este estado la aplicacin se muestra por pantalla y el usuario


puede interactuar con ella.

Destruida: Cuando el usuario decide destruir una Xlet, o cuando el operador


de red notica que la aplicacin debe destruirse, el gestor de aplicaciones mover la Xlet al estado

destruido

y liberar los recursos. Una vez en este

estado, esta instancia de la Xlet no puede iniciarse de nuevo. En el esquema de la gura 2.4 se muestra grcamente el ciclo de vida de las Xlets descrito anteriormente.

No cargada Cargada Pausada Empezada Destruida

Figura 2.4:

Ciclo de vida de las Xlets No vlida,


cuando no puede ejecu-

Una Xlet tambin puede estar en el estado por el recolector de basura.

tarse en el servicio (canal) actual pero el objeto Xlet todava no ha sido liberado

En conclusin, una Xlet no es una aplicacin Java convencional. Puede haber ms de una ejecutndose al mismo tiempo, lo que quiere decir que las Xlets no deberan ejecutar ninguna accin que afectara al estado global de la JVM. De hecho, la mayora de estas funciones estn deshabilitadas en las especicaciones de MHP.

18

Captulo 2.

Multimedia Home Platform

(MHP)

2.2.6. La situacin de MHP


Los primeros trabajos realizados de MHP estaban enfocados sobre difusin por satlite (DVB-S, satlite canal

MTV3 Oy

SkyLife

para la difusin en Corea) y terrestre (DVB-T,

en Finlandia). Desde entonces, el incremento de la banda ancha

entre los consumidores ha signicado que muchas de las implementaciones recientes de MHP se hayan realizado en redes hbridas de difusin/banda ancha, empleando la red de banda ancha para informacin complementaria, otras aplicaciones y, recientemente, vdeo. Otros mercados clave para MHP incluyen Italia (DVB-T), Austria (DVB-T/ DVB-C), Espaa (DVB-T), Blgica (DVB-C), Polonia (DVB-S2/DVB-C), Noruega (DVB-T), Arabia Saud (DVB-S), Suiza (DVB-C), Alemania (DVB-S) y Taiwn (DVB-T). La capacidad de ofrecer PVR, VOD (

Video On Demand ) o vdeo a travs de In-

ternet es muy potente y puede conducir a nuevos modelos de negocio y cooperacin entre los operadores de red y las redes de difusin. En abril de

2010, aproximadamente 14,5 millones de receptores compatibles con

MHP han sido desplegados en redes que utilizan las tecnologas DVB-S, DVB-T, DVB-C, DVB-S2 e IPTV. Adems, los precios de los receptores MHP han bajado signicativamente en los ltimos aos [2].

2.2.7.

Globally Executable MHP

(GEM)

DVB-GEM es una especicacin abierta de middleware propuesta en el seno del Proyecto DVB que permite el desarrollo de aplicaciones interactivas sobre redes de difusin y de banda ancha adems de para discos Blu-ray. Est basado en Java y ofrece un entorno de ejecucin de aplicaciones independiente de la plataforma, lo que puede ser utilizado para crear contenidos interactivos para diferentes dispositivos y mercados. La plataforma est construida en Java Micro Edition (JavaME) con APIs adicionales, que ofrecen funcionalidades especcas para la TV. GEM no est limitado por la sealizacin especca de la red de difusin, sino que dene una abstraccin de conceptos comunes para varios sistemas de TV e incluso para contenidos basados en discos (Blu-ray). Este ncleo comn consiste en un conjunto de APIs disponibles en todos los terminales GEM. Se ha extendido con otras APIs para mercados especcos, lo que se conoce como perles. GEM ha sido adoptado por otras organizaciones incluyendo

CableLabs, ATSC, ARIB y la Asociacin Blu-ray Disc.

GEM es el estndar para middleware recomendado por la ITU-T para la televisin interactiva, lo cual implica el apoyo de los tres mercados principales de TV digital: Estados Unidos, Japn y Europa. Se lleg a un acuerdo para disponer de una coleccin de software de ejecucin unicado basado en MHP, lo que en la prctica convierte a MHP en un API estndar mundial para la televisin digital interactiva. GEM actualmente dene tres diferentes objetivos de distintos escenarios: un

2.2. El estndar MHP

19

objetivo de difusin para TV de difusin terrestre, por cable o por satlite, un objetivo IPTV para STBs basados en IPTV, y un objetivo de almacenamiento para servicios basados en discos. Todos ellos comparten un modelo comn de aplicaciones y un conjunto de clases. Para cada objetivo y perl, una especicacin de GEM dene lo siguiente, distinguiendo entre partes opcionales y obligatorias: Formato del contenido (audio, vdeo, imgenes). Protocolos de transporte (IP, difusin). Un modelo de aplicacin. Un mecanismo de sealizacin de aplicaciones. Una plataforma de aplicaciones basada en Java.

Captulo 3

El entorno de trabajo
Sin laboratorios los hombres de ciencia son como soldados sin armas. Louis Pasteur
El desarrollo y programacin de la aplicacin interactiva tuvo lugar en las instalaciones de la empresa Axin emplazadas en Valencina de la Concepcin, en la provincia de Sevilla. En ellas, la empresa Prodetur haba instalado previamente un Laboratorio destinado a tal n. En este captulo, se persigue describir con cierto detalle los equipos de los que consta dicho Laboratorio, as como enumerar los problemas encontrados durante la puesta en marcha del mismo. Asimismo, se har especial nfasis en el funcionamiento y particularidades del servidor de aplicacin, pues es uno de los principales factores determinantes del resultado nal de la aplicacin.
Resumen:

3.1. Contexto del LAB-TDT


El proyecto LAB-TDT, perteneciente al Programa de incentivos para el fomento de la innovacin y modernizacin de las Administraciones Locales de Andaluca y conanciado por la Diputacin de Sevilla, a travs de

Prodetur,

y la Consejera

de Innovacin, Ciencia y Empresa de la Junta de Andaluca, consiste en un Laboratorio dotado de infraestructuras y equipamiento hardware y software, cuyo n es poner a disposicin de sus usuarios un banco de pruebas experimental para el desarrollo de contenidos y aplicaciones interactivas para futuros servicios pblicos e informativos que pudieran ofrecerse desde la TDT (Televisin Digital Terrestre) Local. El objetivo ltimo del LAB-TDT es disponer de una serie de servicios y/o contenidos interactivos, que puedan llevarse a cabo utilizando las tecnologas que ofrece la TDT y que estn previamente testados en dicho laboratorio, de manera que su ecacia y utilidad para los usuarios pueda quedar contrastada. 21

22

Captulo 3. El entorno de trabajo

En concreto, el LAB-TDT dispone tanto de hardware como de software especco para la produccin, emisin y recepcin de servicios interactivos para la TDT.

3.1.1. Entidades promotoras


En la puesta en marcha de esta iniciativa han participado las siguientes entidades:

Prodetur, S.A.: Es una sociedad de la Excma. Diputacin de Sevilla, que


tiene entre sus competencias promover el desarrollo socioeconmico y turstico dentro del mbito territorial que comprende la provincia de Sevilla, incluida la capital, desarrollando actividades de apoyo y promocin econmica, incluyendo las relaciones externas de la provincia, con especial nfasis en las relaciones empresariales y territoriales, la difusin de la innovacin, interrelacin y cooperacin empresarial, as como la promocin de eventos culturales y de ocio y de todas aquellas actividades que contribuyan a la promocin de la provincia de Sevilla y a la puesta en valor de su patrimonio artstico, natural y gastronmico.

Asociacin de Ingenieros de Telecomunicacin de Andaluca Occidental (ASITANO): Es una entidad de naturaleza asociativa y sin nimo
de lucro, que tiene como principales objetivos impulsar el desarrollo de la Sociedad de la Informacin y el uso de las Tecnologas de la Informacin y las Comunicaciones entre la ciudadana, el tejido empresarial y las administraciones pblicas de la comunidad andaluza, articulando dichas actuaciones a travs del colectivo de Ingenieros de Telecomunicacin pertenecientes a la demarcacin del Colegio Ocial de Ingenieros de Telecomunicacin de Andaluca Occidental y Ceuta.

Centro Andaluz de Innovacin y Tecnologas de la Informacin y las Comunicaciones (CITIC): Tiene su actividad centrada en la Investigacin,
Desarrollo e Innovacin (I+D+i) en el sector de las TIC (Tecnologas de la Informacin y las Comunicaciones), siendo su razn de ser el desarrollo de proyectos que cubran las necesidades tecnolgicas planteadas por el tejido empresarial o social. CITIC ha logrado formar parte de de la Red de Espacios Tecnolgicos de Andaluca (RETA) y de la Red de Centros de Innovacin y Tecnologa del Ministerio de Educacin y Ciencia.

Axin : Es una sociedad dedicada a la difusin terrenal de seales audiovisuales y a la explotacin de servicios de telecomunicaciones a nivel nacional, a travs de su propia red de centros, operando tambin como gestor de infraestructuras de telecomunicaciones, y compartiendo en ocasiones esta infraestructura de red con otros operadores.

Giralda TV : Una televisin municipal de Sevilla que est interesada en


promover proyectos innovadores en relacin con la participacin de los ciuda-

3.2. Descripcin global del sistema

23

danos mediante desarrollo de acciones encaminadas a la interactividad de la cadena con sus espectadores.

Prodetur, S.A.

es la entidad que se compromete a aportar el equipamiento del

Proyecto LAB-TDT, as como otros equipos necesarios, a difundir los contenidos provinciales en formato TDT que resulten del laboratorio, as como a llevar a cabo la gestin de la convocatoria de usos del laboratorio y cheques horarios a las empresas interesadas. ASITANO, el CITIC,

Axin

Giralda TV

se comprometen a aportar el cono-

cimiento y los medios necesarios para poder poner en marcha el laboratorio experimental y banco de prueba, as como, dentro de sus posibilidades, aportar al banco de pruebas aplicaciones concretas de interactivos o colaborar en la identicacin de aquellas que puedan ser interesantes para la provincia de Sevilla.

Axin

se compromete a facilitar en sus instalaciones de Valencina de la Con-

cepcin (Sevilla) el espacio fsico necesario para el montaje del citado Laboratorio.

Giralda TV

se compromete a que los desarrollos y aplicaciones que se estudien

en el laboratorio y en el banco de pruebas se puedan poner en marcha en la televisin municipal de Sevilla, aportando as la posibilidad de llevar a la prctica real cuantas soluciones tcnicas se vayan desarrollando fruto de este convenio.

3.2. Descripcin global del sistema


El Laboratorio consta de una serie de equipos que permiten la programacin

Home Platform ).

y posterior depuracin de aplicaciones interactivas basadas en MHP ( entorno tpico de DVB-T (

Multimedia

El objetivo del Laboratorio es imitar el comportamiento de un

Digital Video Broadcasting Terrestrial ), tanto en emisin

como en recepcin. De esta manera, posibilita desde la generacin y multiplexin de material audiovisual hasta su recepcin en una pantalla de televisin. Los equipos de los que consta se listan a continuacin, aunque se describirn con ms detalle en la seccin 3.3:

Servidor de aplicacin: Se trata del equipo destinado a almacenar y emitir


la aplicacin. El servidor de aplicacin empleado es de la marca proyecto, se describir posteriormente en el apartado 3.3.2.

T-mira. Dado

que es el equipo principal en el que se ha apoyado el desarrollo del presente

Philips

Reproductor DVD: Consiste en un lector de DVD comercial, de la marca


y modelo DVP3980, instalado con el objetivo de generar contenido

audiovisual para su posterior emisin a travs del canal de RF (

quency ), junto con las aplicaciones interactivas. SA)

Radio FreSID-

Codicador: Se trata de una tarjeta (POL-ETV-ENC-CMP, de marca

que codica una seal externa de audio/vdeo (en este caso, la seal

procedente del reproductor DVD) en tiempo real y en formato MPEG-2.

Multiplexor: Se trata de una tarjeta (POL-VEGA-MUXC, de marca

SIDSA) cuya funcionalidad es la de convertir las seales de audio y vdeo y la seal

24

Captulo 3. El entorno de trabajo

de datos procedente del servidor de aplicacin en una nica seal MPEG-2 sobre IP (UDP/RTP).

Puente (bridge ): Se trata de una tarjeta (POL-ETV-BOUT, de marca

SA) que tiene el objetivo de convertir a formato Interface ) la seal procedente del multiplexor. DekTec

ASI

SID(Asynchronous Serial

Modulador: Consiste en una tarjeta

DTA-115-SP instalada en un

PC. Dicha tarjeta se encarga de modular la trama ASI en UHF (

Frequency )

Ultra High

para que pueda ser visionada en un televisor con decodicador

TDT con funcionalidad MHP.

Decodicador TDT con funcionalidad MHP: El STB (Set-Top-Box )


empleado es un decodicador comercial, de la marca de la aplicacin (vase la gura 3.1).

Tecatel, con su correspon-

diente mando a distancia para poder realizar las pruebas de funcionamiento

Televisor: Como elemento nal de salida, se dispone de un monitor de


pulgadas, de marca

Samsung

18,5

y modelo 933HD.

Rack : Para albergar la mayor parte de los equipos anteriores, en el Laboratorio hay instalado un bastidor estndar de

19.

Figura 3.1: Aspecto del STB instalado en el LAB-TDT

El diagrama de bloques general del sistema es el que se muestra en la gura 3.2. Como se puede apreciar, la seal del DVD llega al codicador, el cual genera a su salida una seal MPEG-2 sobre IP. Esta seal es multiplexada junto con la generada por el servidor de aplicacin en un nico TS ( sobre IP hasta el

bridge,

Transport Stream ) y es transportada

que proporciona a su salida una interfaz ASI. La seal

despus es modulada en UHF usando una modulacin

plitude Modulation )

64-QAM (Quadrature Am-

y enviada a travs de un cable coaxial directamente hasta el

STB, que acta como elemento receptor. El decodicador enva la seal analgica resultante mediante un Euroconector al televisor, para que pueda ser visionada.

3.3. Descripcin y conguracin de los equipos

25

De esta manera, se hace posible ejecutar las aplicaciones directamente en la TV, simulando as un entorno idntico al que tendran los usuarios nales.

Figura 3.2: Diagrama de bloques de los equipos del LAB-TDT

3.3. Descripcin y conguracin de los equipos


En este apartado se proceder a describir con un nivel de detalle algo mayor los equipos de mayor importancia que conforman el Laboratorio. No obstante, dado que las especicaciones tcnicas y la conguracin de los equipos quedan fuera del alcance de este Proyecto, cuyo objetivo es el desarrollo de una aplicacin interactiva, no se har un anlisis exhaustivo, sino que se tratarn nicamente los aspectos ms relevantes. Para mayor informacin, se remite al lector que est interesado al apndice A, en el que podr encontrar capturas de pantalla de conguracin de algunos de los equipos.

3.3.1. Equipos de SIDSA


Las tarjetas que cumplen las funciones de codicador, multiplexor y todas ellas de la marca

SIDSA,

bridge,
cuyo

estn albergadas en un nico chasis de

1U,

aspecto se muestra en la gura 3.3. Un mayor detalle de la apariencia frontal y trasera del chasis se puede apreciar en la gura 3.4. Siguiendo el diagrama de la gura 3.2, a esta unidad deben llegar tanto la seal de datos del servidor de aplicacin, a travs de un cable Ethernet y un conector RJ-

45, como la seal de salida del reproductor DVD, a travs de una conexin de vdeo
compuesto FBAS (conector BNC). Para el audio se emplean dos conectores RCA. La seal de salida de toda la unidad es una seal en formato ASI que transporta un TS de MPEG-2. Como ya se ha comentado, la unidad alberga tres tarjetas, las cuales se describirn en los apartados siguientes.

26

Captulo 3. El entorno de trabajo

Figura 3.3: Chasis que alberga las tarjetas de

SIDSA

Figura 3.4: Vistas frontal y trasera del equipo de

SIDSA

3.3.1.1.

Codicador

La tarjeta codicadora, de modelo POL-ETV-ENC-CMP, consiste en un componente

EtherTV Karina

MPEG-2 con entrada de vdeo compuesto. En la gura

3.5 se muestra un esquema simple con el n de claricar la entrada y salida del codicador. Sus caractersticas tcnicas ms importantes son: Salida de vdeo: MPEG-2 TS sobre IP/UDP. Perl de codicacin de vdeo MPEG-2: Perl principal y nivel principal, 4:2:0. Entrada de vdeo compuesto. Compatible con NTSC y PAL. Resolucin de vdeo posible:

Full 2/3 Half

D1: D1:

720 576/480 480 576/480 352 576/480 352 288/240

D1:

CIF/SIF:

3.3. Descripcin y conguracin de los equipos

27

Tasa de bit de vdeo constante o variable (desde Codicacin de audio: MPEG-1

800

kbps hasta

15

Mbps).

Audio Layer 2 (ISO 13818-3)

Figura 3.5: Esquema genrico de la tarjeta

EtherTV Karina

de

SIDSA

La conguracin de la tarjeta puede realizarse desde un navegador web instalado en un PC a travs de una conexin Ethernet. Los aspectos ms relevantes de la conguracin establecida son:

Tasa de bits constante (CBR). GOP (

Group Of Pictures ) de tipo IPB y de longitud 13. full


D1.

Entrada en formato PAL y resolucin Tasa de bits de audio de

256

kbps.

No obstante, se remite nuevamente al lector al apndice A, en el que se muestran las capturas de pantalla del navegador web con la conguracin establecida.

3.3.1.2.

Multiplexor

La tarjeta que realiza la multiplexin de las seales, de modelo POL-VEGAMUXC, consiste en un componente

VegaMux

con una nica salida IP. Sus carac-

tersticas tcnicas ms importantes son:

Mltiples MPTS (

Transport Stream ) recibidos por IP.

Multi Program Transport Stream )/SPTS (Single Program

Salida IP con el MPTS generado. Gestin de tablas PSI/SI, ltrado de servicios y remapeado de PID. Multiplexin estadstica a bucle abierto (OLMS).

Manager, instalada en el PC del Laboratorio.

Su conguracin puede realizarse a travs de la herramienta software

PolarPlus

28

Captulo 3. El entorno de trabajo

Figura 3.6: Esquema genrico de la tarjeta

EtherTV Bridge

de

SIDSA

3.3.1.3.

Bridge

EtherTV Bridge,

La tarjeta encargada de convertir la seal a formato ASI es el componente de modelo POL-ETV-BOUT. En la gura 3.6 se muestra un

esquema simple que indica los formatos de entrada y de salida del

bridge.

Las caractersticas tcnicas ms relevantes de este componente son: Transmisin de

Transport Stream

de MPEG-2 sobre IP (UDP/RTP).

Entrada de tasa de bits constante de tipo MPTS/SPTS. Tasa de bits mxima:

213,7

Mbps.

Capacidad de procesamiento de hasta Conector BNC hembra de

50

Mbps.

75 .

Su conguracin se realiza, al igual que la del multiplexor, mediante la herramienta software

PolarPlus Manager

instalada en el PC.

3.3.2. El servidor de aplicacin


El servidor de aplicacin, de la marca

T-mira,

es el equipo responsable del al-

macenamiento, actualizacin y emisin de las aplicaciones interactivas. Adicionalmente, se puede congurar para la emisin de la EPG ( desarrollo del Proyecto. El servidor se alberga en un chasis de

Electronic Program Guide ),

aunque esta caracterstica no ha sido testada, ya que no ha sido necesaria para el

1U. En la gura 3.7 se muestra el aspecto

frontal y trasero de dicho chasis. Dispone de las siguientes caractersticas:

GB de memoria RAM.

Disco duro de

160

GB.

Dos interfaces de red. Microprocesador

Intel Xeon Dual Core DekTec

1,86

GHz con cach de

MB.

Tarjeta moduladora

DTA110-10.

Sistema operativo Linux (distribucin

Fedora Core ).

3.3. Descripcin y conguracin de los equipos

29

Figura 3.7: Vistas frontal y trasera del servidor de aplicacin

De las dos interfaces de red de las que dispone, una de ellas est conectada al equipo de

SIDSA,

pues ha de llegar al multiplexor. La otra se emplea para la

conguracin del servidor, as como para cargar, actualizar y descargar aplicaciones. Este proceso de conguracin y carga de aplicaciones puede realizarse fcilmente a travs de un navegador web. No obstante, a esta segunda interfaz de red se le ha concedido una funcionalidad adicional: la de actuar como servidor intermedio para recibir y responder a las peticiones HTTP enviadas por el

Set-Top-Box . Es decir, se ha congurado el STB

para que dirija sus peticiones a travs del canal de retorno a la direccin IP de esta interfaz de red. Ms adelante se justicar por qu se hace este uso de dicha interfaz, cuando en principio se podra pensar que el STB debera enviar las peticiones a cualquier otro servidor de Internet. Asimismo, esta interfaz de red tambin se utiliza para permitir el acceso a Internet del servidor de aplicacin. Evidentemente, para que esta conguracin funcione, el STB, el servidor de aplicacin, los PC que se utilicen para la programacin y el para tener la direccin

router

con acceso a

Internet deben pertenecer a la misma subred IP. Dicha subred est congurada

192.168.101.0,

con mscara de red

255.255.255.248.

La tarjeta moduladora continuacin:

DekTec
8k

DTA110-10 est congurada como se detalla a

Modo de transmisin:

(hasta

6.817

portadoras).

MHz.

Constelacin:

64-QAM. 474
MHz.

Frecuencia central:

Flag de otra frecuencia desactivado, indicando que no hay otra frecuencia en uso. Tasa del cdigo de proteccin frente a errores para ujo de baja prioridad (LP) de

2/3.

30

Captulo 3. El entorno de trabajo

Tasa del cdigo de proteccin frente a errores para ujo de alta prioridad (HP) de

2/3. 1/4.

Intervalo de guarda de

Modulacin no jerrquica.

3.3.2.1.

Programacin en XML

La particularidad ms relevante del servidor de aplicacin de

T-mira

bilidad de programar las aplicaciones interactivas en el lenguaje XML (

Markup Language ), un metalenguaje de etiquetas desarrollado por el Web Consortium (W3C). XML no es realmente un lenguaje en particular, sino una
que usan XML para su denicin son XHTML, XPL, XSL, XPath, etc. XML naci

Extensible World Wide

es la posi-

manera de denir lenguajes para diferentes necesidades. Algunos de estos lenguajes como un estndar propuesto para el intercambio de informacin estructurada entre diferentes plataformas. El servidor de aplicacin del Laboratorio permite la denicin de aplicaciones interactivas mediante la utilizacin de XML. Esto presenta las siguientes ventajas frente al desarrollo de la aplicacin en Java-MHP:

La programacin resulta mucho ms sencilla. El cdigo fuente de las aplicaciones es ms intuitivo y puede ser entendido por cualquiera con conocimientos de entornos web. La complejidad del cdigo y de su mantenimiento se reduce. Facilidad de integracin con fuentes externas de datos. Permite el desarrollo de aplicaciones multiplataforma (DVB-MHP, GEM, DVB-H, etc.), ya que los XML no incluyen detalles de implementacin de ningn middleware.

Adems, las aplicaciones as desarrolladas son totalmente compatibles con otras aplicaciones en MHP nativas. El servidor tambin permite la programacin de aplicaciones directamente en Java-MHP, ya sea en DVB-J o DVB-HTML. Como inconvenientes, caben destacar los tres siguientes aspectos:

Se requiere que el servidor de aplicacin sea de cin a otra compaa.

T-mira, impidiendo la migra-

Se restringe la funcionalidad de Java-MHP, al tener que ajustarse el cdigo al lenguaje denido por

T-mira.

Se pierde el control sobre las excepciones y errores en tiempo de ejecucin.

3.3. Descripcin y conguracin de los equipos

31

Mediante la tecnologa XML se pueden denir una serie de funcionalidades. La ms importante es el diseo grco y la navegacin en servicios interactivos. Para ello, el decodicador MHP debe recibir no slo los cheros XML con etiquetas especiales sobre la posicin y tamao de los contenedores, el texto a mostrar por pantalla, etc., sino tambin algn medio que le permita interpretar dichos cheros. En eso consiste la aplicacin

tmPlayer

desarrollada por

T-mira :

se trata de una

Xlet, desarrollada en Java-MHP y continuamente en emisin, que acta como capa de abstraccin entre el XML y el middleware.

tmPlayer

permite al decodicador

interpretar en tiempo de ejecucin el cdigo XML que recibe y traducirlo a MHP, de manera similar a como funciona un navegador web, que interpreta cdigo HTML independientemente del sistema operativo donde se est ejecutando. Mediante la emisin de cheros XML, se pueden denir fcilmente elementos grcos como texto y estilos de texto, imgenes, mens de texto o de iconos, formularios, tablas, sonidos, transparencias, . . . Pero la programacin XML no se limita nicamente a la denicin del diseo grco y de la navegacin con el mando a distancia, sino que ofrece otras funcionalidades: Envo de correo electrnico. Carga de plugins. Interfaz con tarjetas inteligentes (

smartcards ).

Gestin de peticiones por el canal de retorno. Es por ello por lo que las peticiones que el STB realiza a travs del canal de retorno son dirigidas al servidor de aplicacin, pues posibilita la adaptacin de los contenidos de una web, base de datos o gestor de contenidos a un formato que el decodicador pueda interpretar. Dadas las ventajas que proporciona la programacin en el lenguaje XML (Extensible Markup Language ) desarrollado por T-mira, este Proyecto ha sido realizado por completo siguiendo este esquema. Por tanto, se requiere la emisin de la Xlet

tmPlayer mira

de manera adicional a todos los cheros desarrollados. En el LAB-TDT

se dispone adems de otra aplicacin, de nombre

Lanzadera

y desarrollada por

T-

en cdigo XML, cuya funcionalidad es la de invocar a una aplicacin u otra a

peticin del usuario nal. Consiste en un nico men en el que se presentan todas las aplicaciones interactivas que estn en emisin, de manera que el usuario pueda seleccionar cul quiere ejecutar. La lista de aplicaciones disponibles puede estar denida en un chero XML o tomarse dinmicamente a partir de la AIT (

Information Table ).

Application

3.3.2.2.

Productos comerciales de T-mira


proporciona una serie de sistemas software para la gestin y emisin de

T-mira

servicios (aplicaciones) a travs de la televisin digital. Todos estos productos se describen brevemente en este apartado.

32

Captulo 3. El entorno de trabajo

tmBroadcast : Es un sistema que permite congurar la red de emisin y


los servicios (canales) de dicha red, congurar las salidas (ASI o IP), editar la EPG, gestionar aplicaciones interactivas, controlar eventos y tareas, modicar los permisos de los usuarios con acceso al servidor, etc. En realidad,

tmBroadcast

se basa en

tmManager, tmCarousel

tmPlayer, todos ellos

productos comerciales.

tmManager : Permite la gestin web del sistema de emisin. tmCarousel : Se encarga de generar la sealizacin DVB. tmPlayer : Es el Xlet descrito anteriormente que posibilita la interpretacin
de cheros XML en el receptor o STB.

tmInteractive : Es un sistema adicional para gestionar las peticiones de las


aplicaciones que utilicen en canal de retorno.

tmLicense : Es el servidor de licencias, que controla la funcionalidad del sistema mostrando u ocultando determinados mdulos en funcin de las licencias adquiridas.

tmDeveloper : Es la versin de laboratorio porttil de los sistemas

cast

tmInteractive.

tmBroad-

Permite la multiplexin de hasta cuatro canales de te-

levisin con audio, vdeo, EPG y aplicaciones interactivas.

Program Guide ).

tmEPG : Es un sistema para la gestin y emisin de la EPG (Electronic

3.3.3. El PC del Laboratorio


El PC instalado en el Laboratorio cumple varias funciones. Por un lado, contiene la tarjeta moduladora

DekTec

DTA-115-SP y el software necesario para congu-

rarla. Por otro, contiene el software de conguracin del equipo de cul es su utilidad.

SIDSA.

En los

siguientes apartados se describe de forma breve qu programas hay instalados y

3.3.3.1.

Conguracin de la tarjeta moduladora

El software instalado en el PC con este propsito es el siguiente:

Stream Xpress : Genera y habilita ujos de transporte (TS) MPEG-2 a travs de la tarjeta DekTec. DtLoop : Conecta tarjeta DekTec.
un ujo de transporte de una entrada a una salida de la

TS Reader Lite : No se trata de un software de conguracin de la tarjeta, pero


se incluye en esta lista dado que se puede emplear para analizar y decodicar ujos de transporte en sistemas MPEG-2.

3.3. Descripcin y conguracin de los equipos

33

La conguracin ms relevante del modulador, tal y como aparece en el programa

DtLoop, est establecida a travs los siguientes parmetros:


Modo de transmisin compatible con DVB-T/H. Ancho de banda de

MHz.

Intervalo de guarda de Frecuencia central de

1/4.
MHz (canal

578

34).

Este es el canal al que debe estar

sintonizado el decodicador. Modo de transmisin:

8k. 2/3.

Tasa del cdigo de proteccin frente a errores: Potencia de salida de Constelacin

38

dBm.

64-QAM.

Ntese que el programa contenidos en el propio PC.

Stream Xpress

permite inyectar nuevo contenido en

el TS de salida. Esto se emplea para la inyeccin de unos vdeos demostrativos

3.3.3.2.

Conguracin del equipo de SIDSA

de

SIDSA

Como ya se ha comentado en el apartado 3.3.1, la conguracin de las tarjetas se lleva a cabo mediante la utilidad

componente

EtherTV Karina, que se realiza mediante un navegador web.

PolarPlus Manager,

excepto la del

3.3.4. Conguracin del mltiplex emitido


El mltiplex emitido por RF, que es el que recibe el decodicador, ha sido apropiadamente congurado para que conste de cuatro servicios (canales), llamados

Prodetur 1, 2, 3

4.

En lo referente al material audiovisual, en los tres primeros se emite el contenido inyectado por el PC, que no contiene audio, mientras que en el ltimo se emite el contenido generado en el reproductor DVD. En lo referente a las aplicaciones interactivas, los canales canales

Prodetur 1

se

emplean para la emisin de aplicaciones programadas en XML, mientras que los

Prodetur 3

se reservan para aplicaciones Java-MHP y, por tanto, no

han sido utilizados en el desarrollo del presente Proyecto. En particular, la aplicacin desarrollada se ha congurado para que sea emitida nicamente por el canal

Prodetur 2.

34

Captulo 3. El entorno de trabajo

3.4. Conexionado fsico de los equipos


Teniendo en cuenta todos los aspectos detallados en las secciones 3.2 y 3.3, el diagrama de bloques propuesto en la gura 3.2 puede completarse para comprender algunos aspectos adicionales, ms prximos a la realidad fsica del sistema instalado en el Laboratorio. En la gura 3.8 se muestra otro diagrama, en el que se han incluido las conexiones Ethernet necesarias para la conguracin de los equipos, canal de retorno y acceso a Internet. Adicionalmente, se han agrupado el codicador, multiplexor y

bridge

en un nico componente.

Figura 3.8: Diagrama de bloques fsico de los equipos del LAB-TDT

Como se puede observar, se precisa de un switch que permita interconectar la tarjeta de red del servidor de aplicacin con el resto de componentes: con el STB para poder recibir y responder a las peticiones por el canal de retorno; con el router para disponer de acceso a Internet y poder atender dichas peticiones; y con un segundo PC para poder cargar las aplicaciones programadas y congurar el propio servidor.

3.5. Puesta en funcionamiento


Durante el desarrollo del Proyecto, se fueron encontrado una serie de dicultades tcnicas relacionadas con el correcto funcionamiento del LAB-TDT a las que hubo que dar solucin a pesar de que estas tareas quedaban fuera del alcance del Proyecto.

3.5. Puesta en funcionamiento

35

En una fase inicial, a principios de abril de

2010,

el Laboratorio an no estaba

operativo. No se dispona de ningn tipo de documentacin sobre el conexionado ni la conguracin de los equipos. Adems, muchas de las conexiones entre equipos no haban sido fsicamente realizadas. A mediados de abril, se recibi la documentacin sobre los equipos de y de

SIDSA,

T-mira

as como las claves para poder acceder al servidor de aplicacin.

Respecto de la documentacin recibida sobre el equipo de

T-mira,

sta se centra

principalmente en el diseo de interfaces grcas en lenguaje XML. Sobre esa misma fecha, se pudo comprobar el correcto funcionamiento de dos aplicaciones de ejemplo denidas en XML e instaladas en el servidor, llamadas

Prodetur
19

Turismo. Ambas se emitan en el canal Prodetur 1.

A principios de mayo, se detect un nuevo error: ninguna aplicacin, ni siquiera las de ejemplo, poda visualizarse en el televisor. El problema no se solucion hasta el de mayo, cuando pudo comprobarse que el error se deba a una incorrecta ejecucin del programa

DTLoop

instalado en el PC. El programa requiere tener

privilegios de administrador, por lo que para ejecutarlo es preciso pulsar con el botn secundario del ratn sobre el icono correspondiente y seleccionar despus la opcin Ejecutar como. Los canales

Prodetur 2, 3

se podan visualizar correctamente en el televisor,

pero an no se haba probado a emitir ninguna aplicacin interactiva en ellos.

detur 2,

Pocos das despus, se realiz la prueba de cargar aplicaciones en el canal

Pro-

y aunque todos los parmetros de conguracin parecan estar correctos,

las aplicaciones no se podan ejecutar en el televisor. El problema no se pudo solucionar hasta el

de junio. Para ello, se hizo necesario modicar un chero de

conguracin del programa Desde el

PolarPlus Manager.

de junio, se dispona de una nueva aplicacin de ejemplo instalada

en el servidor de aplicacin, llamada

PYME Sevilla.

Dicha aplicacin funcionaba

correctamente, exceptuando todo lo relacionado con el canal de retorno (que tampoco funcionaba en el resto de aplicaciones de ejemplo) y con el teclado virtual. Al intentar ejecutar alguna de estas dos funciones, la aplicacin se quedaba bloqueada. El

15

de junio, tras el contacto telefnico con el personal de

T-mira,

se pudo

conseguir que el canal de retorno funcionara adecuadamente. La causa del problema era una direccin IP que estaba mal congurada en el cdigo de las aplicaciones proporcionadas por El

T-mira.

29

de junio, tras haber realizado una nueva consulta al personal de

T-mira,

se recibe un breve e incompleto manual sobre la programacin mediante cheros XPL ( por

XML Pipeline Language ) y XSL (Extensible Stylesheet Language ) denida T-mira. Este tipo de cheros son necesarios tanto para gestionar las peticiones
20

a travs del canal de retorno como para actualizar los contenidos de las aplicaciones en el propio servidor. El de julio se envi al personal de

T-mira

una lista de consultas tcnicas, no

recogidas en la documentacin recibida (puede consultarse dicha lista en el apartado 4.4.4). Estas cuestiones nunca fueron atendidas. Unos das despus, tras una conexin remota al servidor de aplicacin por parte

36

Captulo 3. El entorno de trabajo

de la propia empresa, comenz a funcionar el teclado virtual.

Captulo 4

Programacin y desarrollo de la aplicacin


Si compila est bien, si arranca es perfecto. Linus Torvalds
A lo largo de este captulo se pretende ofrecer una visin detallada de la aplicacin interactiva objeto del Proyecto. En primer lugar, se comenzar describiendo de forma global la funcionalidad de la misma, acompaando el texto de algunas capturas de pantalla del televisor. A continuacin se profundizar en los aspectos tcnicos, haciendo especial nfasis en el modelo de programacin en XML soportado por el servidor de aplicacin, concepto ya introducido en el captulo anterior. Tambin se describirn los directorios y cheros de los que consta la aplicacin. Por ltimo, se detallar cmo funcionan los servicios desarrollados, as como los requisitos que deben cumplirse para garantizar una correcta ejecucin. No obstante, en ningn momento se persigue realizar una revisin del cdigo desarrollado, pues el lector interesado puede encontrarlo en el apndice correspondiente.
Resumen:

4.1. La interfaz de usuario


Resulta conveniente describir la interfaz de usuario que permite la navegacin por los distintos servicios que componen la aplicacin, ya que el nico elemento de entrada consiste en un mando a distancia, en lugar de un ratn o un teclado. Ntese que a lo largo de este captulo se emplea recurrentemente el trmino servicio aludiendo a cada funcionalidad de la aplicacin que el usuario es capaz de percibir, denicin completamente desvinculada de aquella utilizada en el estndar DVB. En la gura 4.1 se puede observar cules son los botones especcos para las aplicaciones interactivas de los que dispone un mando a distancia de un decodicador MHP: 37

38

Captulo 4. Programacin y desarrollo de la aplicacin

Figura 4.1: Mando a distancia del STB del Laboratorio

Flechas de navegacin (arriba, abajo, derecha e izquierda): Su utilidad es la de desplazarse por los mens para seleccionar distintos elementos. Botn OK: Permite ejecutar la accin asociada al elemento seleccionado. Botones alfanumricos: Pueden emplearse para escribir en los formularios habilitados para tal efecto, de manera similar al procedimiento de escritura de un mensaje de texto en un telfono mvil. Botn rojo: Su funcin es la de entrar en la aplicacin, o bien salir de ella y volver a la TV. Botn amarillo: Puede pulsarse en cualquier momento para mostrar la pantalla de ayuda. Botn verde: Su utilidad es la de mostrar la pantalla anterior de la aplicacin. Si se est en la pantalla inicial, vuelve a la TV. Si est seleccionado un formulario habilitado para escribir, entonces este botn permite borrar el ltimo carcter introducido. Botn azul: La funcionalidad de este botn queda reservada para cada aplicacin especca. En el caso de la presente, se puede utilizar para mostrar un teclado virtual cuando est seleccionado un formulario habilitado para escribir. Con el n de recordar toda esta informacin, en todo momento se mantendrn visibles unas imgenes de ayuda, las cuales se han destacado en un rectngulo rojo en la gura 4.2, correspondiente al men principal de la aplicacin. Es importante destacar el hecho de que las funciones de los botones del mando a distancia descritas estn implementadas gracias a la Xlet

tmPlayer

introducida

en el captulo anterior, por lo que no es necesario programar su funcionalidad.

4.2. Descripcin funcional de la aplicacin

39

Figura 4.2: Men principal de la aplicacin, destacando en rojo las imgenes de ayuda a la navegacin

4.2. Descripcin funcional de la aplicacin


4.2.1. Men principal
2
Una vez escogido, a travs del mando a distancia, el canal (servicio)

Prodetur

del mltiplex, se inicia automticamente una aplicacin lanzadera cuya funcin

es la de mostrar y permitir la eleccin de cualquier otra aplicacin que hubiera disponible en dicho canal. Pulsando el botn rojo del mando a distancia se muestra la lista de aplicaciones disponibles, tras lo cual se puede seleccionar la que se desee y ejecutarla presionando el botn OK. Una vez lanzada la aplicacin, aparece una pantalla como la que se muestra en la gura 4.2. Dicha pantalla constituye el men principal de la aplicacin, y da acceso al resto de servicios (funcionalidades) de la misma. Adems del men, en la pantalla aparece tambin un mensaje de bienvenida. Ntese que en el recuadro de la derecha aparece una breve descripcin del elemento seleccionado del men, de manera que facilite la navegacin al usuario nal. Asimismo, resulta interesante destacar la presencia de la TV en la esquina superior izquierda de la pantalla. Se ha considerado oportuno mantener el vdeo visible en todo momento, para as garantizar una mayor comodidad y aceptacin por parte de los usuarios.

40

Captulo 4. Programacin y desarrollo de la aplicacin

4.2.2. Pantalla de ayuda de la aplicacin


En cualquier momento una vez ejecutada la aplicacin puede presionare el botn amarillo del mando a distancia, correspondiente a la ayuda. De ser as, se mostrara la pantalla de la gura 4.3. Pulsndolo una segunda vez se volvera a la pantalla inmediatamente anterior. De esta manera, el usuario dispone en todo momento de informacin suciente para el correcto uso de la aplicacin.

Figura 4.3: Pantalla de ayuda de la aplicacin

4.2.3. Servicios implementados


El men principal de la aplicacin (gura 4.2) posibilita el acceso a los distintos servicios desarrollados. En esta seccin se listan dichos servicios, indicando la funcionalidad de cada uno de ellos y acompaando el texto de capturas de pantalla.

4.2.3.1.

Gua para la bsqueda de empleo

En la pgina web del SAE (Servicio Andaluz de Empleo), la gua para la bsqueda de empleo est compuesta por una serie de pginas a las que se puede acceder a travs de la URL [4]. Consiste en una serie de consejos tiles sobre los pasos a seguir para buscar un empleo, desde cmo redactar el Currculum Vitae hasta cmo prepararse para una entrevista de trabajo. Toda esta informacin ha sido convenientemente estructurada en una serie de mens para poder acceder a ella a travs de la TV. A modo de

4.2. Descripcin funcional de la aplicacin

41

comparativa, en las guras 4.4 y 4.5 se puede observar el men principal de dicho servicio cuando se accede a la pgina web correspondiente mediante un navegador web y cuando se accede a travs de la aplicacin interactiva, respectivamente. Cada uno de los elementos de dicho men da acceso a un submen en el que se puede escoger la informacin que se desee consultar.

Figura 4.4: Men principal del servicio Gua para la bsqueda de empleo en un navegador web

Figura 4.5: Men principal del servicio Gua para la bsqueda de empleo de la aplicacin

42

Captulo 4. Programacin y desarrollo de la aplicacin

Al elegir un determinado elemento, se muestra el texto de informacin, el cual dispone de un scroll vertical para poder leerlo completamente, como se puede ver en las guras 4.6 y 4.7.

Figura 4.6: Un apartado del servicio Gua para la bsqueda de empleo en un navegador web

Figura 4.7: Un apartado del servicio Gua para la bsqueda de empleo de la aplicacin

4.2. Descripcin funcional de la aplicacin

43

En el caso de que en el mencionado apartado hubiera tablas o enlaces a imgenes de inters, dichas imgenes o tablas tambin estn disponibles en la aplicacin desarrollada gracias a un men de navegacin horizontal. En la gura 4.8 puede observarse un ejemplo concreto para el caso de una imagen.

Figura 4.8: Una imagen dentro del servicio Gua para la bsqueda de empleo de la aplicacin

Acerca de este servicio, cabe destacar que la informacin no se recupera a travs del canal de retorno, sino que se ha optado por que se emita continuamente por RF. Los motivos principales que justican dicha eleccin son los siguientes: El contenido de la web no se actualiza de forma continua, como es el caso de otros servicios (por ejemplo, las ofertas de empleo), sino que se puede suponer que no vara con el tiempo. No obstante, dado que el servidor de aplicacin permite la posibilidad de actualizar la aplicacin de forma peridica y programable, se ha decidido aprovechar esta funcionalidad para desarrollar el servicio de manera que recupere los contenidos de la pgina web con cada actualizacin. De esta manera, si se produjera algn cambio en el texto o en las imgenes de informacin de la pgina web, tras la actualizacin programada del servidor la aplicacin interactiva volvera a reejar estos cambios. Puesto que se desconoce si el

Set-Top-Box

puede solicitar y recibir imgenes

por el canal de retorno (vase el apartado 4.4.4), estas debern recibirse siempre por RF. As, si se decidiera implementar este servicio haciendo uso del canal de retorno, la nica ventaja respecto a la conguracin elegida radicara

44

Captulo 4. Programacin y desarrollo de la aplicacin

en que no se hara necesario emitir el texto por RF. Dado que los cheros de texto XML son mucho ms ligeros que las imgenes, la ventaja no sera tan apreciable.

El contenido es idntico para todos los usuarios, a diferencia de lo que ocurre en otros servicios, como por ejemplo en aquellos que incorporan buscadores.

Al evitar tener que realizar peticiones a travs del canal de retorno, el acceso a los contenidos es ms rpido.

4.2.3.2.

Anuncios de empleo

Este servicio permite buscar ofertas de empleo en la web. Mediante un formulario el usuario puede elegir sus preferencias sobre el empleo buscado. A continuacin, esta informacin se enva a travs del canal de retorno para posteriormente recibir los resultados de la bsqueda. Este servicio en realidad est formado por la unin de otros dos, accesibles a travs del men que se puede ver en la gura 4.9. El primero de ellos es un buscador de ofertas de empleo general, mientras que el segundo es un buscador de ofertas de empleo pblico. El buscador de ofertas general es el nico servicio que no rescata la informacin de la pgina web del SAE, sino que lo hace de la fuente [15]. El motivo de dicha eleccin es que la bsqueda de empleo en la web del SAE hace uso del protocolo SSL. Es decir, tanto la informacin de las peticiones HTTP como de las respuestas se cifra antes de ser enviada. En principio, esto no debera suponer ningn problema, dado que el servidor de aplicacin de

T-mira

soporta comunicaciones seguras. No

obstante, durante el desarrollo de la aplicacin se ha podido comprobar que se produce un error al enviar los mensajes HTTP de tipo POST, as como al obtener la cookie de sesin, cuando la comunicacin es cifrada (vase el apartado 4.4.4). Por este motivo se opt por descartar la bsqueda de ofertas de empleo en la web del SAE y se realiz en la fuente alternativa. El funcionamiento de este servicio es sencillo. En primer lugar, se seleccionan las preferencias de bsqueda en un formulario. En las guras 4.10 y 4.11 se muestra dicho formulario tal y como aparece en un navegador web y en la aplicacin para la TV interactiva, respectivamente. Ntese que en uno de los campos del formulario es posible introducir texto con el mando a distancia. Como se ha comentado anteriormente, esto se puede hacer con el teclado alfanumrico o mediante el teclado virtual, accesible al pulsar el botn azul. En la gura 4.12 se muestra el teclado virtual de la aplicacin. Tras el envo de los parmetros de bsqueda, se obtiene un listado con las ofertas de empleo encontradas. El usuario puede interactuar con dicho listado, como si de un men se tratase, con las echas arriba/abajo del mando a distancia. En las guras 4.13 y 4.14 se muestra un ejemplo de dicho listado, para una determinada bsqueda, cuando aparece en un navegador web y en la TV, respectivamente.

4.2. Descripcin funcional de la aplicacin

45

Figura 4.9: Men del servicio Anuncios de empleo de la aplicacin

Figura 4.10: Formulario del servicio Bsqueda de ofertas de empleo en un navegador web

46

Captulo 4. Programacin y desarrollo de la aplicacin

Figura 4.11: Formulario del servicio Bsqueda de ofertas de empleo de la aplicacin

Figura 4.12: Teclado virtual de la aplicacin

4.2. Descripcin funcional de la aplicacin

47

Figura 4.13: Listado de ofertas del servicio Bsqueda de ofertas de empleo en un navegador web

Figura 4.14: Listado de ofertas del servicio Bsqueda de ofertas de empleo de la aplicacin

Tras elegir una oferta en particular y pulsar el botn OK del mando a distancia, se muestran los detalles de la misma. Un ejemplo del aspecto de esta pantalla

48

Captulo 4. Programacin y desarrollo de la aplicacin

puede verse en las guras 4.15 y 4.16.

Figura 4.15: Detalles de una oferta del servicio Bsqueda de ofertas de empleo en un navegador web

Figura 4.16: Detalles de una oferta del servicio Bsqueda de ofertas de empleo de la aplicacin

4.2. Descripcin funcional de la aplicacin

49

El segundo de los servicios integrados dentro del men Anuncios de empleo consiste en la bsqueda de ofertas de empleo pblico. En este caso, los resultados de la bsqueda s se obtienen a travs de la pgina web del SAE. En particular, estn disponibles en la URL [7].

Figura 4.17: Formulario del servicio Ofertas de empleo pblico en un navegador web

Figura 4.18: Formulario del servicio Ofertas de empleo pblico de la aplicacin

El funcionamiento de este segundo servicio es idntico al anterior: en primer

50

Captulo 4. Programacin y desarrollo de la aplicacin

lugar, existe un formulario que permite elegir los parmetros de la bsqueda, como muestran las guras 4.17 y 4.18.

Figura 4.19: Listado de ofertas del servicio Ofertas de empleo pblico en un navegador web

Figura 4.20: Listado de ofertas del servicio Ofertas de empleo pblico de la aplicacin

4.2. Descripcin funcional de la aplicacin

51

Tras realizar la bsqueda, se obtienen unos resultados similares a los mostrados en las guras 4.19 y 4.20. Al igual que antes, es posible obtener ms informacin sobre una oferta de trabajo determinada. Vanse como ejemplo las guras 4.21 y 4.22.

Figura 4.21: Detalles de una ofertas del servicio Ofertas de empleo pblico en un navegador web

Figura 4.22: Detalles de una ofertas del servicio Ofertas de empleo pblico de la aplicacin

52

Captulo 4. Programacin y desarrollo de la aplicacin

Figura 4.23: Formulario del servicio Empresas andaluzas de la aplicacin

4.2.3.3.

Empresas andaluzas que ofrecen empleo

Este servicio permite obtener informacin sobre diferentes empresas andaluzas, as como sobre sus datos de contacto. La URL a la cual se accede para recuperar dicha informacin es la indicada en [5]. El esquema de funcionamiento es muy similar al ya explicado para los servicios del apartado 4.2.3.2. En primer lugar, se ha desarrollado un formulario para poder elegir los parmetros de la bsqueda, cuyo aspecto se muestra en la gura 4.23. En las guras 4.24 y 4.25 se muestran los resultados de una bsqueda en un navegador web y en la TV, respectivamente. Al seleccionar una empresa en particular y pulsar el botn OK del mando a distancia, se obtiene como resultado ms detalles de la empresa seleccionada. Puede observarse el formato de esta informacin en las guras 4.26 y 4.27. Ntese que en la pantalla de la gura 4.27 se ha habilitado nuevamente un scroll vertical para poder leer correctamente todo el texto.

4.2.3.4.

Formacin para el empleo

Este servicio permite buscar informacin sobre los cursos de formacin para el empleo ofertados en Andaluca. Una vez ms, se ha optado por acudir a la pgina web del SAE para obtener los resultados de las bsquedas. La URL a la que se accede es la que se indica en [6].

4.2. Descripcin funcional de la aplicacin

53

Figura 4.24: Listado de empresas del servicio Empresas andaluzas en el navegador web

Figura 4.25: Listado de empresas del servicio Empresas andaluzas de la aplicacin

Tras seleccionar este servicio en el men principal, aparece un men como el mostrado en la gura 4.28 para elegir el tipo de curso. Esto es necesario, ya que las URLs subsiguientes a las que se accede para obtener informacin dependen de la opcin elegida en este men. Tras ese primer paso, aparece un segundo men con

54

Captulo 4. Programacin y desarrollo de la aplicacin

un mapa (vanse las guras 4.29 y 4.30) para seleccionar la provincia de inters.

Figura 4.26: Detalles de una empresa del servicio Empresas andaluzas en el navegador web

Figura 4.27: Detalles de una empresa del servicio Empresas andaluzas de la aplicacin

4.2. Descripcin funcional de la aplicacin

55

Figura 4.28: Men principal del servicio Formacin para el empleo de la aplicacin

Figura 4.29: Mapa del servicio Formacin para el empleo en el navegador web

56

Captulo 4. Programacin y desarrollo de la aplicacin

Figura 4.30: Mapa del servicio Formacin para el empleo de la aplicacin

Figura 4.31: Formulario del servicio Formacin para el empleo de la aplicacin

4.2. Descripcin funcional de la aplicacin

57

Tras elegir la provincia de inters, la aplicacin da acceso a un formulario similar al que aparece en el apartado bsqueda avanzada de la web del SAE. De dicho formulario, slo se han habilitado las opciones ms relevantes para la aplicacin, dado que se ha considerado que mantener todas las opciones podra provocar un mayor rechazo por parte de los usuarios hacia la aplicacin, pues el hecho de tener que pulsar ms botones hace el procedimiento mucho ms tedioso. El aspecto del citado formulario puede observarse en la gura 4.31. Los resultados de una bsqueda como la de la gura 4.31 pueden verse en las guras 4.32 y 4.33, segn se acceda a travs de un navegador web o de la TV, respectivamente. En la gura 4.33 puede comprobarse que, adems del men vertical para seleccionar los distintos cursos, existe un men horizontal que posibilita la paginacin. Este men tambin est disponible en la mayora de los servicios anteriores. Tras elegir un curso, la aplicacin lleva a una pantalla como la que se muestra en la gura 4.35, en la que se ampla la informacin del curso elegido. Se muestra en la gura 4.34 la informacin que se obtiene cuando se accede al mismo mediante un navegador web.

4.2.3.5.

Directorio del SAE

Este sercicio se ha programado con el n de permitir obtener informacin sobre los datos de contacto de las diferentes ocinas del Servicio Andaluz de Empleo existentes en cada ciudad. Como en la mayora de los servicios desarrollados, la informacin se recupera bajo demanda a travs del canal de retorno, accediendo a la URL [8]. Tras elegir el servicio del directorio en el men principal, se accede a otro men, mostrado en la gura 4.36, para elegir el tipo de ocina que se desea consultar. A continuacin se muestra un nuevo men, que puede ser similar al primero en caso de que se haya elegido la opcin servicios generales, o bien un mapa en caso de que se haya elegido cualquiera de los otros dos. Este segundo caso es el que se muestra en la gura 4.37.

Figura 4.32: Listado de cursos del servicio Formacin para el empleo en un navegador web

58

Captulo 4. Programacin y desarrollo de la aplicacin

Figura 4.33: Listado de cursos del servicio Formacin para el empleo de la aplicacin

Figura 4.34: Detalles de un curso del servicio Formacin para el empleo en un navegador web

4.2. Descripcin funcional de la aplicacin

59

Figura 4.35: Detalles de un curso del servicio Formacin para el empleo de la aplicacin

Figura 4.36: Men del servicio Directorio del SAE de la aplicacin

60

Captulo 4. Programacin y desarrollo de la aplicacin

Figura 4.37: Mapa del servicio Directorio del SAE de la aplicacin

Figura 4.38: Detalles de una ocina del servicio Directorio del SAE en un navegador web

4.2. Descripcin funcional de la aplicacin

61

Figura 4.39: Detalles de una ocina del servicio Directorio del SAE de la aplicacin

Tras los dos mens iniciales, la aplicacin muestra los detalles de las ocinas seleccionadas. En caso de haber ms de una que cumpla con los criterios de bsqueda, se presentar adicionalmente un men horizontal de paginacin. En las guras 4.38 y 4.39 se muestran dichos detalles cuando se accede a la web del SAE mediante un navegador web o cuando se accede mediante la TV, respectivamente.

4.2.3.6.

Pgina web del SAE

Este servicio se ha implementado nicamente con la intencin de referir, dentro de la aplicacin, la pgina web de donde se obtiene la mayor parte de la informacin accesible a travs de la aplicacin. Se emite en su totalidad a travs del canal de difusin desde el servidor de aplicacin, dado que el propio contenido del mismo lo hacen apropiado para ello: se trata de un chero XML de poco tamao que contiene un texto relativamente esttico, es decir, que no sufrir actualizaciones. En la gura 4.40 se representa la nica pgina que compone este servicio. Si en una posible futura ampliacin o modicacin de la aplicacin se deseara incluir ms informacin o cambiar el contenido de la misma, resultara inmediato realizar las modicaciones pertinentes en el cdigo.

62

Captulo 4. Programacin y desarrollo de la aplicacin

Figura 4.40: Pantalla del servicio Pgina web del SAE de la aplicacin

4.3. Grados de interactividad con el usuario


En toda aplicacin interactiva desarrollada sobre una plataforma MHP existen distintos grados de interaccin con el usuario, en funcin de la utilizacin del canal de retorno. Estos grados de interaccin se asemejan en cierto modo a los perles de MHP, descritos en el captulo 2. Evidentemente, la aplicacin desarrollada se enmarca dentro del perl de acceso a Internet ( lector ya habr podido percibir. No obstante, en la presente seccin no se pretende profundizar nuevamente en los perles denidos en MHP, sino que se persigue hacer una clasicacin de los servicios del apartado 4.2.3 en funcin de dicho grado de interaccin con el usuario o, ms concretamente, en funcin de los requerimientos de acceso a Internet. As, en el caso de la aplicacin desarrollada, pueden distinguirse los siguientes tres casos: El servicio hace uso del canal de retorno: nicamente se emiten a travs del canal de difusin aquellos elementos bsicos para el correcto funcionamiento del servicio, pero no se emite el contenido de los mismos. En su lugar, el STB debe solicitar dicho contenido a travs del canal de retorno y a peticin del usuario. Pertenecen a este conjunto los servicios que requieren la realizacin de bsquedas en Internet: anuncios de empleo, empresas andaluzas, formacin para el empleo y directorio del SAE. El servicio no hace uso del canal de retorno ni requiere de acceso a Internet:

Interactive Broadcast ),

como el

4.4. Modelo de programacin en XML/XSL/XPL

63

El contenido se emite enteramente por RF y el usuario puede interactuar con l, pero el STB no enva informacin de ningn tipo a travs del canal de retorno. Dentro de este caso nicamente se encuentra el servicio de pgina web del SAE. El servicio no hace uso del canal de retorno, pero s requiere de acceso a Internet: En realidad, este grupo de servicios se asemeja bastante al anterior en cuanto al comportamiento del STB. La diferencia radica en que el servidor de aplicacin, cada cierto tiempo (programable) accede a Internet para recuperar el contenido del servicio y actualiza el ujo de datos emitido. De esta manera, si en la pgina web de la cual se recuperan los contenidos se hubiera producido alguna actualizacin, la aplicacin interactiva reejara dicha actualizacin. El servicio gua para la bsqueda de empleo ha sido desarrollado siguiendo este modelo. En la tabla 4.1 se resume a qu grupo pertenece cada uno de los servicios desarrollados.

Tabla 4.1: Grado de interaccin de cada servicio con el usuario Servicio Gua para la bsqueda de empleo Anuncios de empleo Empresas andaluzas Formacin para el empleo Directorio del SAE Pgina web del SAE Canal de retorno No S S S S No Acceso a Internet S S S S S No

4.4. Modelo de programacin en XML/XSL/XPL


En el apartado 3.3.2.1 se expuso la idea de la posibilidad de programacin en lenguaje XML ofrecida por el servidor de aplicacin gracias a la Xlet

tmPlayer.

Dicha funcionalidad ha sido aprovechada en el desarrollo de la aplicacin, por lo que el resultado consiste en una serie de cheros XML, los cuales se detallarn ms adelante. En esta seccin se pretende exponer una serie de conceptos bsicos sobre cul es la utilidad de dichos cheros y qu se puede conseguir con ellos, incluyendo una explicacin de cmo se realiza la gestin de las peticiones por el canal de retorno y el acceso a Internet.

4.4.1. Interfaz grca y navegacin


La tecnologa de

tmPlayer

permite la interpretacin de los cheros XML por

parte de un decodicador MHP. De esta manera se posibilita la implementacin de

64

Captulo 4. Programacin y desarrollo de la aplicacin

aplicaciones sin necesidad de utilizar Java ni MHP. La navegacin por los mens, as como la funcionalidad de los botones del mando a distancia, es gestionada automticamente por la aplicacin

tmPlayer.

As,

por ejemplo, no es necesario denir durante la programacin las acciones que tienen lugar cuando se pulsan las echas del mando a distancia: automticamente se seleccionar el elemento correspondiente del men que est presente en pantalla. Tampoco es necesario programar la solicitud y liberacin de recursos caros, pues la aplicacin La

tmPlayer ya realiza tales funciones. Xlet tmPlayer espera encontrar cheros

XML que sigan un determinado

formato y contengan unos determinados elementos, todos ellos denidos por

mira.

T-

Como todo chero XML, los archivos de la aplicacin deben contener nodos

y atributos. En este apartado se tratarn los aspectos relacionados con los cheros que denen interfaces grcas.

4.4.1.1.

Pginas y contenedores

La interfaz grca de la aplicacin completa consta de un conjunto de cheros, tambin llamados pginas en ocasiones. Este tipo de cheros debe contener un nico nodo raz, con etiqueta

background.

<page>

y opcionalmente con un atributo llamado

Si se utiliza dicho atributo, debe tomar el valor de la ruta de un

chero en formato MPEG-1 con un solo cuadro, o bien de un color de fondo. La pgina, al aparecer en la TV, adoptar el fondo denido por este atributo. El nodo

<page>

puede contener un nico nodo hijo con etiqueta

nmero arbitrario de nodos hijos con etiqueta El primero de ellos,

<help>,

<container>. help.xml

<help>,

y un

debe contener un nodo de texto con el nombre (utilizado para generar la

del contenedor que se encuentra en el chero

pgina de ayuda). Dicho contenedor es el que se mostrar en pantalla cada vez que el usuario pulse el botn amarillo del mando a distancia. La aplicacin desarrollada contiene la siguiente lnea dentro de cada nodo pgina:

<help>c_help</help>

Por su parte, los nodos contenedores (<container>) sirven para estructurar la informacin dentro de una pgina. Todos los nodos utilizados para generar mens, formularios, texto, imgenes, etc., deben ser hijos de un nodo contenedor. Cada uno de los contenedores tiene una posicin y tamao asignados y puede contener cualquier nmero de nodos hijos (objetos) de distintos tipos o incluso iguales entres s. En la tabla 4.2 se resumen los atributos o propiedades de un nodo contenedor. As, por ejemplo, un nodo contenedor vlido podra declararse de la siguiente forma:

<container id="c_mp_botones" vis="1" alpha="0" posx="45" posy="350" sizex="366" sizey="158">


A modo de curiosidad, y sin entrar en ms detalles, esta ltima lnea es la empleada en el chero

index.xml

para denir el contenedor que alberga el men

de la pgina principal (vase la gura 4.2). Todos los cheros que contengan una pgina (<page>) deben aparecer enumerados en el chero

service.xml.

En l se listan todas las pginas XML de la

4.4. Modelo de programacin en XML/XSL/XPL

65

Tabla 4.2: Atributos XML de un nodo contenedor Atributo Descripcin Identicador empleado para hacer referencia al contenedor en otra parte del cdigo Visibilidad inicial (0: no visible;

id vis posx,posy

1:

visible)

Posicin absoluta en la pantalla. Se considera que el tamao de pantalla para el formato PAL es la TV

720 576

y el

origen de coordenadas es la esquina superior izquierda de

sizex,sizey alpha

Tamao del contenedor, medido en pxeles Nivel de transparencia, de

(sin transparencia) a

255

(completamente transparente)

aplicacin en el carrusel, y su utilidad es la de asociar el nombre de cada chero con un identicador,

id_page. Si no se incluye la declaracin de una pgina en este

chero, resultar imposible para la aplicacin

tmPlayer

encontrar el chero XML

correspondiente, por lo que dicha pgina nunca podra ser mostrada.

service.xml es sencillo. La etiqueta del nodo raz ha de <service>, y debe especicarse en un atributo llamado id un identicador del servicio, id_service. En el caso de la aplicacin desarrollada, el nodo raz tiene
El formato del chero llamarse la siguiente forma:

<service id="SAE"> El nodo <service> puede contener tantos nodos hijos con etiqueta <page> como se desee, cada uno de ellos con los atributos id (identicador de la pgina), path (ruta del chero a partir del directorio de emisin) y page (nombre del chero). Es
decir, el formato es como el que sigue:

<page id="id_page" path="file_path" page="file_name.xml"/>


Por ltimo, si se desea mantener la TV siempre visible en la aplicacin, ha

<tv>, tambin hijo del nodo <service>. El <tv> contiene cuatro atributos que permiten especicar la posicin y tamao deseados para la capa de vdeo, a saber: posx, posy, sizex, sizey. Al especicar
de especicarse un nodo con etiqueta nodo el valor de estos cuatro atributos, se considera que el tamao de pantalla para el formato PAL es

720 576

y que el origen de coordenadas es la esquina superior

izquierda de la pantalla.

4.4.1.2.

Objetos

yer,

Los objetos, en la terminologa de los cheros XML que espera recibir el

tmPla-

son los elementos nales que se pueden visualizar en pantalla. As pues, una

imagen, un men o una tabla son ejemplos de objetos. Como ya se ha comentado anteriormente, todos los nodos objetos han de ser hijos de un nodo contenedor. Los objetos empleados en el desarrollo de la aplicacin se listan a continuacin:

66

Captulo 4. Programacin y desarrollo de la aplicacin

Objeto texto: Con etiqueta

<text>, permite mostrar un texto por pantalla.

El texto mostrado debe especicarse como nodo de texto hijo del objeto. En la tabla 4.3 se muestran los atributos del objeto texto.

Objeto imagen: Con etiqueta

<image>, <menu>,

permite mostrar una imagen en la

pgina. En la tabla 4.4 se muestran los atributos del objeto imagen.

Objeto men: Con etiqueta

su funcin es la de crear un men

navegable. Este puede ser vertical, horizontal o matricial, y sus elementos pueden venir denidos con imgenes y/o texto. En la tabla 4.5 se muestran los atributos del objeto men. Un objeto men debe contener tantos nodos con etiqueta la tabla 4.6

<menuitem> como elementos se deseen visualizar en el men. En se muestran los atributos que debe tener cada nodo <menuitem>. <action>)

A su vez, si se desea especicar la accin que tendr lugar cuando el usuario presione un botn del mando a distancia sobre un determinado elemento del men, se ha de denir un nodo hijo (con etiqueta elemento. Los atributos de cada nodo para cada

<action>

se muestran en la tabla 4.7.

Objeto tabla: Con etiqueta


HTML: mediante los nodos bien

<table>,

se emplea para denir una tabla. El

contenido de la tabla se puede especicar de modo similar al denido en

<tr> para cada la y <td> para cada columna, o <th> en el caso de tratarse de las columnas de la cabecera. Los atributos

de este objeto se muestan en la tabla 4.9.

Tabla 4.3: Atributos XML de un objeto texto Atributo Descripcin Posicin relativa dentro del contenedor en el que se encuentra Tamao del objeto Indica si se desea barra de desplazamiento o no (1: S; No)

posx,posy sizex,sizey scroll style

0:

Identicador del estilo del texto, denido en el chero

styles.xml

Tabla 4.4: Atributos XML de un objeto imagen Atributo Descripcin Posicin relativa dentro del contenedor en el que se encuentra Ruta relativa de la imagen desde el chero de emisin.

posx,posy path

4.4. Modelo de programacin en XML/XSL/XPL

67

Tabla 4.5: Atributos XML de un objeto men Atributo Descripcin Indica el tipo de men (puede tomar los valores

type posx,posy sizex,sizey nrows itemx,itemy sepx,sepy style

horizontal
cuentra

vertical)

matrix,

Posicin relativa dentro del contenedor en el que se enTamao del objeto Nmero de las (requerido slo con mens matriciales) Tamao de cada uno de los elementos del men Separacin entre los elementos del men Identicador del estilo del men, denido en el chero

styles.xml

Tabla 4.6: Atributos XML de un elemento de men Atributo Descripcin Texto del elemento Ruta de la imagen del elemento Ruta de la imagen del elemento, cuando este se encuentra seleccionado Acciones que tienen lugar cuando el elemento est seleccionado (ver tabla 4.8), separadas por comas

str img imgfocus onover

Tabla 4.7: Atributos XML de un nodo de accin Atributo Descripcin Tecla del mando a distancia que desencadenar la accin (normalmente OK) Acciones que se llevarn a cabo (ver tabla 4.8), separadas por comas Acciones que se llevarn a cabo (ver tabla 4.8) si el usuario pulsa el botn verde del mando a distancia despus de haberse ejecutado las acciones denidas en de acciones denidas en denidas en

key act actback

act. El conjunto actback se guardan automtica-

mente en una pila cada vez que se ejecutan las acciones

act,

por si el usuario pulsa el botn verde

varias veces consecutivas

68

Captulo 4. Programacin y desarrollo de la aplicacin

Tabla 4.8: Lista de acciones XML Accin Descripcin Oculta el servicio Muestra el Oculta emplear la

hideserv(id_service) showserv(id_service) hidepage(id_page) showpage(id_page)

id_service servicio id_service pgina id_page. Para id_page.

ocultar todas las pginas, se puede

hidepage(*)
la pgina

Muestra

Pa-

ra solicitar una pgina por el canal de retorno, se puede emplear

hidecont(id_page .id_container) showcont(id_page .id_container) lockcont(id_page .id_container) unlockct(id_page .id_container)

showpage(URL)
Oculta el contenedor de la pgina Muestra Bloquea nedor la

id_page
el

id_container
contenedor del conte-

id_container de la pgina id_page


navegacin

id_container id_page

de la pgina

Desbloquea la navegacin del contenedor

id_page

id_container

de la pgina

Tabla 4.9: Atributos XML de un objeto tabla Atributo Descripcin Identicador de la tabla Posicin relativa dentro del contenedor en el que se encuentra Tamao del objeto Estilo de las las impares (denido en el chero

id posx,posy sizex,sizey style1 style0 styleheader cellx,celly

styles.xml)
Estilo de las las pares (denido en el chero Estilo del encabezado (denido en el chero Tamao de las celdas de la tabla

styles.xml) styles.xml)

Objeto formulario: Con etiqueta

<form>,

se puede utilizar para denir un

formulario. Un formulario se comporta de manera similar a un men, pero permite adems crear elementos en los que seleccionar distintos valores dentro de una lista, o incluso elementos sobre los que el usuario pueda introducir texto. Los elementos de un formulario se denen como nodos hijos. Se puede

4.4. Modelo de programacin en XML/XSL/XPL

69

especicar la posicin y tamao de cada uno de dichos elementos, as como la navegacin por los mismos. Los atributos de los formularios vienen indicados en la tabla 4.10. Un formulario puede contener un nmero arbitrario de los siguientes elementos, sin requerirse que sean todos del mismo tipo:

Elemento de texto: Lista:

<text>. <form_imgbutton>.

<form_list>. <edit_text>.

Botones con aspecto denido por una imagen: Elementos de texto editable:

Los atributos de cada uno de estos elementos se especican en la tabla 4.11. Todos ellos, a excepcin del primero, pueden contener elementos de tipo

<action>

con funcionalidad idntica a la de los encontrados en los mens.

Tabla 4.10: Atributos XML de un objeto formulario Atributo Descripcin Posicin relativa dentro del contenedor en el que se encuentra Tamao del objeto Estilo del texto del formulario (denido en el chero

posx,posy sizex,sizey style focus

styles.xml)
Identicador del elemento del formulario que aparece seleccionado por defecto

A modo de ejemplo, en la gura 4.41 se muestra cmo sera la estructura de un posible chero XML que dene una pgina con tres contenedores. Como se puede comprobar, segn la gura, la pgina contiene dos imgenes, un elemento de texto, un men y un formulario. El men contiene dos elementos y el formulario cuatro, siendo uno de ellos un texto editable.

4.4.1.3.

Estilos

En el chero

styles.xml

deben aparecer denidos los distintos estilos de los

objetos, que aparecen referenciados en los atributos de los mismos. Un estilo dene principalmente el color, fuente y tamao de la letra. Se compone

<style> y de una serie de atributos que especican sus propiedades. El chero styles.xml puede contener tantos nodos <style> como sean necesarios, pero todos ellos deben ser hijos del nodo raz, <styles>.
de una etiqueta En la tabla 4.12 se listan los atributos que se pueden denir para un estilo, aunque segn el caso se escogern de dicha tabla nicamente los atributos necesarios.

70

Captulo 4. Programacin y desarrollo de la aplicacin

Tabla 4.11: Atributos XML de los nodos hijos de un objeto formulario Atributos comunes a todos los elementos Atributo Descripcin Identicador del elemento para poder referenciarlo Posicin relativa dentro del formulario en el que se encuentra Tamao del elemento Acciones que tienen lugar cuando el elemento est seleccionado (ver tabla 4.8), separadas por comas Identicador del elemento que se selecciona al pulsar la echa de arriba/abajo (no es obligatorio) Identicador del elemento que se selecciona al pulsar la echa de izquierda/derecha (no es obligatorio) Atributos particulares de cada elemento Atributo/Etiqueta Descripcin Etiqueta del elemento de texto Estilo del texto (denido en el chero Texto del elemento Etiqueta del elemento lista. Contiene una lista con varias entradas, de las cuales slo puede haber una seleccionada

id posx,posy sizex,sizey onover up,down left,right

<text> style str <form_list> options_texts options

styles.xml)

Texto que aparecer para cada una de las entradas, separadas por comas Valores de las distintas opciones de la lista, separados por comas. Existe una variable a la que se puede referenciar como

$id_form_list;

que contiene

el valor de la opcin seleccionada

type val <edit_text> val coledit <form_imgbutton> img imgfocus

tical (varrows)

Lista con echas en horizontal (harrows) o en verValor inicial seleccionado Etiqueta del elemento de texto editable. En este elemento el usuario puede introducir una cadena de texto Valor inicial que aparecer escrito Color del carcter que se est introduciendo Etiqueta del elemento de imagen Ruta de la imagen del elemento Ruta de la imagen del elemento, cuando este se encuentra seleccionado

4.4. Modelo de programacin en XML/XSL/XPL

71

Figura 4.41: Posible estructura de un chero XML soportado por

tmPlayer

Tabla 4.12: Atributos XML de un estilo Atributo Descripcin Identicador del estilo, para poder hacer referencia a l Tipo de fuente, normalmente Tiresias Tamao de la letra Color de fondo Color de la letra Color de fondo cuando el elemento est seleccionado Color de la letra cuando el elemento est seleccionado Espaciado entre lneas Texto normal (valor

id font size colback colfore colbackhigh colforehigh linspace type alpha halign valign insetx,insety

0)

o en negrita (valor

1)

Nivel de transparencia, de

(sin transparencia) a

255 1:

(completamente transparente)

Alineacin horizontal (1: izquierda; derecha) Alineacin vertical (1: abajo; ba) ? (ver apartado 4.4.4)

0:

centrado;

0:

centrado;

1:

arri-

72

Captulo 4. Programacin y desarrollo de la aplicacin

4.4.2. El canal de retorno


4.4.2.1. Modelo de actuacin
El producto

tmInteractive

es el sistema encargado de gestionar las comunicacio-

nes a travs del canal de retorno. Para ello,

tmInteractive

es capaz de comunicarse

con fuentes de datos externas (web, bases de datos, gestores de contenidos, . . . ) para despachar las peticiones que recibe desde los receptores MHP solicitando el acceso a estas fuentes. Por tanto, este sistema acta como una pasarela para proporcionar servicios interactivos ya disponibles va Internet, pero adaptados al formato XML requerido por la aplicacin

tmPlayer.

En otras palabras, el procedimiento de solicitud y obtencin de contenidos a travs del canal de retorno es el siguiente: 1. En un primer lugar, y debido a la intervencin del usuario, el STB lanza una peticin HTTP a travs del canal de retorno dirigida al equipo en el que est instalado el sistema

tmInteractive.

En el LAB-TDT, dicho equipo

es el servidor de aplicacin. No obstante, podra congurarse en cualquier otro, siempre que tuviera unos requisitos mnimos en cuanto a capacidad de procesamiento, ya que se ha de tener en cuenta que en un entorno ms realista el equipo recibir peticiones de mltiples decodicadores MHP. La peticin HTTP enviada es un mensaje de tipo GET, y puede contener parmetros (como por ejemplo en el caso de que se estuviera realizando una bsqueda). 2. A continuacin, el sistema en lenguaje XPL ( el sistema

tmInteractive realiza una secuencia de acciones que

dependen de la peticin HTTP recibida. Estas acciones deben programarse

XML Pipeline Language ). En funcin de las necesidades, tmInteractive podra responder al STB inmediatamente, o bien tmInteractive
lanza una o ms

requerir de acceso a Internet para recuperar algn tipo de contenido. 3. Si se requiere de acceso a Internet, el sistema

peticiones HTTP/HTTPS a fuentes externas, segn se haya programado. Las fuentes externas, en el caso de la aplicacin desarrollada, siempre estn constituidas por servidores web. 4. Tras recibir respuestas de las fuentes externas, constituidas normalmente por cdigo HTML, el sistema

tmInteractive

debe localizar en dicho cdigo la in-

formacin de inters y aplicarle las transformaciones oportunas para generar un chero XML con el formato de

tmPlayer. En este proceso se hacen necesa-

rios los cheros XSL, que contienen en lenguaje XSLT las reglas para realizar las transformaciones mencionadas. 5. Una vez generado el chero XML resultante, el sistema recin creada est lista para ser mostrada por pantalla. Ntese que en ningn caso el STB dialoga directamente con el servidor web, sino que lo hace nicamente con el servidor de aplicacin (o, en su caso, con el

tmInteractive

se lo

enva al STB mediante un mensaje HTTP. Llegados a este punto, la pgina

4.4. Modelo de programacin en XML/XSL/XPL

73

equipo que disponga del sistema

tmInteractive ).

De no realizarse as, el propio

STB se vera obligado a lanzar una o ms peticiones HTTP al servidor web y a realizar las transformaciones XSLT oportunas para seleccionar la informacin de inters del chero HTML y adaptar los contenidos al formato de limitados. Este esquema puede observarse grcamente en la gura 4.42, donde se muestra un diagrama de paso de mensajes HTTP tpico que tiene lugar cuando el usuario accede a algn servicio que requiere el uso del canal de retorno. En dicha gura se han representado con echas los mensajes intercambiados, indicando sobre cada una de ellas el tipo de mensaje HTTP (peticin o respuesta). En el caso de tratarse de una respuesta, se indica asimismo el tipo de contenido del campo de datos. El nmero que aparece junto a cada echa indica el orden en el que se producen los mensajes. Por ltimo, ntese que a pesar de que la gura sugiere que el STB debe disponer de acceso a Internet para poder alcanzar el servidor de aplicacin, esto nicamente representa el caso genrico, pero en la realidad del LAB-TDT en el que se ha desarrollado la aplicacin el STB est conectado en la misma LAN que el servidor de aplicacin.

tmPlayer, lo cual

podra suponer una elevada carga computacional para un sistema con recursos tan

Figura 4.42: Diagrama general de paso de mensajes para la solicitud de contenidos a travs del canal de retorno

4.4.2.2.

Lenguajes XPL y XSLT

tmInteractive se realiza en los lenguajes XML Pipeline Language ) y XSLT (Extensible Stylesheet Language Transformations ), siendo ambos lenguajes de programacin estndares denidos por el W3C (World Wide Web Consortium ). La documentacin de XPL puede encontrarse
La programacin de las aplicaciones en XPL ( en [11] y [16], mientras que para el lenguaje XSLT puede consultarse [12]. Al tratarse de lenguajes estndares, en el presente apartado no se expondr con tanto nivel de detalle como en el anterior las particularidades de los mismos. En su

74

Captulo 4. Programacin y desarrollo de la aplicacin

lugar, se remite al lector interesado a la documentacin facilitada. Por su parte, XPL es un lenguaje de programacin basado en XML que permite la denicin de una secuencia de procesos, de manera que los datos de salida de unos procesos pueden conectarse a la entrada de otros. Esto es particularmente til considerando la secuencia de acciones que lleva a cabo el sistema los siguientes casos de uso de un procesador XPL: Los parmetros del mensaje GET que el STB lanza podran ser empleados por el sistema

tmInteractive

cada vez que ha de atender a una peticin lanzada por el STB. As, podemos citar

tmInteractive

para crear una estructura XML con la que realizar

la peticin web. Esta tarea de manipulacin de los datos y de creacin de la estructura XML debe realizarla un procesador XPL. Otra posible tarea de un procesador XPL es la de, a partir de la estructura XML anterior, lanzar una peticin a un servidor web y devolver como salida otra estructura XML con toda la informacin del chero HTML recibido, siguiendo las normas del proyecto

HTML Tidy

[13].

Una de las aplicaciones ms empleadas de los procesadores XPL es la de, a partir de una o ms estructuras XML, realizar las manipulaciones necesarias y generar otra estructura XML acorde a un formato dado, con la informacin seleccionada de las estructuras de partida. El formato que adopta la salida puede especicarse en un chero en lenguaje XSLT que contenga unas reglas de transformacin. Este tipo de procesadores se explican mejor un poco ms adelante, pero es importante hacer nfasis en el hecho de que pueden utilizarse para, a partir de un chero HTML (en realidad dicho chero habra de haberse convertido previamente a una estructura XML), seleccionar la informacin de inters y generar como salida una estructura XML con el formato esperado por la aplicacin

tmPlayer.

Otra funcionalidad interesante de un procesador XPL es la de serializar la estructura XML resultante del caso anterior para poder encapsularla en un mensaje HTTP que se enviar al STB. Por ltimo, otra posible utilidad de un procesador XPL es la de crear un parmetros. Para cada uno de los ejemplos anteriores, existe un determinado tipo de procesador especcamente diseado para acometer su tarea, y en funcin de dicho tipo puede recibir un determinado nmero de entradas y generar como mximo una nica salida. As, por ejemplo, el procesador con nombre

pipeline, esto es, llamar a otro chero XPL al que le puede pasar una serie de

oxf:xslt

es el que se encarga de

realizar la tercera de las funciones listadas anteriormente. Se trata de un procesador XSLT que debe recibir al menos dos entradas. La primera de ellas, llamada da, de nombre

config,

debe contener un conjunto de reglas de trasformacin en lenguaje XSLT. La segun-

data, debe contener una estructura XML con el conjunto de datos a

4.4. Modelo de programacin en XML/XSL/XPL

75

procesar. Pueden aadirse ms entradas si se requiere la informacin disponible en otras estructuras XML. Este procesador debe generar una nica salida, de nombre

data,

que contiene la estructura XML resultante del procesado. En la gura 4.43

se muestra grcamente este esquema. Las entradas pueden haberse conectado a la salida de procesadores anteriores, pueden programarse directamente de forma esttica, o bien pueden tomarse a partir de cheros XSL o XML.

Figura 4.43: Esquema de funcionamiento de un procesador XSLT El procesador XSLT puede emplearse para, por ejemplo, seleccionar la informacin de inters de un cdigo en lenguaje HTML que previamente haya sido convertido a estructura XML por otro procesador. Con dicha informacin puede construirse una pgina XML con el formato de

tmPlayer, siempre que el correspon-

diente chero XSL contenga las reglas de transformacin adecuadas. Esta ltima frase es particularmente importante, pues ha de tenerse en cuenta que la estructura XML de salida debe responder al formato especicado en el apartado 4.4.1, como si de una pgina normal se tratase.

4.4.2.3.

Procesadores XPL propios de tmInteractive

Algunos de los procesadores XPL empleados a lo largo del desarrollo de la aplicacin interactiva no estn denidos en la documentacin del W3C ni de sino que se trata de mtodos propios del sistema

Orbeon, tmInteractive. Por este motivo se

ha decidido dedicar este apartado a la exposicin de las caractersticas de dichos procesadores, que pueden utilizarse para la descarga de contenidos de servidores HTTP y HTTPS. Estos mtodos permiten, entre otras funciones, la autenticacin en servidores, la gestin de cookies, el envo de formularios, etc. Para su declaracin se emplea el prejo y el espacio de nombres [10] siguientes:

xmlns:tmg="http://www.tmira.com/ops/processors"
El primer grupo de procesadores de este tipo han de venir encabezados por la etiqueta:

<p:processor name="tmg:tm-http">
Son cuatro los mtodos con este nombre que han sido utilizados, cada uno de los cuales cumple una funcionalidad especca. A continuacin se describen estos mtodos con cierta profundidad:

76

Captulo 4. Programacin y desarrollo de la aplicacin

Mtodo para la obtencin de una cookie de sesin: Este mtodo sirve


para obtener la cookie de sesin que puede ser utilizada en procesos posteriores. Acepta una nica entrada, de nombre

config,

en la que se especica el

tipo de mtodo, la URL a la que se debe acceder, los parmetros del mensaje HTTP que se enviar (en caso de haberlos) y el valor de un temporizador que indica el tiempo mximo de espera de respuesta del servidor. En la tabla 4.13 aparece una descripcin de estos nodos. La salida del procesador, de nombre

data, es una estructura XML cuyo nodo raz tiene etiqueta <session>, y con dos nodos hijos. El primero de ellos, con etiqueta <cookie>, contiene el valor de la cookie, mientras que el segundo, con etiqueta <jsessionid>, especica
el identicador de la sesin.

Tabla 4.13: Parmetros de entrada del mtodo de obtencin de la cookie de sesin Nodo Descripcin Nombre del mtodo, debe tomar el valor

<method> <action> <parameters>

session

Indica la URL del servidor web (HTTP o HTTPS) Nodo padre del listado de parmetros, cada uno de los cuales debe declararse mediante un nodo con etiqueta

<parameter> que contenga los atributos name y value,


especicando la pareja nombre del parmetro/valor, respectivamente

<timeout>

Tiempo mximo de espera de respuesta del servidor en segundos

Mtodo para el envo de un mensaje HTTP de tipo POST: Este


procesador permite lanzar un mensaje HTTP POST con parmetros. Al igual que el anterior, recibe una nica entrada de nombre de la salida

data

config y devuelve a travs

una estructura XML. En este caso, la estructura de salida

contiene el cdigo HTML devuelto por el servidor web (aunque ordenado). En la tabla 4.14 se muestran los parmetros, hijos de un nodo con etiqueta

<config>,

que puede recibir el procesador a travs de su entrada.

Mtodo para el envo de un mensaje HTTP de tipo GET: Este mtodo permite lanzar un mensaje HTTP GET y, si as se desea, un mensaje POST previo. Su esquema de entrada y salida es idntico al anterior, siendo la nica diferencia los parmetros de entrada que puede recibir. Estos parmetros se listan en la tabla 4.15.

Mtodo para el envo de un mensaje HTTP de tipo GET con cookie: Este procesador permite lanzar un mensaje HTTP GET utilizando una
cookie. Su esquema de entrada y salida es idntico al anterior, salvo por los parmetros de entrada que puede recibir, los cuales se listan en la tabla 4.16.

4.4. Modelo de programacin en XML/XSL/XPL

77

Tabla 4.14: Parmetros de entrada del mtodo de envo de un mensaje POST Nodo Descripcin Nombre del mtodo, debe tomar el valor

<method> <action> <parameters> <timeout> <cookies> <cookie> <multipart>

post

Indica la URL del servidor web (HTTP o HTTPS) Nodo padre del listado de parmetros (ver tabla 4.13) Tiempo mximo de espera de respuesta del servidor en segundos Permite el manejo de cookies (para lo cual debe tomar el valor

yes)

Valor de la cookie que se enviar Si el post es multipart (multipart/form-data). Por defecto est desactivado.

Tabla 4.15: Parmetros de entrada del mtodo de envo de un mensaje GET Nodo Descripcin Nombre del mtodo, debe tomar el valor

<method> <preaction> <cookies> <parameters> <action> <content-type> <encoding> <timeout>

url-http

Indica la URL en el caso de que sea necesario realizar un POST de los parmetros antes del GET (HTTP o HTTPS) Permite el manejo de cookies (para lo cual debe tomar el valor 4.13) Indica la URL del servidor web (HTTP o HTTPS) Tipo de contenido del resultado (text/html por defecto) Codicacin del resultado (UTF-8 por defecto) Tiempo mximo de espera de respuesta del servidor en segundos

yes)

Nodo padre del listado de parmetros (ver tabla

El segundo grupo de procesadores deben etiquetarse como:

<p:processor name="tmg:tm-url-generator" xmlns:p="http://www.orbeon.com/oxf/pipeline">


Este procesador en realidad cumple una funcin idntica a la del procesador con nombre

oxf:url-generator,

encontrado en la documentacin de

Orbeon

[16].

78

Captulo 4. Programacin y desarrollo de la aplicacin

Tabla 4.16: Parmetros de entrada del mtodo de envo de un mensaje GET con cookie Nodo Descripcin Nombre del mtodo, debe tomar el valor Valor de la cookie Nodo padre del listado de parmetros (ver tabla 4.13) Tipo de contenido del resultado (text/html por defecto) Codicacin del resultado (UTF-8 por defecto) Tiempo mximo de espera de respuesta del servidor en segundos

<method> <action> <cookie> <parameters> <content-type> <encoding> <timeout>

get

Indica la URL del servidor web (HTTP o HTTPS)

4.4.3. Actualizaciones automticas


4.4.3.1. Modelo de actuacin
El apartado anterior se centraba en la descripcin del funcionamiento y de los lenguajes de programacin necesarios para gestionar las comunicaciones a travs del canal de retorno. No obstante, an no se ha expuesto nada acerca de los mtodos necesarios para la actualizacin automtica de contenidos a travs de Internet. Es decir, aquellos casos en los que el propio servidor de aplicacin actualiza cada cierto tiempo los contenidos de los cheros XML que emite en funcin de la informacin que recibe de determinados servidores web (vase la seccin 4.3). Afortunadamente, el esquema general y los lenguajes de programacin son los mismos que los que se emplean para la gestin del canal de retorno. Es decir, todo lo expuesto anteriormente acerca de los procesadores XPL y del lenguaje XSLT sigue siendo aplicable tambin a este caso. As pues, el funcionamiento resulta sencillo. Cada vez que tiene lugar una actualizacin programada del servidor de aplicacin, se ejecutan los procesadores que se encuentran en el chero

main.xpl

dentro del directorio

xpl.

Pueden programarse

tantos procesadores como sean necesarios para llevar a cabo todas las operaciones deseadas. La secuencia de acciones que tiene lugar es anloga a la anterior, pues tambin se han de emplear procesadores para la solicitud de pginas web, para la conversin a formato XML, etc. La mayor diferencia radica en que los cheros XML nales no se envan al STB encapsulados en un mensaje HTTP, sino que se almacenan en el directorio de emisin y se emiten de forma continua por el canal de difusin. Del mismo modo, se pueden emplear procesadores XPL para solicitar imgenes a servidores web y almacenarlas en el directorio de emisin. En ambos casos, el procesador empleado es el de nombre encontrarse en la documentacin de

Orbeon

oxf:file-serializer,

que puede

[16].

En la gura 4.44 se muestra un ejemplo de funcionamiento en el que partici-

4.4. Modelo de programacin en XML/XSL/XPL

79

pan tres procesadores XPL. El ejemplo guarda en un chero, cuyo nombre viene determinado en una estructura XML de entrada, una imagen que se obtiene de un servidor web, cuya URL se obtiene tambin a partir de otra estructura XML. El primero de los mtodos del ejemplo es un procesador XSLT, que a partir de un conjunto de reglas de transformacin y de la estructura XML que contiene el nombre del chero genera otra estructura XML con un conjunto de datos que necesita el procesador encargado de crear el chero. Por otra parte, un procesador del tipo

oxf:url-generator
dos.

se encarga de solicitar la imagen al servidor web. El tercero

de los procesadores crea el chero nal a partir de los datos que recibe de los otros

Figura 4.44: Ejemplo de funcionamiento de los procesadores XPL

4.4.3.2.

Procesadores XPL propios de tmInteractive

Adems de los procesadores XPL propios de

T-mira

expuestos en el apartado

4.4.2.3, para el caso de las actualizaciones automticas existen dos procesadores especcos que han de ser utilizados. Su funcin es la de indicar el inicio y el n del proceso de actualizacin, por lo que habrn de posicionarse al principio y al nal del chero

main.xpl.

Para su declaracin tambin se emplea el prejo y el espacio de nombres [10] siguientes:

xmlns:tmg="http://www.tmira.com/ops/processors"
Los procesadores que indican el inicio y nal de la actualizacin deben comenzar con las etiquetas

<p:processor name="tmg:tm-app-update-start"> <p:processor name="tmg:tm-app-update-end">,


respectivamente.

Ninguno de ellos genera salida alguna, y nicamente admiten una entrada, de nombre

config,

la cual debe estar compuesta por una estructura XML cuyo nodo

raz tenga etiqueta

<config>

y dos nodos hijos, con etiquetas

<timeout>

<key>.

80

Captulo 4. Programacin y desarrollo de la aplicacin

El primero de los dos nodos hijos indica el tiempo mximo de actualizacin, en segundos. El segundo debe contener la ruta absoluta del directorio de emisin.

4.4.4. Cuestiones abiertas sobre el lenguaje propio de T-mira


Uno de los principales problemas encontrados durante el desarrollo del Proyecto ha sido el de la escasa documentacin facilitada por

T-mira, hasta tal punto que en

muchas ocasiones no ha quedado otra alternativa que seguir un procedimiento de ingeniera inversa a partir del cdigo de las aplicaciones de ejemplo para poder comprender los elementos que componen la interfaz grca, los modelos de actuacin, la utilidad de cada chero y el funcionamiento de los diferentes procesadores. Tanto es as que, incluso una vez concluido el desarrollo del Proyecto, an existen un gran nmero de cuestiones que no han podido resolverse. El objetivo de este apartado es el de exponer dichas cuestiones con el n de que el lector conozca las actuales limitaciones existentes en el desarrollo de aplicaciones interactivas en el LAB-TDT. Todas estas limitaciones se listan a continuacin: Se desconoce si es posible rescatar la cookie en un procesador cuyo nodo

<method>

no contuviera el valor

session.

tmg:tm-http

Esto sera de utilidad

ya que, en ocasiones, tras haber obtenido una cookie de sesin, el servidor web vuelve a pedir que se establezcan cookies en respuestas a otros mensajes posteriores. Se ignora si es posible crear cadenas de texto de direfentes estilos dentro de un mismo objeto

<text>.

En la tabla 4.8 se observa que para mostrar u ocultar un contenedor, o para bloquear o desbloquear la navegacin del mismo, es necesario utilizar el identicador de pgina,

id_page.

No obstante, en el caso en que la pgina

mostrada haya sido obtenida a travs del canal de retorno, no tiene tal identicador, por lo que se desconoce si es posible realizar tales acciones con un contenedor especco dentro de dicha pgina. Se ignora si es posible enviar cheros distintos a pginas XML a travs del canal de retorno. Sera especialmente til poder servir imgenes bajo peticin del STB. Se desconoce el procedimiento a seguir para insertar saltos de lnea y retornos de carro en cadenas de texto dentro de un archivo servido a travs del canal de retorno. Para incorporar estos caracteres en archivos que se generen automticamente con cada actualizacin del servidor, se pueden emplear diversos mtodos (como por ejemplo utilizar directamente el cdigo ASCII

&#XD;

como parte de la cadena de texto en el chero XSL correspondiente).

Sin embargo, si se siguen estos mismos procedimientos con los cheros XSL contenidos en el directorio

rc

no se produce el efecto esperado.

No se posee informacin acerca de si es posible la comunicacin segura sobre SSL entre el STB y el servidor de aplicacin. Esto es de crucial importancia

4.5. Mtodo de trabajo

81

si se desea implementar algn servicio (funcionalidad de la aplicacin) que implique el envo de informacin privada a travs de Internet. Aunque la comunicacin entre el servidor web y el servidor de aplicacin pueda realizarse sobre HTTPS, si la comunicacin entre este ltimo y el STB no pudiera, la aplicacin sufrira de graves problemas de seguridad. Acerca de los objetos tabla (<table>):

Se desconoce si es posible denir celdas de diferente tamao dentro de una misma tabla. No se sabe si las tablas con celdas combinadas estn permitidas. Se ignora si puede realizarse un scroll de tabla. No se posee informacin sobre la utilidad que tiene el identicador de tabla ni cul es su efecto. En muchas ocasiones sera de inters poder crear un men dentro de una tabla, de manera que cada la de la misma tuviera asociado un elemento de accin,

<action>.

No se sabe si es posible realizar esto.

Se desconoce la funcionalidad de

insetx

Asimismo, se ha comprobado que los atributos surtir ningn efecto (vase la tabla 4.12).

insety en la denicin de estilos. valign y type no parecen

Por ltimo, a pesar de que en las tablas 4.13 a 4.16 se reeja explcitamente la capacidad de los procesadores XPL propios de

T-mira

para acceder a una

URL mediante HTTPS, la realidad que se ha podido comprobar durante el desarrollo de la aplicacin es que dicho acceso no funciona cuando involucra el lanzamiento de algn mensaje POST o la obtencin de la cookie de sesin. Esta limitacin es la que impuso que uno de los servicios no empleara la pgina web del SAE a la hora de recuperar los contenidos de Internet (vase el apartado 4.2.3.2 para ms informacin).

4.5. Mtodo de trabajo


Una vez realizadas las operaciones bsicas enfocadas a la comprensin y puesta en marcha del Laboratorio, denidos los servicios a implementar y programado el ndice principal, el procedimiento seguido para el desarrollo de la aplicacin ha sido similar para cada uno de los servicios. En el caso de los que requieren acceso a Internet, dicho mtodo consta de las siguientes etapas bsicas: 1. Identicacin del funcionamiento del servidor web al que se desea acceder. Para poder programar las peticiones HTTP en los correspondientes cheros XPL, es necesario conocer previamente qu espera recibir el servidor web destino. Es decir, deben conocerse aspectos como la URL exacta a la que se debe acceder, el nmero de peticiones a enviar, el tipo de las mismas (POST, GET, . . . ), los parmetros de los mensajes, el manejo de cookies, el formato de la

82

Captulo 4. Programacin y desarrollo de la aplicacin

respuesta, etc. Todo estas caractersticas pueden ser observadas accediendo al servidor de forma normal mediante un navegador web mientras se monitoriza el trco web. Para ello, se han utilizado el programa extensin

Firebug

para el navegador

Firefox

Wireshark

y la

(la cual permite adicionalmente

monitorizar el trco HTTP seguro). 2. Programacin de los procesadores XPL necesarios para obtener la informacin de inters y crear la pgina XML resultante. 3. Diseo de la interfaz grca nal y creacin de los cheros XSL que contienen las reglas de transformacin XSLT necesarias para generar la pgina XML. 4. Pruebas de funcionamiento, que permitan contrastar directamente en la TV si el resultado es el esperado.

4.6. Directorios y cheros principales de la aplicacin


Para que la aplicacin pueda funcionar correctamente, los cheros desarrollados han de organizarse en una serie de directorios, de acuerdo al formato esperado por el servidor de aplicacin. Posteriormente, el conjunto de directorios debe comprimirse en un nico chero en formato ZIP antes de cargarse en el servidor de aplicacin. Para elaborar una aplicacin interactiva han de crearse los siguientes directorios:

/emission:

Todos los cheros y subdirectorios aqu encontrados son los que

el servidor de aplicacin emitir de forma continua por el canal de difusin. Por tanto, las pginas XML y las imgenes de las que consta la aplicacin han de incluirse en el directorio

emission.

/content: Contenido del servicio (aplicacin) si no se recoge de fuentes externas. Este directorio es de carcter optativo. No es imprescindible para poder realizar una aplicacin y, de hecho, no ha sido utilizado en el desarrollo del Proyecto (se encuentra vaco). Se utiliza cuando el servicio alberga sus propios contenidos: aqu se almacenara el contenido del servicio si se tratase de datos almacenados en cheros XML.

/web:

Directorio para introducir formularios web que sern la interfaz de la

propia aplicacin de cara al usuario que se encargue de gestionar sus contenidos. Suele usarse para formularios que permitan modicar los datos del directorio

content.

Tampoco ha sido empleado en el Proyecto.

/xpl: /rc:

En este directorio han de incluirse todos los archivos XPL y XSL ne-

cesarios para la actualizacin automtica de los contenidos. Por ltimo, el directorio

rc

ha de contener los archivos XPL y XSL que

generan las pginas servidas a travs del canal de retorno. En la gura 4.45 se muestra el rbol de directorios de los que consta la aplicacin desarrollada, indicando adems los cheros principales que de la misma.

4.6. Directorios y cheros principales de la aplicacin

83

Figura 4.45: rbol de directorios y cheros principales de la aplicacin

4.6.1. Directorio de emisin


El directorio de emisin es imprescindible en cualquier aplicacin interactiva. Debe estar compuesto al menos por los siguientes cheros:

styles.xml:

En l se denen todos los estilos, segn el formato expuesto en

el apartado 4.4.1.3.

service.xml: index.xml:

Enumera todas las pginas XML en emisin de las que consta

la aplicacin, de acuerdo al formato expuesto en el apartado 4.4.1.1. Pgina de inicio de la aplicacin. Se trata de la primera pgina

que se muestra al ejecutarse la aplicacin y, como toda pgina, ha de estar referenciada en el chero

service.xml.

config.xml:
de retorno.

Contiene datos de conguracin tiles para el STB, tales como

la direccin IP y el puerto al que debe dirigir las peticiones a travs del canal

En este directorio se guardan tambin el resto de pginas XML que sean necesarias, el fondo de la aplicacin (chero

background.mpg,

en el caso del presente

Proyecto) y las imgenes. Adicionalmente, las pginas XML generadas durante cada actualizacin automtica del servidor tambin han de almacenarse en el directorio de emisin, pues de otro modo no se emitiran por el canal de difusin (estas pginas tambin deben estar referenciadas en el chero

service.xml).

En el caso de la aplicacin desarrollada, se han creado dos subdirectorios dentro de

emission,

con los nombres

images

help.

En el primero de ellos se incluyen

todas las imgenes que sern mostradas en la aplicacin (mapas, botones, . . . ), en

84

Captulo 4. Programacin y desarrollo de la aplicacin

formato PNG, salvo las del men de ayuda. En el segundo de los subdirectorios se incluye la pgina XML que se muestra al pulsar el botn amarillo del mando a distancia, as como todas las imgenes en formato PNG de las que hace uso dicha pgina.

4.6.2. Directorio de gestin del canal de retorno


La programacin de las aplicaciones en el sistema directorio de los servicios que requieran del canal de retorno.

rc. A continuacin se denen los cheros bsicos para el funcionamiento

tmInteractive

se realiza en el

page-flow.xpl:
chero

Fichero esttico que contiene un procesador controlador del

ujo de pginas (oxf:page-flow) [16], al cual se le pasa como entrada el

page-flow.xml.

page-flow.xml: Archivo de conguracin del ujo de pginas. En l se denen


los cheros que se traducirn automticamente y las pginas que componen el servicio, especicando adems los parmetros que se le pasan a cada una de ellas.

default-submission.xml:
a cada una de las pginas.

Fichero que dene los parmetros que se pasarn

Por ejemplo, si el fragmento de cdigo

<page path-info="/apps/([0-9]+)/([0-9]+)/rc/cursos_formulario" matcher="oxf:perl5-matcher" default-submission="default-submission.xml" model="cursos_formulario.xpl"> <setvalue ref="/submission/tipoCurso" parameter="tipoCurso"/> <setvalue ref="/submission/tipoCursoText" parameter="tipoCursoText"/> <setvalue ref="/submission/provincia" parameter="provincia"/> </page>

ractive

se escribe en el chero

page-flow.xml,

se est informando al sistema

tmInte-

de que cuando reciba cualquier peticin HTTP solicitando el contenido de

la pgina especicada en el atributo

path-info,

el controlador debe ejecutar los

procesadores XPL contenidos en el chero con nombre

cursos_formulario.xpl.

De esta manera, si un STB cliente lanza una peticin a la URL

http://dir_IP:port/apps/16003/800/rc/cursos_formulario ?tipoCurso=PRV&tipoCursoText=previstos&provincia=04
el sistema

tmInteractive llamara al chero cursos_formulario.xpl al recibirla.


dir_IP y port deberan ser sustituidos por la direccin IP y puerto

Como es obvio,

del servidor de aplicacin, respectivamente.

4.6. Directorios y cheros principales de la aplicacin

85

Ntese que, en realidad, el formato del atributo

path-info est escrito para no

tener que ser modicado en caso de utilizar otros valores para los identicadores de organizacin (16003) y de aplicacin (800) con los que la aplicacin est denida en el servidor de

T-mira. Esto es posible gracias a la accin del matcher especicado.


<setvalue>
se utiliza para extraer un parmetro

Por otra parte, cada nodo dentro del chero

de los solicitados por el cliente. El atributo

default-submission.xml, identicando de forma exacta un elecursos_formulario.xpl, en el que debe deinstance para que este proceso funcione

ref

debe indicar un XPath vlido [9]

mento o atributo del mismo. El nodo de texto o atributo del elemento se establece al valor del parmetro especicado, y la estructura XML resultante se pasa como elemento de entrada al procesador correctamente. Continuando con el ejemplo anterior, si la estructura nirse un parmetro de entrada de nombre

<submission> <tipoCurso/> <tipoCursoText/> <provincia/> </submission>


estuviera contenida en el archivo procesadores XPL del chero parmetro

instance

default-submission.xml, se ejecutaran los cursos_formulario.xpl, pasndoles a travs del

el siguiente elemento XML:

<submission> <tipoCurso>PRV</tipoCurso> <tipoCursoText>previstos</tipoCursoText> <provincia>04</provincia> </submission>


A partir de este punto, los procesadores de

cursos_formulario.xpl

se encar-

garan de solicitar una pgina web al servidor correspondiente, si fuera necesario, extraer la informacin de inters, generar una pgina XML con el formato de

Player

tm-

y envirsela al STB.

4.6.3. Directorio de gestin de las actualizaciones automticas


En el directorio

xpl se encuentran todos los cheros XPL y XSL necesarios para main.xpl,
ya que

generar las pginas XML en el proceso de actualizacin automtica del servidor de aplicacin. El nico chero de carcter obligatorio es el llamado cin. No obstante, es posible la utilizacin de la estructura del chero contiene los procesadores que el servidor de aplicacin ejecuta con cada actualiza-

pipelines

si se desea llamar a otros

cheros XPL. En el apartado 4.4.3.2 se exponen algunos detalles de inters sobre

main.xpl.

86

Captulo 4. Programacin y desarrollo de la aplicacin

4.7. Funcionamiento y consideraciones realizadas


El objetivo de esta seccin es ofrecer una descripcin resumida de carcter tcnico del funcionamiento de cada uno de los servicios implementados. Para ms detalles sobre la programacin, se remite al lector al apndice B, en el que podr encontrar el cdigo completo desarrollado.

4.7.1. Gua para la bsqueda de empleo


Dado que se trata de un servicio que hace uso de las actualizaciones automticas, los cheros XPL y XSL desarrollados estn contenidos en el directorio

xpl. 24.xml

Por su parte, en el directorio de emisin se han dispuesto las pginas encargadas de mostrar los mens y submens para el acceso a los contenidos del servicio. Todos los cheros XML cuyo nombre comienza por

26.xml,

guia_busqueda,

adems de

cumplen dicha funcionalidad, resultando un total de siete archivos.

A todos los cheros XML creados con cada actualizacin del servidor de aplicacin, almacenados tambin en de los cheros estticos. Dado que todas las pginas XML de este servicio son muy similares entre s y nicamente se diferencian en su contenido, se emplea el mismo cdigo XPL y las mismas reglas XSLT para su generacin. As pues, el chero bucle que ejecuta repetidamente los procesadores del hasta que se hayan generado todas las pginas del servicio. Se ha creado otro chero auxiliar, de nombre por el carcter guin bajo (_), con el objeto de que sean fcilmente distinguibles

emission, se les ha asignado un nombre que comienza

main.xpl contiene un chero guiaBusqueda.xpl,


que

datos-guiaBusqueda.xml,

contiene una estructura esttica XML con los datos de cada una de las pginas que se deben generar. As, para cada una de ellas, se especica: El submen al que pertenece el chero (tu empleo, cmo buscar empleo, autoempleo o formacin para el empleo), til para poder generar correctamente un ttulo que se mostrar por pantalla. El nombre del chero XML destino. La URL a la que se debe acceder para recuperar los contenidos. El texto aqu encontrado se concatenar entre las cadenas

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/empleo/buscarTrabajo/guiaEmpleo/
y

?ticket=nocas
en el momento de solicitar la pgina al servidor web. Opcionalmente, se puede incluir un identicador de imagen. Si se hace, se mostrar una imagen junto al texto de bienvenida de la pgina. La URL a la que se accede para recuperar dicha imagen es la que se encuentre en el

4.7. Funcionamiento y consideraciones realizadas

87

atributo

src

del nodo con XPath

//img

cuyo atributo

id

coincida con el

identicador proporcionado. Se espera que la imagen tenga el formato JPEG. El chero

guiaBusqueda_imagesBienv.xpl

es el responsable de solicitar y

almacenar estas imgenes. Por defecto, el chero de datos est congurado para no incluir ninguna de las imgenes de bienvenida, con el n de no sobrecargar la aplicacin. Nombre del chero de la imagen de bienvenida, en caso de que se haya especicado el identicador anterior.

Cada una de las peticiones HTTP que el sistema

tmInteractive

lanza para so-

licitar el cdigo HTML est compuesta nicamente de un mensaje de tipo GET. Una vez recibido dicho cdigo, se accede a cada uno de los nodos con XPath [9]:

//div[@id='dos-columnas-dcha']/*
Seleccionando nicamente los nodos con etiqueta (slo si contiene tablas dentro),

<ol>

<ul>.

<h4>, <p>, <table>, <div>

En funcin de dicha etiqueta, la

informacin se trata de una manera u otra, y la pgina resultante la mostrar en un lugar u otro, de acuerdo con las reglas de transformacin denidas en el chero

guiaBusqueda.xsl.
Se ha de comentar adems que si dentro de una lista se localiza un nodo cuyo atributo

href

contiene la cadena

.gif,

<a>

se lanza un nuevo mensaje GET para

recuperar y almacenar la imagen referenciada en dicho nodo, de la cual se espera que tenga formato GIF. De ello se encarga el chero

las

guiaBusqueda_imagesInfo.xpl. Por ltimo, el chero normalizar_tablas.xsl se ha programado para convertir tablas HTML que hagan uso de los atributos rowspan y colspan a otras con

igual nmero de celdas en cada la y en cada columna, ya que en principio la aplicacin

tmPlayer

no soporta celdas combinadas (vase el apartado 4.4.4).

En general, para todos los servicios desarrollados, se espera que los cheros HTML solicitados estn codicados en formato UTF-8. El motivo de esta eleccin no es arbitrario, pues se ha podido vericar este comportamiento a travs de los mtodos mencionados en la seccin 4.5. A pesar de ello, en ocasiones se hace necesario realizar transformaciones sobre algunos caracteres para su correcta visualizacin en la TV, aunque no es el caso de este servicio.

4.7.2. Anuncios de empleo


Como ya se ha mencionado en el apartado 4.2.3.2, este servicio est compuesto por la unin de otros dos, por lo que se tratar cada uno de ellos por separado. La pgina

anuncios_empleo.xml se encarga de mostrar el men que permite elegir

entre uno u otro.

4.7.2.1.

Buscador de ofertas

Dentro del directorio

buscador_ofertas

rc, todos los cheros cuyo nombre comienza por la cadena

han sido desarrollados para este servicio.

88

Captulo 4. Programacin y desarrollo de la aplicacin

El primero de ellos, GET a la URL:

buscador_ofertas_formulario.xpl, se encarga de generar,

bajo demanda del STB, la pgina del formulario de bsqueda. Lanza un mensaje

http://www.oficinaempleo.com/buscar-empleos
De donde recupera las listas de provincias y de categoras accediendo a los XPath siguientes, respectivamente:

//select[@id='City']/option //select[@id='alerta_area']/option
Si hay alguna categora ya seleccionada, se enva un segundo mensaje GET a la siguiente URL para obtener la lista de subcategoras:

http://www.oficinaempleo.com/ajax_categ_puestos.asp ?id=_IDCATEGORIA_&sel=
donde

_IDCATEGORIA_ representa el valor numrico de la categora seleccionada.

La lista de subcategoras se recupera accediendo al XPath:

//select/option
Una vez el usuario haya escogido los campos del formulario que desee para la bsqueda, el STB solicita al sistema

tmInteractive

la pgina con los resultados son entonces

de la misma. Los procesadores del chero

buscador_ofertas.xpl

ejecutados. En primer lugar, se encargan de enviar un mensaje POST a la URL

http://www.oficinaempleo.com/empleos
y con los siguientes parmetros: hid_pagenext, hid_city, hid_area, hid_puesto hid_keyword. Recibido el cdigo HTML resultante de la bsqueda, para recuperar

cada oferta de empleo se accede al XPath:

//table/tr[@class='normaltext']
Mientras que para los elementos de la paginacin, que constituirn el men horizontal presentado en la TV, se accede a este otro:

//a[@href='empleos']
Por ltimo, si el STB solicita detalles adicionales de una oferta en concreto, el sistema chero

buscador_ofertas_detalle.xpl,

tmInteractive,

siguiendo las rdenes de los procesadores contenidos en el lanza un mensaje GET a la URL:

http://www.oficinaempleo.com_IDOFERTA_=
donde

_IDOFERTA_ es el valor de uno de los parmetros del mensaje enviado por

el STB, el cual fue recuperado en el momento de obtener el listado de ofertas. En la estructura HTML recibida, se accede al siguiente XPath para obtener el ttulo de la oferta:

//form[@method='post' and @action='']/table/tr/td/table/tr[1]/ td[1]/table[1]/tr[2]/td[1]/table[2]/tr[1]/td[1]/table/tr[1]/ td[1]/table/tr/td

4.7. Funcionamiento y consideraciones realizadas

89

Y a partir de este otro se obtienen los detalles de la misma (en realidad se acceden a otros nodos dentro de este XPath):

//form[@method='post' and @action='']/table/tr/td/table/tr[1]/ td[1]/table[1]/tr[2]/td[1]/table[2]/tr[1]/td[1]/table/tr[2]


Posteriormente, se enva un segundo mensaje GET para obtener los datos de la empresa, a la siguiente URL:

http://www.oficinaempleo.com_IDEMPRESA_ donde _IDEMPRESA_, al igual que antes, es un identicador


este XPath:

que caracteriza de

forma nica a la empresa deseada. Los detalles de la empresa se toman a partir de

//div[2]/table[2]/tr[1]/td[2]/table[1]/tr[1]/td[1]/table[1]/ tr[6]/td[1]/table[1]/tr[1]/td[1]/table[2]/tr
4.7.2.2. Ofertas de empleo pblico

El chero este servicio.

ofertas_empleo_publico.xml, dentro del directorio de emisin, con-

tiene la pgina del formulario que se muestra en la TV cuando el usuario accede a

Una vez completados los campos del formulario, el STB enva una peticin HTTP al servidor de aplicacin, el cual a su vez genera la pgina de resultados de la bsqueda tras acceder a un servidor web. El chero ubicado en el directorio la siguiente URL:

rc,

ofertas_empleo_publico.xpl,

es el responsable de realizar este proceso. En primer

lugar, se ha de obtener una cookie de sesin enviando un mensaje de tipo GET a

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/empleo/ofertasEmpleo/ofertasPublicas/ ?ticket=nocas


A continuacin, y haciendo uso de la cookie obtenida, el sistema lanza un POST con los parmetros y

opTipo

opDescripcion, opSubambito, opTitulaciones

tmInteractive

a esta otra URL:

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/empleo/ofertasEmpleo/ofertasPublicas/ listado_oposiciones.html


No obstante, si el STB ya haba accedido anteriormente a los resultados de la bsqueda (por ejemplo, si el usuario decide realizar paginacin, o si se vuelve a esta pgina tras haber consultado los detalles de alguna oferta en particular), el procedimiento diere ligeramente del anteriormente expuesto. En su lugar, nicamente es necesario enviar un mensaje GET que contenga la cookie y los valores de los parmetros a la ltima URL indicada.

90

Captulo 4. Programacin y desarrollo de la aplicacin

En cualquiera de los dos casos, en la pgina XML generada se incluye la informacin de la cookie de sesin, para que el STB pueda enviarla como parmetro en futuras peticiones. En ningn caso se almacena la informacin de las cookies de forma local en el servidor de aplicacin. En el cdigo HTML recibido, se busca la informacin de inters de cada oferta y de paginacin a partir los siguientes XPath, respectivamente:

//table[@id='dataTable']/tbody/tr //div[@class='paginacion']/a El chero ofertas_empleo_publico_datos.xml consiste en un chero de datos


auxiliar, que contiene una estructura esttica XML y se emplea para traducir los nombres de los parmetros que se reciben del STB a los esperados por el servidor web del SAE en el momento de lanzar la correspondiente peticin HTTP, ya sea GET o POST. Para generar las pginas que contengan ms detalles sobre una oferta de empleo pblico especca, a peticin del usuario, se ejecutan los mtodos XPL de

ofertas_empleo_publico_detalle.xpl,
URL:

los cuales envan un mensaje GET a la

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/empleo/ofertasEmpleo/ofertasPublicas/ detalle_oposicion.html?opCodigo=_IDOFERTA_&ticket=nocas


siendo

_IDOFERTA_

un identicador de la oferta de empleo solicitada. En el

cdigo HTML que se recibe, se selecciona la informacin de inters (nombre de la oferta y detalles de la misma) a partir de los dos siguientes XPath, respectivamente:

//h4 //fieldset[@class='formulario']/div
Como la mayora de los cheros XPL desarrollados para la aplicacin, todos los anteriormente citados para este servicio hacen uso de un chero XSL del mismo nombre.

4.7.3. Empresas andaluzas que ofrecen empleo


Este servicio tambin se compone de tres pginas de cara al usuario: formulario de bsqueda, lista de resultados y detalles de una empresa en particular. Los cheros del directorio

rc cuyo nombre comienza por empresas forman parte de este servicio.


adems del correspondiente chero XSL. Un procesa-

Para generar el formulario de bsqueda se hace uso del chero con nombre

empresas_formulario.xpl,

dor XPL se encarga de lanzar una peticin al servidor web con URL:

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/inicializaBusqueda.do
Del chero HTML recibido, se seleccionan las opciones de provincias y sectores para poder listarlas en el formulario. Adems, de dicho chero tambin se obtiene

4.7. Funcionamiento y consideraciones realizadas

91

el valor de la cookie de sesin. Los XPath que se buscan para obtener toda esta informacin son, respectivamente:

//select[@id='ubicacion']/option //select[@id='sector']/option //form[@name='busquedaForm']/@action


La informacin de la cookie tambin se incorpora en la pgina generada para que en futuras peticiones el STB pueda adjuntar su valor, de manera que el servidor de aplicacin no tenga que almacenar informacin alguna. La segunda de las pginas consiste en el listado de resultados. El mtodo de acceso al servidor web depende de si es o no la primera vez que el STB realiza la bsqueda. Si lo es, se enva un mensaje POST con los parmetros

ubicacion

sector

razonsocial,

a la siguiente URL:

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/inicializaBusqueda.do;jsessionid=_COOKIE_
reemplazando

_COOKIE_

por el valor tomado en la etapa anterior.

En caso contrario, se enva un GET a la misma URL, pero concatenando adems unos identicadores de bsqueda y de paginacin. En ambos casos, se accede a los siguientes XPath para obtener la informacin de cada empresa y de paginacin:

//table[@id='dataTable']/tbody/tr //div[@class='paginacion']/a
La tercera de las pginas que componen el servicio muestra los detalles de la empresa que el usuario solicita. Para ello, el sistema mensaje GET a la URL:

tmInteractive

debe enviar un

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/detalleEmpresa.do?idEmpresa=_IDEMPRESA_& idProvincia=_IDPROVINCIA_


siendo

_IDEMPRESA_

_IDPROVINCIA_

identicadores de la empresa y la pro-

vincia seleccionadas, respectivamente. Los XPath de los que se selecciona la informacin son:

//h4/span //fieldset[@class='formulario']
A partir del primero de ellos se obtiene la informacin del ttulo de la empresa, mientras que del segundo se obtienen los detalles de la misma.

4.7.4. Formacin para el empleo


En el directorio de emisin, el chero

formacion_empleo.xml

es el encargado

de mostrar los mens y los mapas de este servicio. Por su parte, dentro de

rc

se hallan tres cheros XPL, junto a los correspondientes XSL, necesarios para la comunicacin con el servidor web del SAE y para la generacin de las pginas XML. El nombre de estos tres cheros comienza por la cadena

cursos.

92

Captulo 4. Programacin y desarrollo de la aplicacin

El esquema es anlogo al de los anteriores servicios. El primero de los archivos XPL tiene como objetivo generar el formulario de bsqueda. Para ello, comienza por enviar un mensaje GET a esta URL:

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/empleo/formacion/ofertasFPE/_TEXTO_/ busquedaAvanzada.html?ticket=nocas


reemplazando

_TEXTO_ por una cadena que depende del tipo de curso solicitado

(previsto, convocado o de plazo ampliado). Del chero HTML recibido, el sistema

tmInteractive
XPath:

selecciona los datos de cada familia profesional de cursos a partir del

//select[@id='familia']/option
La informacin correspondiente a los municipios existentes no se rescata de Internet, sino que est contenida en un chero esttico, de nombre

municipios.xml.

El segundo de los cheros XPL se encarga de generar la pgina con los resultados de la bsqueda. Para ello, enva primero un mensaje POST con los parmetros de bsqueda, seguido de un GET sin parmetros. El mensaje POST se lanza a la direccin web:

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/empleo/formacion/ofertasFPE/_TEXTO_/ dispatcher.html?step=storeFilter&ticket=nocas


Mientras que el GET se dirige a:

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/empleo/formacion/ofertasFPE/_TEXTO_/ listadoCursos.html?step=paginar&pg=_PAG_


donde

_TEXTO_

es la cadena comentada anteriormente, y

_PAG_

es la pgina a

la que se desea acceder (por defecto, toma el valor

si es la primera vez que se

accede). Una vez recibida respuesta del servidor web, se toma la informacin de cada curso y de paginacin a partir de los dos siguientes XPath:

//table/tr //ul[@class='paginacion']/li/span/a
Por ltimo, el tercero de los cheros XPL se utiliza para obtener detalles sobre un curso de formacin especco. Est programado para lanzar un nico mensaje GET a la siguiente URL:

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/empleo/formacion/ofertasFPE/_TEXTO_/ detalleCurso_LETRA_.html?step=obtenerCurso&idCurso= _IDCURSO_&pg=_PAG_&ticket=nocas

4.7. Funcionamiento y consideraciones realizadas

93

siendo aplicacin.

_LETRA_

_IDCURSO_

dos identicadores que dependen del curso esco-

gido, y que el propio STB enva como parmetros en su peticin al servidor de

Para la seleccin de la informacin de inters, se busca en todo el cuerpo del mensaje recibido los nodos con etiqueta

<h4>, <td>

<li>.

4.7.5. Directorio del SAE


En el directorio

emission,

el chero

directorio_SAE.xml

es el encargado de

mostrar el men y los mapas de este servicio. Por su parte, dentro del directorio halla un nico archivo XPL, de nombre en

directorio_SAE.xpl, que genera la pgina

rc se

XML segn haya solicitado el STB y siguiendo las transformaciones programadas

directorio_SAE.xsl.
La URL del servidor web a la que el servidor de aplicacin accede, as como

el XPath del que se recuperar la informacin, dependen de la informacin que el usuario desee consultar. As, si se trata de un rea de empleo territorial, la peticin HTTP ser dirigida a:

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/institucional/contactar/directorioSAE/ ate_PROVINCIA_/?ticket=nocas


siendo

_PROVINCIA_

un identicador de la provincia andaluza sobre la que se

desee consultar informacin. Por su parte, los XPath a partir de los cuales se seleccionarn los datos de inters son los siguientes:

//h3[@class='btnInstitucional']/span //h4[@class='tit-btnInstitucional']
para el nombre del rea y de las tablas de informacin, respectivamente. En el caso de que el usuario no desee consultar informacin acerca de un rea territorial de empleo, sino sobre una direccin provincial, se accede en su lugar a la URL:

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/institucional/contactar/directorioSAE/ _PROVINCIA_/?ticket=nocas


Del mismo modo, los XPath de inters para recuperar la informacin el nombre de la direccin provincial y de las tablas de informacin son, respectivamente:

//h3[@class='btnInstitucional']/span //table
Por ltimo, en el caso de que la informacin solicitada verse sobre un servicio central, la URL del servidor del SAE solicitada es la siguiente:

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/institucional/contactar/directorioSAE/ _OPCION_/?ticket=nocas

94

Captulo 4. Programacin y desarrollo de la aplicacin

siendo

_OPCION_

una cadena de texto que depende del servicio general en par-

ticular. Por ejemplo, tomara el valor

presidenteSAE si se desea informacin sobre

el Consejero (Presidente del Servicio Andaluz de Empleo). Mientras que los dos XPath de inters en este ltimo caso son:

//meta[@name='Description'] //table/tbody/tr Ntese que el chero directorio_SAE.xpl

discrimina entre una accin u otra

en funcin de los parmetros que reciba del STB.

4.7.6. Pgina web del SAE


Este servicio se compone de una nica pgina esttica, ubicada en el directorio de emisin, y de nombre

web_SAE.xml.

Captulo 5

Conclusiones
Sacaste ya tu conclusin estpida? Todo el mundo saca su conclusin estpida cuando me conoce. Quino (en boca de Libertad, personaje de Mafalda )
Durante el transcurso del Proyecto se ha desarrollado la aplicacin interactiva objetivo del mismo. A modo de conclusin, en este captulo se comienza por ofrecer una perspectiva genrica del producto obtenido para, a continuacin, pasar a exponer algunas limitaciones de inters de la aplicacin. Por ltimo, se cierra el captulo detallando una serie de ampliaciones que podran ser implementadas en el futuro, partiendo del trabajo ya realizado.
Resumen:

5.1. Perspectiva global del Proyecto


Se puede armar que la aplicacin desarrollada cumple con los objetivos propuestos. Desde un punto de vista funcional, ofrece una serie de caractersticas de inters, tales como una sencilla e intuitiva interfaz frente al usuario, un aspecto general que recuerda al de la pgina web del SAE, una considerable facilidad de uso, y, principalmente, unos servicios con informacin actualizada que logran emular la navegacin mediante un navegador web, gracias a la recuperacin de contenidos de Internet en tiempo real y bajo demanda del usuario. Desde un punto de vista tcnico, la aplicacin interactiva ha sido desarrollada en los lenguajes XML, XPL y XSLT propios de

T-mira,

cuya principal ventaja es

la obtencin de un cdigo relativamente intuitivo y portable a otras plataformas. Como inconvenientes, cabe destacar la restriccin de la funcionalidad de Java-MHP. Asimismo, se ha podido comprobar que es posible obtener informacin de servidores web, realizar bsquedas y transformar la informacin recibida, que normalmente se trata de un chero HTML, para darle el formato deseado y mostrarla en 95

96

Captulo 5. Conclusiones

la TV. Debido a las limitaciones de recursos del STB (

Set-Top-Box ), el proceso de

extraer la informacin de inters y aplicarle el formato deseado lo realiza el propio servidor de aplicacin, aunque podra programarse en cualquier otro servidor intermedio, al cual el STB enviara las peticiones HTTP. Puesto que en Internet existen multitud de servicios y pginas que pueden resultar de inters, se abre un amplio abanico de posibilidades tambin para las aplicaciones interactivas para la TV, siempre y cuando se puedan salvar las dicultades tcnicas del proceso.

5.2. Limitaciones
Se desea hacer nfasis en esta seccin sobre algunas limitaciones de la aplicacin an no tratadas en este documento, pero no por ello carentes de importancia.

5.2.1. Mantenimiento de la aplicacin


Como ya se ha detallado, todos los servicios que recuperan informacin de pginas web necesitan del proceso de realizar la conversin de formatos, segn las transformaciones denidas en los cheros XSL. La programacin de dicho proceso depende de la pgina web especca a la que se est accediendo, pues, por ejemplo, los XPath a los que se accede varan segn el formato del chero HTML recibido. Por otro lado, la programacin de los cheros XPL tambin depende en su mayor parte de la pgina web que se solicite, ya que puede variar no slo la URL, sino tambin el nmero de mensajes HTTP enviados, el tipo de stos, los parmetros que contienen, la gestin de cookies, etc. Por todo ello, si el formato del chero HTML cambiase (se insertaran nuevas etiquetas, se modicara el esquema del documento, . . . ), o bien si cambiara el esquema de solicitud/respuesta del servidor web, la aplicacin podra dejar de funcionar correctamente. Para evitar este problema, se hace necesario realizar tareas de mantenimiento sobre la aplicacin interactiva, en adecuada coordinacin con las tareas de mantenimiento de las pginas web. Es decir, si se decidiera realizar una actualizacin de formato (no de contenido) de la web, tambin habra de realizarse otra actualizacin paralela de la aplicacin.

5.2.2. El servidor de aplicacin


Antes de comenzar a emitir la aplicacin en un entorno real, sera necesario analizar las capacidades ofrecidas por el servidor de aplicacin frente a la demanda esperada, ya que un nico equipo podra resultar insuciente para procesar las peticiones de un elevado nmero de usuarios. Una posible alternativa consistira en instalar el sistema

tmInteractive

en distintos equipos que trabajen en paralelo,

no necesariamente relacionados con el servidor de aplicacin. De esta manera, se conseguira adems dotar de redundancia al sistema nal.

5.3. Posibles lneas de ampliacin

97

Por otro lado, si un mismo equipo lanza un elevado nmero de peticiones HTTP al mismo servidor web, este ltimo podra interpretar los mensajes como un ataque DoS (

Denial of Service ), pasando a ignorar los futuros mensajes del equipo origen. tmInteractive

En el caso de implementar una conguracin en la que todos los equipos que estn ejecutando el sistema tengan la misma direccin IP frente a Internet, habra que asegurarse de congurar adecuadamente los servidores web destino (principalmente los del SAE) para que admitieran el previsiblemente elevado ujo de informacin.

5.3. Posibles lneas de ampliacin


A lo largo de la realizacin de este Proyecto han surgidos diferentes aspectos o limitaciones que son susceptibles de mejora. Unos se deben a alguna limitacin tcnica de los equipos disponibles en el Laboratorio, mientras que el resto se justican en otro tipo de argumentos. Se lista a continuacin una serie de mejoras aplicables a la aplicacin desarrollada, con el n de que sirvan como referente en posibles reimplementaciones futuras de la misma.

Enviar el Currculum Vitae a las ofertas de empleo de inters: Dicha


opcin es posible a travs de la interfaz web tanto en la pgina web del SAE como en la mencionada en el apartado 4.2.3.2. Sin embargo, en ambos casos se hace uso del protocolo HTTPS, es decir, la comunicacin viaja cifrada a travs de Internet. Dado que, como se ha comentado en el apartado 4.4.4, se produce algn tipo de error con los mensajes HTTP de tipo POST y con la obtencin de la cookie de sesin cuando se utiliza el protocolo SSL, en la actual implementacin de la aplicacin se ha descartado esta posibilidad.

Acceso a los datos de usuario y al CV registrados en la base de datos del SAE: Tambin sera interesante poder acceder y modicar los datos de
usuario de la base de datos del SAE a travs de la aplicacin interactiva, as como el CV. Dicha opcin se ha descartado por el mismo motivo que la anterior, al ser las comunicaciones cifradas.

Sustitucin de la fuente del servicio buscador de ofertas de empleo: En relacin con las ampliaciones anteriores, sera de inters poder
obtener las ofertas de empleo directamente de la pgina web del SAE, para dar mayor uniformidad y conanza a la aplicacin.

Identicacin de usuario mediante certicado digital: Otra posible


opcin para identicar a cada usuario, adems de usuario y contrasea, sera mediante un certicado digital. Por ejemplo, el DNI electrnico (DNIe) incorpora un certicado digital, con el cual es posible identicar de forma inequvoca al usuario. La pgina web del SAE permite esta posibilidad, por lo que en principio podra desarrollarse sobre MHP. No obstante, la idea fue descartada, no slo por los mismos motivos que las anteriores, sino adems

98

Captulo 5. Conclusiones

porque el decodicador MHP del Laboratorio no dispone de lector de tarjetas

Smart Card.

Consultas al SAE: La pgina web del SAE permite enviar consultas a


travs de un formulario web. Sin embargo, este servicio ha sido descartado en la aplicacin interactiva por dos razones. La primera de ellas es que requiere realizar una complicada gestin de cookies, incluyendo algunas de

Analytics. La segunda es meramente prctica: escribir en un formulario, ya sea


con el teclado alfanumrico del mando a distancia o con el teclado virtual, es un proceso bastante tedioso, por lo que resultara mucho ms cmodo realizar la consulta a travs de un PC, quedando el servicio de la aplicacin interactiva prcticamente en desuso.

Google

Apndice A

Conguracin de los equipos del LAB-TDT


Oh Marvelous! What new conguration will come next? I am bewildered with multiplicity. William Carlos Williams (At Dawn )
Este apndice tiene como objetivo completar la informacin proporcionada en el captulo 3 en lo que respecta a la conguracin de los equipos, mostrando una serie de capturas de pantalla de los programas de conguracin ms relevantes.
Resumen:

A.1. Introduccin
Se ha estructurado este apndice en las siguientes secciones:

Conguracin de la tarjeta codicadora de SIDSA. Como se expuso


en el captulo 3, dicha conguracin se realiza a travs de un navegador web.

Conguracin de la tarjeta moduladora de SIDSA. Las capturas mostradas en esta seccin corresponden al programa lado en el PC del Laboratorio.

PolarPlus Manager,

insta-

Conguracin del programa DtLoop, el cual determina el comportamiento de la tarjeta moduladora

DekTec.

Programa TS Reader. Aunque no determina la conguracin, puede resultar til disponer de capturas de pantalla de dicho programa a modo informativo.

Conguracin del servidor de aplicacin. Nuevamente, dicha conguracin se realiza a travs de un navegador web.

99

100

Apndice A. Conguracin de los equipos del LAB-TDT

A.2. Tarjeta codicadora de

SIDSA

Figura A.1: Conguracin de la tarjeta codicadora de

SIDSA (pestaa settings )

A.2. Tarjeta codicadora de

SIDSA

101

Figura A.2: Conguracin de la tarjeta codicadora de

SIDSA (pestaa transport )

102

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.3: Conguracin de la tarjeta codicadora de

SIDSA (pestaa video )

A.2. Tarjeta codicadora de

SIDSA

103

Figura A.4: Conguracin de la tarjeta codicadora de

SIDSA (pestaa audio )

104

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.5: Conguracin de la tarjeta codicadora de

SIDSA (pestaa SAP )

A.2. Tarjeta codicadora de

SIDSA

105

Figura A.6: Conguracin de la tarjeta codicadora de

SIDSA (pestaa destination )

106

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.7: Conguracin de la tarjeta codicadora de

SIDSA (pestaa GPIO )

A.3. Tarjeta moduladora de

SIDSA

107

A.3. Tarjeta moduladora de

SIDSA

Figura A.8: Pantalla principal del programa

PolarPlus Manager

108

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.9: Conguracin de la tarjeta moduladora de

SIDSA (multiplexed services )

A.3. Tarjeta moduladora de

SIDSA

109

Figura A.10: Conguracin de la tarjeta moduladora de 1/2)

SIDSA

(pestaa

inputs,

110

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.11: Conguracin de la tarjeta moduladora de 2/2)

SIDSA

(pestaa

inputs,

A.3. Tarjeta moduladora de

SIDSA

111

Figura A.12: Conguracin de la tarjeta moduladora de 1/4)

SIDSA

(pestaa

output,

112

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.13: Conguracin de la tarjeta moduladora de 2/4)

SIDSA

(pestaa

output,

A.3. Tarjeta moduladora de

SIDSA

113

Figura A.14: Conguracin de la tarjeta moduladora de 3/4)

SIDSA

(pestaa

output,

114

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.15: Conguracin de la tarjeta moduladora de 4/4)

SIDSA

(pestaa

output,

A.3. Tarjeta moduladora de

SIDSA

115

Figura A.16: Conguracin de la tarjeta moduladora de

SIDSA (pestaa SI, 1/6)

116

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.17: Conguracin de la tarjeta moduladora de

SIDSA (pestaa SI, 2/6)

A.3. Tarjeta moduladora de

SIDSA

117

Figura A.18: Conguracin de la tarjeta moduladora de

SIDSA (pestaa SI, 3/6)

118

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.19: Conguracin de la tarjeta moduladora de

SIDSA (pestaa SI, 4/6)

A.3. Tarjeta moduladora de

SIDSA

119

Figura A.20: Conguracin de la tarjeta moduladora de

SIDSA (pestaa SI, 5/6)

120

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.21: Conguracin de la tarjeta moduladora de

SIDSA (pestaa SI, 6/6)

A.4. Programa

DtLoop

121

A.4. Programa DtLoop

Figura A.22: Conguracin del programa

DtLoop

122

Apndice A. Conguracin de los equipos del LAB-TDT

A.5. Programa TS

Reader

Figura A.23: Aspecto del programa

TS Reader, ejecucin 1 (1/2)

A.5. Programa

TS Reader

123

Figura A.24: Aspecto del programa

TS Reader, ejecucin 1 (2/2)

124

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.25: Aspecto del programa

TS Reader, ejecucin 2 (1/2)

A.5. Programa

TS Reader

125

Figura A.26: Aspecto del programa

TS Reader, ejecucin 2 (2/2)

126

Apndice A. Conguracin de los equipos del LAB-TDT

A.6. Servidor de aplicacin

Figura A.27: Conguracin del servidor de aplicacin (pestaa

red )

A.6. Servidor de aplicacin

127

Figura A.28: Conguracin del servidor de aplicacin (pestaa

servicios )

128

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.29: Conguracin del servidor de aplicacin (pestaa

tablas SI )

A.6. Servidor de aplicacin

129

Figura A.30: Conguracin del servidor de aplicacin (pestaa

salida )

130

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.31: Planicacin del servicio

Prodetur 2

A.6. Servidor de aplicacin

131

Figura A.32: Men para subir la aplicacin al sistema

tmPlayer

132

Apndice A. Conguracin de los equipos del LAB-TDT

Figura A.33: Men para subir la aplicacin al sistema

tmInteractive

Apndice B

Ficheros desarrollados para la aplicacin


Medir el progreso de la programacin por lneas de cdigo es como medir el progreso en la construccin de aviones por el peso. Bill Gates
En este apndice se adjunta todo el cdigo desarrollado para la aplicacin interactiva, escrito en los lenguajes XML (Extensible Markup Language ), XSLT (Extensible Stylesheet Language Transformations ) y XPL (XML Pipeline Language ).
Resumen:

B.1. Introduccin
Se incluyen en este apndice todos los cheros XML, XPL y XSL desarrollados, con el n de que el lector interesado tenga acceso a los detalles de la implementacin. Se ha estructurado el captulo de la siguiente manera: Cada seccin corresponde a cada uno de los directorios utilizados. Se comienza por presentar todos los cheros del directorio pasar a mostrar el contenido de funcionamiento de la aplicacin. Dentro de cada seccin, los archivos han sido distribuidos en distintos apartados, segn el servicio o funcionalidad al que pertenezcan. El orden de los cheros dentro de cada apartado se ha procurado determinar de forma lgica, esto es, en funcin de su importancia u orden de utilizacin.

rc

y de

emission, para xpl, en ese orden.

a continuacin Por ltimo, se

dedica otra seccin a enumerar los cheros de imgenes necesarios para el

133

134

Apndice B. Ficheros desarrollados para la aplicacin

B.2. Directorio de emisin


B.2.1. Ficheros generales
cong.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

<? xml

<c o n f i g

version

=" 1 . 0 "

x m l n s : x i=" h t t p : / /www . w3 . o r g / 2 0 0 1 / X I n c l u d e "

encoding

=" u t f

8" ?>

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 / XMLSchema" x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s " x m l n s : t m g=" h t t p : / /www . t m i r a . com/ o p s / p r o c e s s o r s " x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f / p i p e l i n e ">

< s e r v e r> 1 9 2 . 1 6 8 . 1 0 1 . 2</ s e r v e r> <p o r t>8 0 8 0</ p o r t> <c a r d>s m a r t c a r d</ c a r d> < a i d /> <modem_phone/> <modem_user /> <modem_password />

</ c o n f i g>

service.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding
ayuda

=" ISO

for

tmNews

8859 1 " ?> >

<s e r v i c e

i d="SAE">

<!

Pgina

de

la

>
p a g e=" h e l p . xml "> </ p a g e>

<p a g e

i d=" h e l p "

p a t h=" h e l p / "

<!

Posicin p o s x=" 1 6 "

tamao

de

la

televisin

( capa

de

vdeo )

>

<t v

p o s y=" 1 0 "

s i z e x =" 2 1 0 "

s i z e y =" 1 6 8 "> </ t v>

<!

Pginas

de

servicio p a t h=" "

>
p a g e=" i n d e x . xml "> </ p a g e> p a t h=" " p a t h=" " p a t h=" " p a t h=" " p a t h=" " p a g e=" g u i a _ b u s q u e d a . xml "> </ p a g e> p a g e=" g u i a _ b u s q u e d a 1 . xml "> </ p a g e> p a g e=" g u i a _ b u s q u e d a 2 . xml "> </ p a g e> p a g e=" g u i a _ b u s q u e d a 3 . xml "> </ p a g e> p a g e=" g u i a _ b u s q u e d a 4 . xml "> </ p a g e> p a g e=" f o r m a c i o n _ e m p l e o . xml "> </ p a g e> p a g e=" a n u n c i o s _ e m p l e o . xml "> </ p a g e> p a t h=" " p a g e=" o f e r t a s _ e m p l e o _ p u b l i c o .

<p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e

i d=" i n d e x "

i d=" g u i a _ b u s q u e d a " i d=" g u i a _ b u s q u e d a 1 " i d=" g u i a _ b u s q u e d a 2 " i d=" g u i a _ b u s q u e d a 3 " i d=" g u i a _ b u s q u e d a 4 "

i d=" f o r m a c i o n _ e m p l e o " i d=" a n u n c i o s _ e m p l e o "

p a t h=" " p a t h=" "

i d=" o f e r t a s _ e m p l e o _ p u b l i c o "

xml "> </ p a g e> <p a g e <p a g e <! i d=" d i r e c t o r i o _ S A E " i d="web_SAE" Pginas de p a t h=" " p a t h=" " p a g e=" d i r e c t o r i o _ S A E . xml "> </ p a g e>

p a g e="web_SAE . xml "> </ p a g e> bsqueda empleo )

servicio p a t h=" " p a t h=" " p a t h=" " p a t h=" " p a t h=" " p a t h=" "

( gua

>

<p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e

i d="_11" i d="_12" i d="_13" i d="_21" i d="_22" i d="_23" i d=" 2 4 "

p a g e="_11 . xml "> </ p a g e> p a g e="_12 . xml "> </ p a g e> p a g e="_13 . xml "> </ p a g e> p a g e="_21 . xml "> </ p a g e> p a g e="_22 . xml "> </ p a g e> p a g e="_23 . xml "> </ p a g e> p a g e=" 2 4 . xml "> </ p a g e> p a g e=" _241 . xml "> </ p a g e> p a g e=" _242 . xml "> </ p a g e>

p a t h=" "

i d=" _241 " i d=" _242 "

p a t h=" " p a t h=" "

B.2. Directorio de emisin

135

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

<p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e <p a g e

i d="_25" i d=" 2 6 "

p a t h=" " p a t h=" "

p a g e="_25 . xml "> </ p a g e> p a g e=" 2 6 . xml "> </ p a g e> p a g e=" _261 . xml "> </ p a g e> p a g e=" _262 . xml "> </ p a g e> p a g e="_31 . xml "> </ p a g e> p a g e="_32 . xml "> </ p a g e> p a g e="_33 . xml "> </ p a g e> p a g e="_34 . xml "> </ p a g e> p a g e="_35 . xml "> </ p a g e> p a g e="_36 . xml "> </ p a g e> p a g e="_41 . xml "> </ p a g e> p a g e="_42 . xml "> </ p a g e> p a g e="_43 . xml "> </ p a g e> p a g e="_44 . xml "> </ p a g e>

i d=" _261 " i d=" _262 " i d="_31" i d="_32" i d="_33" i d="_34" i d="_35" i d="_36" i d="_41" i d="_42" i d="_43" i d="_44"

p a t h=" " p a t h=" " p a t h=" " p a t h=" " p a t h=" " p a t h=" " p a t h=" " p a t h=" " p a t h=" " p a t h=" " p a t h=" " p a t h=" "

</ s e r v i c e>

styles.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

<? xml <!

Styles

version

=" 1 . 0 "

file

>

encoding

="UTF

8" ?>

< s t y l e s>

<s t y l e

<s t y l e

<s t y l e

<s t y l e

<s t y l e

<s t y l e

id font size type colfore halign valign insetx insety alpha id font size type colfore halign valign insetx insety alpha id font size type colfore halign valign insetx insety alpha id font size type colfore halign valign insetx insety alpha id font size type colback colfore halign valign insetx insety alpha id font size type colback colfore colbackhigh colforehigh halign valign alpha insetx insety
=" s_body " =" T i r e s i a s " =" 2 1 " =" 1 " ="#DF7401 " =" 1 5 " l i n e s p a c e =" 2 0 " =" 1 " =" 0 " =" 5 " =" 2 5 5 "> </ s t y l e> =" s_body2 " =" T i r e s i a s " =" 2 0 " =" 1 " =" #000000 " =" 1 5 " l i n e s p a c e =" 1 9 " =" 1 " =" 0 " =" 5 " =" 2 5 5 "> </ s t y l e> =" s_body3 " =" T i r e s i a s " =" 2 0 " =" =" 1 " ="#DF7401 " =" 1 5 " l i n e s p a c e =" 1 9 " 1" =" 0 " =" 5 " =" 2 5 5 "> </ s t y l e> =" s _ b o d y D e t a l l e " =" #000000 " =" 1 0 " =" T i r e s i a s " =" 1 6 " =" 1 " l i n e s p a c e =" 1 7 " =" 1 " =" 0 " =" 5 " =" 2 5 5 "> </ s t y l e> =" s_body_form " =" T i r e s i a s " =" 1 9 " =" 1 " ="# FEF4E6" =" #000000 " =" 1 5 " l i n e s p a c e =" 1 8 " =" 1 " =" 0 " =" 5 " =" 2 5 5 "> </ s t y l e> =" s_menu_form " =" T i r e s i a s " =" 1 9 " =" 1 " ="# BCBCBC" =" #41448A" =" ="# E5CB89" l i n e s p a c e =" 1 5 " 1" =" 0 " =" 2 5 5 " =" 5 " " 1 0 "> </ s t y l e> ="# E5CB89" / s t y l e>

="#0D1CEC" =

22 23

<s t y l e

id insetx

=" s_menuver " =" 0 "

font insety colback colforehigh


=" 0 "

=" T i r e s i a s "

="# BCBCBC"

="#0D1CEC"

size type colfore halign valign


=" 1 8 " =" 1" ="# BCBCBC"

=" 1 "

l i n e s p a c e =" 1 8 "

=" #41448A" =" 0 "

colbackhigh alpha
=" 0 "

=" 2 5 5 "> <

24 25

<s t y l e

26

id insetx colbackhigh alpha


" 15 "

=" s _ m e n u v e r C u r s o s " =" 0 "

="# E5CB89"

insety

=" 1 3 "

=" 2 5 5 "> </ s t y l e>

font colback colforehigh

=" T i r e s i a s "

size

=" 1 8 "

="#0D1CEC"

type colfore halign valign


=" 1 " =" 1"

l i n e s p a c e=

=" #41448A"

136

Apndice B. Ficheros desarrollados para la aplicacin

27

<s t y l e

#41448A"

28 29

<s t y l e

30 31

<s t y l e

#0D1CEC"

32 33

<s t y l e

34 35

<s t y l e

A0A0A0"

font size type insetx insety colback colfore colbackhigh colforehigh halign valign alpha id font size type insetx insety colback colfore colbackhigh colforehigh halign valign alpha id font size type insetx insety colfore colforehigh halign valign alpha id font size type colback colfore colbackhigh colforehigh insetx insety halign valign alpha id font size type colback colfore colbackhigh colforehigh insetx insety halign valign alpha
=" s _ m e n u v e r E m p r e s a s " =" 0 " =" T i r e s i a s " =" 0 " =" 1 5 " =" 1 " l i n e s p a c e =" 1 5 " ="# BCBCBC" =" 1" ="# E5CB89" ="#0D1CEC" =" =" 0 " =" 2 5 5 "> </ s t y l e> =" s_menuhor " =" 0 " =" T i r e s i a s " =" 2 0 " =" 1 " l i n e s p a c e =" 1 8 " =" 2 0 " ="# BCBCBC" =" #41448A" =" 1" ="# E5CB89" ="#0D1CEC" =" 0 " =" 2 5 5 "> </ s t y l e> =" s _ m e n u h o r C e n t r a d o " =" 0 " =" T i r e s i a s " =" 2 0 " =" 2 0 " =" 1 " l i n e s p a c e =" 1 8 " =" #41448A" =" 0 " =" 0 " =" 2 5 5 "> </ s t y l e> =" s_popup " =" T i r e s i a s " =" 2 0 " =" 1 " =" #666666 " =" 5 " ="#48A2AA" ="# f f f f f f " =" 1" " 10 " b o r d e r s i z e =" 0 " l i n e s p a c e =" 0 " =" 0 " =" 2 5 5 "> </ s t y l e> =" s _ t a b l a _ p a r e s " =" T i r e s i a s " =" 1 5 " =" 1 " ="# =" #000000 " =" 5 " ="# E5CB89" =" =" 0 " l i n e s p a c e =" 1 5 " 1" =" 0 " 2 5 5 "> </ s t y l e>

id

="

="# CAE4E7" =

="#0D1CEC" ="

36 37

<s t y l e

C0C0C0"

2 5 5 "> </ s t y l e>

id colfore insetx insety


=" 0 " =" 0 "

=" s _ t a b l a _ i m p a r e s "

=" #000000 " =" 5 "

l i n e s p a c e =" 1 5 "

font colbackhigh

=" T i r e s i a s "

="# E5CB89" ="

size halign

=" 1 5 "

1"

type colback colforehigh valign alpha


=" 1 " =" 0 " =" 1 " =" 0 "

="#

="#0D1CEC" ="

38 39

<s t y l e

# F1AE4A" "

2 5 5 "> </ s t y l e>

id colfore insetx insety


=" 2 0 " =" 0 "

=" s _ t a b l a _ c a b e c e r a "

=" #000000 " =" 5 "

l i n e s p a c e =" 1 5 "

font colbackhigh

=" T i r e s i a s "

="# F2BA0F" ="

size halign

=" 1 5 "

1"

type colback colforehigh valign alpha


=" 1 " l i n e s p a c e =" 1 5 "

="

="#0D1CEC ="

40 41

<s t y l e

42 43

id insety halign

=" s_menuSinFondo "

colfore valign

=" #000000 "

=" 0 "

font alpha

=" T i r e s i a s "

=" 2 5 5 "> </ s t y l e>

size colforehigh

=" 1 7 "

=" #000000 "

type

insetx

=" 0 "

</ s t y l e s>

index.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

<? xml

version

=" 1 . 0 "

encoding

=" ISO

8859 1 " ?> >

<!

Interface

definition

for

tmNews

<p a g e

i d=" i n d e x "

b a c k g r o u n d=" b a c k g r o u n d . mpg">

<!

Para

que

se

vea

la

ayuda

al

pulsar

el

botn

amarillo

>

<h e l p>c _ h e l p</ h e l p>

<!

Contenedor

para

los

botones

del

men

principal

>
p o s y=" 3 5 0 " sizex

<c o n t a i n e r =" 3 6 6 "

i d=" c_mp_botones " s i z e y =" 1 5 8 ">

v i s =" 1 "

a l p h a=" 0 "

p o s x=" 4 5 "

<menu "

t y p e=" m a t r i x " i t e m x=" 1 2 2 "

n r o w s=" 2 "

p o s x=" 0 " s e p x=" 0 "

p o s y=" 0 " s e p y=" 0 "

s i z e x =" 3 6 6 "

s i z e y =" 1 5 8

i t e m y=" 7 9 "

s t y l e =" s_menuSinFondo ">

<menuitem

s t r =" G u a

para

la

bsqueda

d e& # xD ; e m p l e o "

img=" i m a g e s / o n o v e r=

b o t _ g r a n d e _ o f f . png "

i m g f o c u s=" i m a g e s / b o t _ g r a n d e _ o n . png "

" s h o w c o n t ( i n d e x . c_mp_help_guia ) ">

B.2. Directorio de emisin

137

16 17 18 19

<a c t i o n

k e y="O K"

a c t=" h i d e p a g e ( i n d e x ) , s h o w p a g e ( g u i a _ b u s q u e d a ) "> <

/ a c t i o n> </ menuitem>

<menuitem

s t r ="& # xD ; F o r m a c i n& # xD ; p a r a

el

empleo "

img=" i m a g e s / o n o v e r=

b o t _ g r a n d e _ o f f . png "

i m g f o c u s=" i m a g e s / b o t _ g r a n d e _ o n . png "

" s h o w c o n t ( i n d e x . c_mp_help_formacion ) ">

20 21 22 23

<a c t i o n

k e y="O K"

a c t=" h i d e p a g e ( i n d e x ) , s h o w p a g e ( f o r m a c i o n _ e m p l e o )

"> </ a c t i o n> </ menuitem>

<menuitem

s t r ="& # xD ; A n u n c i o s& # xD ; d e

empleo "

img=" i m a g e s / o n o v e r=

b o t _ g r a n d e _ o f f . png "

i m g f o c u s=" i m a g e s / b o t _ g r a n d e _ o n . png "

" s h o w c o n t ( i n d e x . c_mp_help_anuncios ) ">

24 25 26 27

<a c t i o n

k e y="O K"

a c t=" h i d e p a g e ( i n d e x ) , s h o w p a g e ( a n u n c i o s _ e m p l e o ) "

> </ a c t i o n> </ menuitem>

<menuitem

s t r ="& # xD ; D i r e c t o r i o& # xD ; d e l

SAE"

img=" i m a g e s / o n o v e r=

b o t _ g r a n d e _ o f f . png "

i m g f o c u s=" i m a g e s / b o t _ g r a n d e _ o n . png "

" s h o w c o n t ( i n d e x . c _ m p _ h e l p _ d i r e c t o r i o ) ">

28 29 30 31

<a c t i o n

k e y="O K"

a c t=" h i d e p a g e ( i n d e x ) , s h o w p a g e ( d i r e c t o r i o _ S A E ) ">

</ a c t i o n> </ menuitem>

<menuitem

s t r ="& # xD ; E m p r e s a s& # xD ; a n d a l u z a s "

img=" i m a g e s / o n o v e r=

b o t _ g r a n d e _ o f f . png "

i m g f o c u s=" i m a g e s / b o t _ g r a n d e _ o n . png "

" s h o w c o n t ( i n d e x . c_mp_help_empresas ) ">

32

<a c t i o n

k e y="O K"

a c t=" h i d e p a g e ( i n d e x ) , s h o w p a g e ( h t t p : / / $ s e r v e r ; : $ a c t b a c k="

p o r t ; / i t v / apps /16003/800/ r c / e m p r e s a s _ f o r m u l a r i o ) " hidepage (

, s h o w p a g e ( i n d e x ) "> </ a c t i o n>

33 34 35

</ menuitem>

<menuitem

s t r ="& # xD ; P g i n a

web & # xD ; d e l

SAE"

img=" i m a g e s / o n o v e r=

b o t _ g r a n d e _ o f f . png "

i m g f o c u s=" i m a g e s / b o t _ g r a n d e _ o n . png "

" s h o w c o n t ( i n d e x . c_mp_help_web ) ">

36 37 38 39 40 41 42 43 44 45

<a c t i o n

k e y="O K"

a c t=" h i d e p a g e ( i n d e x ) , s h o w p a g e ( web_SAE ) "> </

a c t i o n> </ menuitem>

</menu > </ c o n t a i n e r>

<!

Contenedor

para

el

texto

de

bienvenida

>
p o s x=" 4 5 " p o s y=" 2 3 0 " s i z e x ="

<c o n t a i n e r 650 "

i d=" c_mp_texto "

v i s =" 1 "

a l p h a=" 0 "

s i z e y =" 1 4 0 ">

<t e x t

s t y l e =" s_body " a

p o s x=" 0 " la

p o s y=" 0 "

s i z e x =" 6 5 0 " de Empleo

s i z e y =" 3 0 " de la Junta

s c r o l l =" de

0 ">B i e n v e n i d o / a

Oficina

Virtual

A n d a l u c a .</ t e x t>

46 47 48 49 50 51 52 53 54 55
Si lo

<t e x t

s t y l e =" s_body2 "

p o s x=" 0 " la

p o s y=" 4 0 "

s i z e x =" 3 8 0 " y pulse

s i z e y =" 1 0 0 " "O K" . del mando a

s c r o l l =" 0 "> S e l e c c i o n e desea , puede ver la ayuda

opcin

deseada el botn

pulsando

amarillo

distancia . </ t e x t>

</ c o n t a i n e r>

<!

Contenedor

para

la

imagen

de

ayuda

>
a l p h a=" 0 " p o s x=" 4 1 8 " p o s y=" 2 7 0 "

<c o n t a i n e r

i d=" c_mp_help_imagen " s i z e y =" 2 4 0 ">

v i s =" 1 "

s i z e x =" 2 5 0 "

<i m a g e

p a t h=" i m a g e s /mp_ayuda . png "

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 2 5 0 "

s i z e y=

" 2 4 0 "> </ i m a g e>

138

Apndice B. Ficheros desarrollados para la aplicacin

56 57 58 59 60 61 62

</ c o n t a i n e r>

<!

Contenedores

para

cada

uno

de

los

textos

de

ayuda

>
p o s y=" 3 0 0 "

<c o n t a i n e r

i d=" c_mp_help_guia " s i z e y =" 2 0 0 ">

v i s =" 0 "

a l p h a=" 0 "

p o s x=" 4 4 8 "

s i z e x =" 1 9 0 " <t e x t

s t y l e =" s_body3 " para la

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 1 9 0 "

s i z e y =" 3 0 "

s c r o l l=

" 0 ">G u a <t e x t

b s q u e d a</ t e x t> p o s x=" 0 " p o s y=" 4 0 " en la s i z e x =" 1 9 0 " se s i z e y =" 1 6 0 " todos los pasos

s t y l e =" s_body2 "

s c r o l l =" 0 ">Una y consejos

completa para

gua la

que de

detallan

tiles

bsqueda

e m p l e o .</ t e x t>

63 64 65 66 67

</ c o n t a i n e r>

<c o n t a i n e r

i d="c_mp_help_web" s i z e y =" 2 0 0 ">

v i s =" 0 "

a l p h a=" 0 "

p o s x=" 4 4 8 "

p o s y=" 3 0 0 "

s i z e x =" 1 9 0 " <t e x t

s t y l e =" s_body3 " web del

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 1 9 0 "

s i z e y =" 3 0 "

s c r o l l=

" 0 ">P g i n a <t e x t

SAE </ t e x t> p o s x=" 0 " p o s y=" 4 0 " s i z e x =" 1 9 0 " enlaces s i z e y =" 1 6 0 " de Internet tiles

s t y l e =" s_body2 "

s c r o l l =" 0 ">A q u sobre el

podr

encontrar de

algunos

Servicio

Andaluz

S a l u d .</ t e x t>

68 69 70 71 72

</ c o n t a i n e r>

<c o n t a i n e r 300 " <t e x t

i d=" c_mp_help_formacion " s i z e y =" 2 0 0 "> p o s x=" 0 "

v i s =" 0 "

a l p h a=" 0 "

p o s x=" 4 4 8 "

p o s y="

s i z e x =" 2 0 0 "

s t y l e =" s_body3 " para el

p o s y=" 0 "

s i z e x =" 2 0 0 "

s i z e y =" 3 0 ">

Formacin <t e x t

e m p l e o</ t e x t> p o s x=" 0 " a un p o s y=" 4 0 " buscador de s i z e x =" 1 9 0 " cursos de s i z e y =" 1 6 0 " formacin para el

s t y l e =" s_body2 "

s c r o l l =" 0 ">Da empleo

acceso en

ofertados

A n d a l u c a .</ t e x t>

73 74 75 76 77

</ c o n t a i n e r>

<c o n t a i n e r "

i d=" c_mp_help_anuncios " s i z e y =" 2 0 0 "> p o s x=" 0 "

v i s =" 0 "

a l p h a=" 0 "

p o s x=" 4 4 8 "

p o s y=" 3 0 0

s i z e x =" 1 9 0 "

<t e x t

s t y l e =" s_body3 " de

p o s y=" 0 "

s i z e x =" 1 9 0 "

s i z e y =" 3 0 "

s c r o l l=

" 0 ">A n u n c i o s <t e x t

e m p l e o</ t e x t> p o s x=" 0 " acceder ofertas p o s y=" 4 0 " a un de s i z e x =" 1 9 0 " de s i z e y =" 1 6 0 " de empleo , as

s t y l e =" s_body2 "

s c r o l l =" 0 ">P e r m i t e como consultar las

buscador empleo

ofertas en

pblico

A n d a l u c a .</ t e x t>

78 79 80 81 82

</ c o n t a i n e r>

<c o n t a i n e r "

i d=" c_mp_help_empresas " s i z e y =" 2 0 0 "> p o s x=" 0 "

v i s =" 0 "

a l p h a=" 0 "

p o s x=" 4 4 8 "

p o s y=" 3 0 0

s i z e x =" 1 9 0 "

<t e x t

s t y l e =" s_body3 "

p o s y=" 0 "

s i z e x =" 1 9 0 "

s i z e y =" 3 0 "

s c r o l l=

" 0 ">E m p r e s a s <t e x t

a n d a l u z a s</ t e x t> p o s x=" 0 " p o s y=" 4 0 " sobre s i z e x =" 1 9 0 " las empresas s i z e y =" 1 6 0 " andaluzas que

s t y l e =" s_body2 "

s c r o l l =" 0 ">M u e s t r a ofrecen

informacin

e m p l e o .</ t e x t>

83 84 85 86 87

</ c o n t a i n e r>

<c o n t a i n e r 300 " <t e x t

i d=" c _ m p _ h e l p _ d i r e c t o r i o " s i z e y =" 2 0 0 "> p o s x=" 0 "

v i s =" 0 "

a l p h a=" 0 "

p o s x=" 4 4 8 "

p o s y="

s i z e x =" 1 9 0 "

s t y l e =" s_body3 " del

p o s y=" 0 "

s i z e x =" 1 9 0 "

s i z e y =" 3 0 "

s c r o l l=

" 0 "> D i r e c t o r i o <t e x t

SAE </ t e x t> p o s x=" 0 " obtener p o s y=" 4 0 " s i z e x =" 1 9 0 " sobre las s i z e y =" 1 6 0 " oficinas del SAE

s t y l e =" s_body2 "

s c r o l l =" 0 ">P e r m i t e en cada Comunidad

informacin

Autnoma .</ t e x t>

88 89 90

</ c o n t a i n e r>

</ p a g e>

B.2. Directorio de emisin

139

B.2.2. Pgina de ayuda


help/help.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding

=" ISO

for

tmNews

8859 1 " ?> >

<p a g e>

<c o n t a i n e r

i d=" c _ h e l p "

c o l b a c k="# FEF4E6" s i z e y =" 3 7 0 " p o s x=" 0 "

t y p e=" popup "

v i s =" 0 "

p o s x=" 0 "

p o s y=" 2 0 6 " <i m a g e

s i z e x =" 7 2 0 "

a l p h a=" 2 5 5 "> p o s y=" 0 " s i z e x =" 7 2 0 " s i z e y =" 9 5 "> <

p a t h=" h e l p / h e l p . png "

/ i m a g e> <i m a g e p a t h=" h e l p / h e l p _ f l e c h a s . png " p o s x=" 4 2 " p o s y=" 1 0 0 " s i z e x =" 4 5 "

s i z e y =" 4 5 "> </ i m a g e> <i m a g e p a t h=" h e l p / h e l p _ o k . png " p o s x=" 4 7 " p o s y=" 1 5 2 " s i z e x =" 3 0 " s i z e y ="

3 2 "> </ i m a g e> <i m a g e p a t h=" h e l p / h e l p _ v e r d e . png " p o s x=" 4 8 " p o s y=" 1 9 5 " s i z e x =" 2 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e p a t h=" h e l p / h e l p _ a m a r i l l o . png " p o s x=" 4 8 " p o s y=" 2 3 3 " s i z e x =" 2 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e p a t h=" h e l p / h e l p _ r o j o . png " p o s x=" 4 8 " p o s y=" 2 7 1 " s i z e x =" 2 8 " sizey

=" 2 8 "> </ i m a g e> <i m a g e p a t h=" h e l p / h e l p _ a z u l . png " p o s x=" 4 8 " p o s y=" 3 0 9 " s i z e x =" 2 8 " sizey

=" 2 8 "> </ i m a g e> <t e x t s t y l e =" s_body2 " p o s x=" 9 3 " por los p o s y=" 1 1 5 " mens</ t e x t> p o s y=" 1 5 9 " en el men s i z e x =" 6 2 0 " s i z e y =" 3 0 " s i z e x =" 6 2 0 " s i z e y =" 3 0 "

s c r o l l =" 0 ">N a v e g a r <t e x t s t y l e =" s_body2 "

p o s x=" 8 0 " / Entrar

s c r o l l =" 0 ">A c e p t a r <t e x t s t y l e =" s_body2 "

s e l e c c i o n a d o</ t e x t> s i z e x =" 6 2 0 " el s i z e y =" 3 0 " c a r c t e r</

p o s x=" 8 0 " al men

p o s y=" 2 0 1 " /

s c r o l l =" 0 ">V o l v e r t e x t>

anterior

Borrar

ltimo

16 17 18 19 20 21

<t e x t

s t y l e =" s_body2 "

p o s x=" 8 0 " / Salir de

p o s y=" 2 3 9 " esta

s i z e x =" 6 2 0 " de

s i z e y =" 3 0 "

s c r o l l =" 0 ">E n t r a r <t e x t s t y l e =" s_body2 "

pantalla

a y u d a</ t e x t> s i z e y =" 3 0 "

p o s x=" 8 0 " de la

p o s y=" 2 7 7 " y

s i z e x =" 6 2 0 " a la

s c r o l l =" 0 "> S a l i r <t e x t s t y l e =" s_body2 "

aplicacin

volver

TV </ t e x t> s i z e y =" 3 0 " p o s i b l e )</ t e x t>

p o s x=" 8 0 " el

p o s y=" 3 1 5 " virtual

s i z e x =" 6 2 0 " ( cuando sea

s c r o l l =" 0 ">M o s t r a r </ c o n t a i n e r>

teclado

</ p a g e>

B.2.3. Gua para la bsqueda de empleo


guia_busqueda.xml

1 2 3 4 5 6 7 8 9 10

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding

="UTF

for

tmNews

8" ?> >

<p a g e>

<h e l p>c _ h e l p</ h e l p>

<!

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=" 2 1 4 "

<c o n t a i n e r

i d=" c _ i n d i c e _ l a t e r a l " s i z e y =" 1 6 8 ">

v i s =" 1 "

s i z e x =" 1 1 8 " <i m a g e

p a t h=" i m a g e s / i n d _ g u i a _ o n . png "

p o s y=" 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e> p o s y=" 2 8 " p o s x=" 0 " s i z e x ="

118 "

140

Apndice B. Ficheros desarrollados para la aplicacin

11 12 13 14 15 16 17 18 19 20

<i m a g e

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 5 6 "

p o s x=" 0 "

s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 8 4 "

p o s x=" 0 "

s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 1 1 2 "

p o s x=" 0 "

s i z e x=

" 118 " <i m a g e

p a t h=" i m a g e s / i n d _ w e b _ o f f . png "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> </ c o n t a i n e r>

<!

Contenedor

del

texto

de

bienvenida

>
p o s y=" 2 2 3 " s i z e x =" 5 2 0 " s i z e y ="

<c o n t a i n e r 90 " <t e x t

i d=" c _ b i e n v "

v i s =" 1 "

p o s x=" 3 0 "

a l p h a=" 0 "> s t y l e =" s_body " para la p o s x=" 0 " bsqueda p o s y=" 0 " de s i z e x =" 5 2 0 " s i z e y =" 2 5 " s c r o l l ="

0 ">G u a <t e x t

e m p l e o</ t e x t> p o s y=" 2 5 " toda con s i z e x =" 5 2 0 " la las s i z e y =" 6 5 " sobre opcin la deseada y scroll

s t y l e =" s_body2 " aqu ,

p o s x=" 0 " podr

=" 0 ">D e s d e bsqueda pulse de

obtener

informacin flechas la

empleo .

Seleccione

"O K" .</ t e x t>

21 22 23 24 25 26 27 28 29

</ c o n t a i n e r>

<!

Contenedor

del

men

vertical

principal

(5

items )

>
s i z e y ="

<c o n t a i n e r 200 "

i d="c_menu"

v i s =" 1 "

p o s x=" 5 0 "

p o s y=" 3 1 5 "

s i z e x =" 4 0 0 "

a l p h a=" 0 ">

<menu

t y p e=" v e r t i c a l " i t e m y=" 3 5 "

p o s x=" 0 " s e p x=" 0 "

p o s y=" 0 " s e p y=" 5 "

s i z e x =" 4 0 0 "

s i z e y =" 1 9 5 "

i t e m x=

" 380 "

s t y l e =" s_menuver ">

<menuitem <a c t i o n

s t r ="Tu

e m p l e o "> a c t=" h i d e p a g e ( g u i a _ b u s q u e d a ) , s h o w p a g e ( a c t b a c k=" h i d e p a g e ( g u i a _ b u s q u e d a 1 ) , s h o w p a g e (

k e y="O K"

guia_busqueda1 ) " g u i a _ b u s q u e d a ) " />

30 31 32 33

</ menuitem>

<menuitem <a c t i o n

s t r ="Cmo k e y="O K"

buscar

e m p l e o ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a ) , s h o w p a g e ( a c t b a c k=" h i d e p a g e ( g u i a _ b u s q u e d a 2 ) , s h o w p a g e (

guia_busqueda2 ) " g u i a _ b u s q u e d a ) " />

34 35 36 37

</ menuitem>

<menuitem <a c t i o n

s t r =" A u t o e m p l e o "> k e y="O K" a c t=" h i d e p a g e ( g u i a _ b u s q u e d a ) , s h o w p a g e ( a c t b a c k=" h i d e p a g e ( g u i a _ b u s q u e d a 3 ) , s h o w p a g e (

guia_busqueda3 ) " g u i a _ b u s q u e d a ) " />

38 39 40 41

</ menuitem>

<menuitem <a c t i o n

s t r =" F o r m a c i n "> k e y="O K" a c t=" h i d e p a g e ( g u i a _ b u s q u e d a ) , s h o w p a g e ( a c t b a c k=" h i d e p a g e ( g u i a _ b u s q u e d a 4 ) , s h o w p a g e (

guia_busqueda4 ) " g u i a _ b u s q u e d a ) " />

42 43 44 45 46 47 48 49 50 51 52

</ menuitem>

<menuitem <a c t i o n

s t r =" V o l v e r k e y="O K"

al

men

p r i n c i p a l ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a ) , s h o w p a g e ( i n d e x ) " />

</ menuitem>

</menu >

</ c o n t a i n e r>

</ p a g e>

B.2. Directorio de emisin

141

guia_busqueda1.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding

="UTF

for

tmNews

8" ?> >

<p a g e>

<h e l p>c _ h e l p</ h e l p>

<!

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=" 2 1 4 "

<c o n t a i n e r

i d=" c _ i n d i c e _ l a t e r a l " s i z e y =" 1 6 8 ">

v i s =" 1 "

s i z e x =" 1 1 8 " <i m a g e

p a t h=" i m a g e s / i n d _ g u i a _ o n . png "

p o s y=" 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e> p o s y=" 5 6 " p o s x=" 0 " s i z e x =" p o s y=" 2 8 " p o s x=" 0 " s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

118 " <i m a g e

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 8 4 "

p o s x=" 0 "

s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 1 1 2 "

p o s x=" 0 "

s i z e x=

" 118 " <i m a g e

p a t h=" i m a g e s / i n d _ w e b _ o f f . png "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> </ c o n t a i n e r>

<! <!

TU EMPLEO

>
del texto de bienvenida

Contenedor

>
p o s y=" 2 2 3 " s i z e x =" 5 2 0 " s i z e y ="

<c o n t a i n e r 90 " <t e x t

i d=" c _ b i e n v "

v i s =" 1 "

p o s x=" 3 0 "

a l p h a=" 0 "> s t y l e =" s_body " p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 " s i z e y =" 2 5 " s c r o l l ="

0 ">Tu <t e x t

e m p l e o</ t e x t> p o s x=" 0 " las p o s y=" 2 5 " la s i z e x =" 5 2 0 " que s i z e y =" 6 5 " scroll y

s t y l e =" s_body2 "

=" 0 "> S e l e c c i o n e pulse

con

flechas

opcin

desee

consultar

"O K" .</ t e x t>

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

</ c o n t a i n e r> <!

Contenedor

del

men

vertical

(4

items )

>
s i z e x =" 4 0 0 " s i z e y ="

<c o n t a i n e r 230 " <menu

i d="c_menu"

v i s =" 1 "

p o s x=" 5 0 "

p o s y=" 3 1 5 "

a l p h a=" 0 "> t y p e=" v e r t i c a l " i t e m y=" 4 5 " p o s x=" 0 " s e p x=" 0 " p o s y=" 0 " s e p y=" 1 0 " s i z e x =" 4 0 0 " s i z e y =" 2 1 0 " i t e m x=

" 380 "

s t y l e =" s_menuver ">

<menuitem <a c t i o n

s t r =" C o n o c e r t e k e y="O K"

ti

mismo ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 1 ) , s h o w p a g e ( _11 ) "

a c t b a c k=" h i d e p a g e ( _11 ) , s h o w p a g e ( g u i a _ b u s q u e d a 1 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" C o n o c e r k e y="O K"

el

mercado

l a b o r a l ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 1 ) , s h o w p a g e ( _12 ) "

a c t b a c k=" h i d e p a g e ( _12 ) , s h o w p a g e ( g u i a _ b u s q u e d a 1 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" D e f i n i r k e y="O K"

tu

plan

de

bsqueda

de

e m p l e o ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 1 ) , s h o w p a g e ( _13 ) "

a c t b a c k=" h i d e p a g e ( _13 ) , s h o w p a g e ( g u i a _ b u s q u e d a 1 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" V o l v e r "> k e y="O K" a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 1 ) , s h o w p a g e ( a c t b a c k=" h i d e p a g e ( g u i a _ b u s q u e d a ) , s h o w p a g e (

guia_busqueda ) "

g u i a _ b u s q u e d a 1 ) " />

41 42 43

</ menuitem>

</menu >

142

Apndice B. Ficheros desarrollados para la aplicacin

44 45 46

</ c o n t a i n e r>

</ p a g e>

guia_busqueda2.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding

="UTF

for

tmNews

8" ?> >

<p a g e>

<h e l p>c _ h e l p</ h e l p>

<!

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=" 2 1 4 "

<c o n t a i n e r

i d=" c _ i n d i c e _ l a t e r a l " s i z e y =" 1 6 8 ">

v i s =" 1 "

s i z e x =" 1 1 8 " <i m a g e

p a t h=" i m a g e s / i n d _ g u i a _ o n . png "

p o s y=" 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e> p o s y=" 5 6 " p o s x=" 0 " s i z e x =" p o s y=" 2 8 " p o s x=" 0 " s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

118 " <i m a g e

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 8 4 "

p o s x=" 0 "

s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 1 1 2 "

p o s x=" 0 "

s i z e x=

" 118 " <i m a g e

p a t h=" i m a g e s / i n d _ w e b _ o f f . png "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> </ c o n t a i n e r>

<! <!

C M O BUSCAR EMPLEO Contenedor del

>
de bienvenida

texto

>
p o s y=" 2 2 3 " s i z e x =" 5 2 0 " s i z e y ="

<c o n t a i n e r 90 " <t e x t

i d=" c _ b i e n v "

v i s =" 1 "

p o s x=" 3 0 "

a l p h a=" 0 "> s t y l e =" s_body " buscar p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 " s i z e y =" 2 5 " s c r o l l ="

0 ">Cmo <t e x t

e m p l e o</ t e x t> p o s x=" 0 " las p o s y=" 2 5 " la s i z e x =" 5 2 0 " que s i z e y =" 6 5 " scroll y

s t y l e =" s_body2 "

=" 0 "> S e l e c c i o n e pulse

con

flechas

opcin

desee

consultar

"O K" .</ t e x t>

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

</ c o n t a i n e r> <!

Contenedor

del

men

vertical

principal

(7

items )

>
s i z e y ="

<c o n t a i n e r 235 " <menu

i d="c_menu"

v i s =" 1 "

p o s x=" 5 0 "

p o s y=" 3 0 0 "

s i z e x =" 4 0 0 "

a l p h a=" 0 "> t y p e=" v e r t i c a l " i t e m y=" 2 7 " p o s x=" 0 " s e p x=" 0 " p o s y=" 0 " s e p y=" 6 " s i z e x =" 4 0 0 " s i z e y =" 2 3 5 " i t e m x=

" 380 "

s t y l e =" s_menuver ">

<menuitem <a c t i o n

s t r =" I n t r o d u c c i n "> k e y="O K" a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 2 ) , s h o w p a g e ( _21 ) "

a c t b a c k=" h i d e p a g e ( _21 ) , s h o w p a g e ( g u i a _ b u s q u e d a 2 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" C u r r i c u l u m k e y="O K"

V i t a e ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 2 ) , s h o w p a g e ( _22 ) "

a c t b a c k=" h i d e p a g e ( _22 ) , s h o w p a g e ( g u i a _ b u s q u e d a 2 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" C a r t a k e y="O K"

de

p r e s e n t a c i n ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 2 ) , s h o w p a g e ( _23 ) "

a c t b a c k=" h i d e p a g e ( _23 ) , s h o w p a g e ( g u i a _ b u s q u e d a 2 ) " /> </ menuitem>

<menuitem

s t r ="Cmo

ofrecerte

una

e m p r e s a ">

B.2. Directorio de emisin

143

40 41 42 43 44 45 46 47 48 49 50 51 52

<a c t i o n

k e y="O K"

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 2 ) , s h o w p a g e ( 2 4 ) "

a c t b a c k=" h i d e p a g e ( 2 4 ) , s h o w p a g e ( g u i a _ b u s q u e d a 2 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" B s q u e d a k e y="O K"

de

empleo

travs

de

I n t e r n e t ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 2 ) , s h o w p a g e ( _25 ) "

a c t b a c k=" h i d e p a g e ( _25 ) , s h o w p a g e ( g u i a _ b u s q u e d a 2 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" A f r o n t a r k e y="O K"

el

proceso

de

s e l e c c i n ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 2 ) , s h o w p a g e ( 2 6 ) "

a c t b a c k=" h i d e p a g e ( 2 6 ) , s h o w p a g e ( g u i a _ b u s q u e d a 2 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" V o l v e r "> k e y="O K" a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 2 ) , s h o w p a g e ( a c t b a c k=" h i d e p a g e ( g u i a _ b u s q u e d a ) , s h o w p a g e (

guia_busqueda ) "

g u i a _ b u s q u e d a 2 ) " />

53 54 55 56 57 58

</ menuitem>

</menu > </ c o n t a i n e r>

</ p a g e>

24.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding

="UTF

for

tmNews

8" ?> >

<p a g e>

<h e l p>c _ h e l p</ h e l p>

<!

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=" 2 1 4 "

<c o n t a i n e r

i d=" c _ i n d i c e _ l a t e r a l " s i z e y =" 1 6 8 ">

v i s =" 1 "

s i z e x =" 1 1 8 " <i m a g e

p a t h=" i m a g e s / i n d _ g u i a _ o n . png "

p o s y=" 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e> p o s y=" 5 6 " p o s x=" 0 " s i z e x =" p o s y=" 2 8 " p o s x=" 0 " s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

118 " <i m a g e

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 8 4 "

p o s x=" 0 "

s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 1 1 2 "

p o s x=" 0 "

s i z e x=

" 118 " <i m a g e

p a t h=" i m a g e s / i n d _ w e b _ o f f . png "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> </ c o n t a i n e r>

<!

Contenedor

del

texto

de

bienvenida

>
p o s y=" 2 2 3 " s i z e x =" 5 2 0 " s i z e y ="

<c o n t a i n e r 90 " <t e x t

i d=" c _ b i e n v "

v i s =" 1 "

p o s x=" 3 0 "

a l p h a=" 0 "> s t y l e =" s_body " buscar p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 " a una s i z e y =" 2 5 " s c r o l l ="

0 ">Cmo <t e x t

empleo:

Cmo

ofrecerte p o s y=" 2 5 " en

e m p r e s a</ t e x t> s i z e y =" 6 5 " Seleccione scroll la que

s t y l e =" s_body2 " apartado y

p o s x=" 0 " se ha

s i z e x =" 5 2 0 " dos partes .

=" 0 ">E s t e desee

dividido la tecla

consultar

pulse

"O K" .</ t e x t>

21 22 23

</ c o n t a i n e r>

<!

Contenedor

del

men

vertical

principal

(3

items )

>

144

Apndice B. Ficheros desarrollados para la aplicacin

24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

<c o n t a i n e r

i d=" c _ m e n u _ p r i n c i p a l " a l p h a=" 0 ">

v i s =" 1 "

p o s x=" 5 0 "

p o s y=" 3 1 5 "

s i z e x =" 4 0 0 "

s i z e y =" 1 7 0 "

<menu

t y p e=" v e r t i c a l " i t e m y=" 5 0 "

p o s x=" 0 " s e p x=" 0 "

p o s y=" 0 " s e p y=" 1 0 "

s i z e x =" 4 0 0 "

s i z e y =" 1 7 0 "

i t e m x=

" 400 "

s t y l e =" s_menuver ">

<menuitem <a c t i o n

s t r =" P a r t e k e y="O K"

1 "> a c t=" h i d e p a g e ( 2 4 ) , s h o w p a g e ( _241 ) " a c t b a c k="

h i d e p a g e ( _241 ) , s h o w p a g e ( 2 4 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" P a r t e k e y="O K"

2 "> a c t=" h i d e p a g e ( 2 4 ) , s h o w p a g e ( _242 ) " a c t b a c k="

h i d e p a g e ( _242 ) , s h o w p a g e ( 2 4 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" V o l v e r "> k e y="O K" a c t=" h i d e p a g e ( 2 4 ) , s h o w p a g e ( g u i a _ b u s q u e d a 2 ) "

a c t b a c k=" h i d e p a g e ( g u i a _ b u s q u e d a 2 ) , s h o w p a g e ( 2 4 ) " /> </ menuitem>

</menu >

</ c o n t a i n e r>

</ p a g e>

26.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding

="UTF

for

tmNews

8" ?> >

<p a g e>

<h e l p>c _ h e l p</ h e l p>

<!

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=" 2 1 4 "

<c o n t a i n e r

i d=" c _ i n d i c e _ l a t e r a l " s i z e y =" 1 6 8 ">

v i s =" 1 "

s i z e x =" 1 1 8 " <i m a g e

p a t h=" i m a g e s / i n d _ g u i a _ o n . png "

p o s y=" 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e> p o s y=" 5 6 " p o s x=" 0 " s i z e x =" p o s y=" 2 8 " p o s x=" 0 " s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

118 " <i m a g e

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 8 4 "

p o s x=" 0 "

s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 1 1 2 "

p o s x=" 0 "

s i z e x=

" 118 " <i m a g e

p a t h=" i m a g e s / i n d _ w e b _ o f f . png "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> </ c o n t a i n e r>

<!

Contenedor

del

texto

de

bienvenida

>
p o s y=" 2 2 3 " s i z e x =" 5 2 0 " s i z e y ="

<c o n t a i n e r 90 " <t e x t

i d=" c _ b i e n v "

v i s =" 1 "

p o s x=" 3 0 "

a l p h a=" 0 "> s t y l e =" s_body " buscar p o s x=" 0 " p o s y=" 0 " el s i z e x =" 5 2 0 " proceso de s i z e y =" 2 5 " s c r o l l ="

0 ">Cmo <t e x t

empleo:

Afrontar

s e l e c c i n</ t e x t> s i z e y =" 6 5 " Seleccione scroll la que

s t y l e =" s_body2 " apartado y

p o s x=" 0 " se ha

p o s y=" 2 5 " en

s i z e x =" 5 2 0 " dos partes .

=" 0 ">E s t e desee

dividido la tecla

consultar

pulse

"O K" .</ t e x t>

21

</ c o n t a i n e r>

B.2. Directorio de emisin

145

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

<!

Contenedor

del

men

vertical

principal v i s =" 1 "

(3

items )

>
s i z e x =" 4 0 0 "

<c o n t a i n e r

i d=" c _ m e n u _ p r i n c i p a l " a l p h a=" 0 ">

p o s x=" 5 0 "

p o s y=" 3 1 5 "

s i z e y =" 1 7 0 "

<menu

t y p e=" v e r t i c a l " i t e m y=" 5 0 "

p o s x=" 0 " s e p x=" 0 "

p o s y=" 0 " s e p y=" 1 0 "

s i z e x =" 4 0 0 "

s i z e y =" 1 7 0 "

i t e m x=

" 400 "

s t y l e =" s_menuver ">

<menuitem <a c t i o n

s t r =" P a r t e k e y="O K"

1 "> a c t=" h i d e p a g e ( 2 6 ) , s h o w p a g e ( _261 ) " a c t b a c k="

h i d e p a g e ( _261 ) , s h o w p a g e ( 2 6 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" P a r t e k e y="O K"

2 "> a c t=" h i d e p a g e ( 2 6 ) , s h o w p a g e ( _262 ) " a c t b a c k="

h i d e p a g e ( _262 ) , s h o w p a g e ( 2 6 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" V o l v e r "> k e y="O K" a c t=" h i d e p a g e ( 2 6 ) , s h o w p a g e ( g u i a _ b u s q u e d a 2 ) "

a c t b a c k=" h i d e p a g e ( g u i a _ b u s q u e d a 2 ) , s h o w p a g e ( 2 6 ) " /> </ menuitem>

</menu >

</ c o n t a i n e r>

</ p a g e>

guia_busqueda3.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding

="UTF

for

tmNews

8" ?> >

<p a g e>

<h e l p>c _ h e l p</ h e l p>

<!

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=" 2 1 4 "

<c o n t a i n e r

i d=" c _ i n d i c e _ l a t e r a l " s i z e y =" 1 6 8 ">

v i s =" 1 "

s i z e x =" 1 1 8 " <i m a g e

p a t h=" i m a g e s / i n d _ g u i a _ o n . png "

p o s y=" 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e> p o s y=" 5 6 " p o s x=" 0 " s i z e x =" p o s y=" 2 8 " p o s x=" 0 " s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

118 " <i m a g e

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 8 4 "

p o s x=" 0 "

s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 1 1 2 "

p o s x=" 0 "

s i z e x=

" 118 " <i m a g e

p a t h=" i m a g e s / i n d _ w e b _ o f f . png "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> </ c o n t a i n e r>

<! <!

A U T O E M P L E O Contenedor

>
del texto de bienvenida

>
p o s y=" 2 2 3 " s i z e x =" 5 2 0 " s i z e y ="

<c o n t a i n e r 90 " <t e x t

i d=" c _ b i e n v "

v i s =" 1 "

p o s x=" 3 0 "

a l p h a=" 0 "> s t y l e =" s_body " p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 " s i z e y =" 2 5 " s c r o l l ="

0 ">A u t o e m p l e o</ t e x t>

146

Apndice B. Ficheros desarrollados para la aplicacin

21

<t e x t

s t y l e =" s_body2 "

p o s x=" 0 " las

p o s y=" 2 5 " la

s i z e x =" 5 2 0 " que

s i z e y =" 6 5 "

scroll y

=" 0 "> S e l e c c i o n e pulse

con

flechas

opcin

desee

consultar

"O K" .</ t e x t>

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

</ c o n t a i n e r> <!

Contenedor

del

men

vertical

principal

(7

items )

>
s i z e y ="

<c o n t a i n e r 235 " <menu

i d="c_menu"

v i s =" 1 "

p o s x=" 5 0 "

p o s y=" 3 0 0 "

s i z e x =" 4 0 0 "

a l p h a=" 0 "> t y p e=" v e r t i c a l " i t e m y=" 2 7 " p o s x=" 0 " s e p x=" 0 " p o s y=" 0 " s e p y=" 6 " s i z e x =" 4 0 0 " s i z e y =" 2 3 5 " i t e m x=

" 380 "

s t y l e =" s_menuver ">

<menuitem <a c t i o n

s t r =" I n t r o d u c c i n "> k e y="O K" a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 3 ) , s h o w p a g e ( _31 ) "

a c t b a c k=" h i d e p a g e ( _31 ) , s h o w p a g e ( g u i a _ b u s q u e d a 3 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" La

cultura

e m p r e n d e d o r a ">

k e y="O K"

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 3 ) , s h o w p a g e ( _32 ) "

a c t b a c k=" h i d e p a g e ( _32 ) , s h o w p a g e ( g u i a _ b u s q u e d a 3 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" P r e g u n t a s k e y="O K"

importantes

la

hora

de

e m p r e n d e r ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 3 ) , s h o w p a g e ( _33 ) "

a c t b a c k=" h i d e p a g e ( _33 ) , s h o w p a g e ( g u i a _ b u s q u e d a 3 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" A n l i s i s k e y="O K"

p r e v i o s ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 3 ) , s h o w p a g e ( _34 ) "

a c t b a c k=" h i d e p a g e ( _34 ) , s h o w p a g e ( g u i a _ b u s q u e d a 3 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" T r m i t e s k e y="O K"

a d m i n i s t r a t i v o s ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 3 ) , s h o w p a g e ( _35 ) "

a c t b a c k=" h i d e p a g e ( _35 ) , s h o w p a g e ( g u i a _ b u s q u e d a 3 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" F r a n q u i c i a s "> k e y="O K" a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 3 ) , s h o w p a g e ( _36 ) "

a c t b a c k=" h i d e p a g e ( _36 ) , s h o w p a g e ( g u i a _ b u s q u e d a 3 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" V o l v e r "> k e y="O K" a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 3 ) , s h o w p a g e ( a c t b a c k=" h i d e p a g e ( g u i a _ b u s q u e d a ) , s h o w p a g e (

guia_busqueda ) "

g u i a _ b u s q u e d a 3 ) " />

53 54 55 56 57 58

</ menuitem>

</menu > </ c o n t a i n e r>

</ p a g e>

guia_busqueda4.xml

1 2 3 4 5 6 7

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding

="UTF

for

tmNews

8" ?> >

<p a g e>

<h e l p>c _ h e l p</ h e l p>

<!

Contenedor

del

ndice

lateral

>

B.2. Directorio de emisin

147

8 9 10 11 12 13 14 15 16 17 18 19 20 21

<c o n t a i n e r

i d=" c _ i n d i c e _ l a t e r a l " s i z e y =" 1 6 8 ">

v i s =" 1 "

a l p h a=" 0 "

p o s x=" 5 6 0 "

p o s y=" 2 1 4 "

s i z e x =" 1 1 8 " <i m a g e

p a t h=" i m a g e s / i n d _ g u i a _ o n . png "

p o s y=" 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e> p o s y=" 5 6 " p o s x=" 0 " s i z e x =" p o s y=" 2 8 " p o s x=" 0 " s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

118 " <i m a g e

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 8 4 "

p o s x=" 0 "

s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 1 1 2 "

p o s x=" 0 "

s i z e x=

" 118 " <i m a g e

p a t h=" i m a g e s / i n d _ w e b _ o f f . png "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> </ c o n t a i n e r>

<! <!

FORMACIN

>
del texto de bienvenida

Contenedor

>
p o s y=" 2 2 3 " s i z e x =" 5 2 0 " s i z e y ="

<c o n t a i n e r 90 " <t e x t

i d=" c _ b i e n v "

v i s =" 1 "

p o s x=" 3 0 "

a l p h a=" 0 "> s t y l e =" s_body " p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 " s i z e y =" 2 5 " s c r o l l ="

0 ">F o r m a c i n</ t e x t> <t e x t s t y l e =" s_body2 " p o s x=" 0 " las p o s y=" 2 5 " la s i z e x =" 5 2 0 " que s i z e y =" 6 5 " scroll y

=" 0 "> S e l e c c i o n e pulse

con

flechas

opcin

desee

consultar

"O K" .</ t e x t>

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

</ c o n t a i n e r> <!

Contenedor

del

men

vertical

principal

(5

items )

>
s i z e y ="

<c o n t a i n e r 195 " <menu

i d="c_menu"

v i s =" 1 "

p o s x=" 5 0 "

p o s y=" 3 1 5 "

s i z e x =" 4 0 0 "

a l p h a=" 0 "> t y p e=" v e r t i c a l " i t e m y=" 3 5 " p o s x=" 0 " s e p x=" 0 " p o s y=" 0 " s e p y=" 5 " s i z e x =" 4 0 0 " s i z e y =" 1 9 5 " i t e m x=

" 380 "

s t y l e =" s_menuver ">

<menuitem <a c t i o n

s t r =" I n t r o d u c c i n "> k e y="O K" a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 4 ) , s h o w p a g e ( _41 ) "

a c t b a c k=" h i d e p a g e ( _41 ) , s h o w p a g e ( g u i a _ b u s q u e d a 4 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" F o r m a c i n k e y="O K"

a c a d m i c a ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 4 ) , s h o w p a g e ( _42 ) "

a c t b a c k=" h i d e p a g e ( _42 ) , s h o w p a g e ( g u i a _ b u s q u e d a 4 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" F o r m a c i n k e y="O K"

ocupacional

para

el

e m p l e o ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 4 ) , s h o w p a g e ( _43 ) "

a c t b a c k=" h i d e p a g e ( _43 ) , s h o w p a g e ( g u i a _ b u s q u e d a 4 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" O t r a s k e y="O K"

vas

para

la

f o r m a c i n ">

a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 4 ) , s h o w p a g e ( _44 ) "

a c t b a c k=" h i d e p a g e ( _44 ) , s h o w p a g e ( g u i a _ b u s q u e d a 4 ) " /> </ menuitem>

<menuitem <a c t i o n

s t r =" V o l v e r "> k e y="O K" a c t=" h i d e p a g e ( g u i a _ b u s q u e d a 4 ) , s h o w p a g e ( a c t b a c k=" h i d e p a g e ( g u i a _ b u s q u e d a ) , s h o w p a g e (

guia_busqueda ) "

g u i a _ b u s q u e d a 4 ) " />

45 46 47 48 49 50

</ menuitem>

</menu > </ c o n t a i n e r>

</ p a g e>

148

Apndice B. Ficheros desarrollados para la aplicacin

B.2.4. Anuncios de empleo


anuncios_empleo.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding

="UTF

for

tmNews

8" ?> >

<p a g e>

<h e l p>c _ h e l p</ h e l p>

<!

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=" 2 1 4 "

<c o n t a i n e r

i d=" c _ i n d i c e _ l a t e r a l " s i z e y =" 1 6 8 ">

v i s =" 1 "

s i z e x =" 1 1 8 " <i m a g e

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png "

p o s y=" 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e " <i m a g e p a t h=" i m a g e s / i n d _ a n u n c i o s _ o n . png " s i z e y =" 2 8 "> </ i m a g e> p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e> p o s y=" 8 4 " p o s x=" 0 " s i z e x =" p o s y=" 5 6 " p o s x=" 0 " s i z e x =" p o s y=" 2 8 " p o s x=" 0 " s i z e x =" 1 1 8

118 " <i m a g e

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

118 " <i m a g e

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 1 1 2 "

p o s x=" 0 "

s i z e x=

" 118 " <i m a g e

p a t h=" i m a g e s / i n d _ w e b _ o f f . png "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> </ c o n t a i n e r>

<!

Contenedor

del

texto

de

bienvenida

>
p o s y=" 2 2 3 " s i z e x =" 5 2 0 " s i z e y ="

<c o n t a i n e r 90 " <t e x t

i d=" c _ b i e n v "

v i s =" 1 "

p o s x=" 3 0 "

a l p h a=" 0 "> s t y l e =" s_body " de p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 " s i z e y =" 2 5 " s c r o l l ="

0 ">A n u n c i o s <t e x t

e m p l e o</ t e x t> p o s x=" 0 " puede con las p o s y=" 2 5 " buscar s i z e x =" 5 2 0 " de s i z e y =" 6 5 " scroll a su "

s t y l e =" s_body2 " esta

=" 0 ">En perfil .

seccin

ofertas la

empleo que

adecuadas y

Seleccione

flechas

opcin

desee

pulse

O K" .</ t e x t>

21 22 23 24 25 26 27 28 29

</ c o n t a i n e r>

<!

Contenedor

del

men

vertical

principal

(3

items )

>
s i z e y ="

<c o n t a i n e r 200 "

i d="c_menu"

v i s =" 1 "

p o s x=" 5 0 "

p o s y=" 3 1 5 "

s i z e x =" 4 0 0 "

a l p h a=" 0 ">

<menu

t y p e=" v e r t i c a l " i t e m y=" 5 0 "

p o s x=" 0 " s e p x=" 0 "

p o s y=" 0 " s e p y=" 1 0 "

s i z e x =" 4 0 0 "

s i z e y =" 2 0 0 "

i t e m x=

" 380 "

s t y l e =" s_menuver ">

<menuitem <a c t i o n

s t r =" B u s c a d o r k e y="O K"

de

o f e r t a s ">

a c t=" h i d e p a g e ( a n u n c i o s _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s _ f o r m u l a r i o ? c a t e g o r i a= & amp ; p r o v i n c i a= & amp ; p a l a b r a s C l a v e =) " a c t b a c k=" h i d e p a g e (

, showpage (

a n u n c i o s _ e m p l e o ) " />

30 31 32 33 34 35 36 37 38 39

</ menuitem>

<menuitem <a c t i o n

s t r =" O f e r t a s k e y="O K"

de

empleo

p b l i c o ">

a c t=" h i d e p a g e ( a n u n c i o s _ e m p l e o ) , s h o w p a g e (

o f e r t a s _ e m p l e o _ p u b l i c o ) " /> </ menuitem>

<menuitem <a c t i o n />

s t r =" V o l v e r k e y="O K"

al

men

p r i n c i p a l ">

a c t=" h i d e p a g e ( a n u n c i o s _ e m p l e o ) , s h o w p a g e ( i n d e x ) "

</ menuitem>

B.2. Directorio de emisin

149

40 41 42 43 44

</menu >

</ c o n t a i n e r>

</ p a g e>

ofertas_empleo_publico.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding

="UTF

for

tmNews

8" ?> >

<p a g e>

<h e l p>c _ h e l p</ h e l p>

<!

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=" 2 1 4 "

<c o n t a i n e r

i d=" c _ i n d i c e _ l a t e r a l " s i z e y =" 1 6 8 ">

v i s =" 1 "

s i z e x =" 1 1 8 " <i m a g e

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png "

p o s y=" 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e " <i m a g e p a t h=" i m a g e s / i n d _ a n u n c i o s _ o n . png " s i z e y =" 2 8 "> </ i m a g e> p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e> p o s y=" 8 4 " p o s x=" 0 " s i z e x =" p o s y=" 5 6 " p o s x=" 0 " s i z e x =" p o s y=" 2 8 " p o s x=" 0 " s i z e x =" 1 1 8

118 " <i m a g e

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

118 " <i m a g e

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 1 1 2 "

p o s x=" 0 "

s i z e x=

" 118 " <i m a g e

p a t h=" i m a g e s / i n d _ w e b _ o f f . png "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> </ c o n t a i n e r>

<!

Contenedor

del

texto

de

bienvenida

>
p o s y=" 2 2 3 " s i z e x =" 5 2 0 " s i z e y ="

<c o n t a i n e r 90 " <t e x t

i d=" c _ b i e n v "

v i s =" 1 "

p o s x=" 3 0 "

a l p h a=" 0 "> s t y l e =" s_body " de p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 " s i z e y =" 2 5 " s c r o l l ="

0 "> O f e r t a s <t e x t

empleo

p b l i c o</ t e x t> p o s y=" 2 5 " s i z e x =" 5 2 0 " adecuada . "O K" sobre s i z e y =" 6 5 " Seleccione el botn " scroll los

s t y l e =" s_body2 " la que

p o s x=" 0 " de

=" 0 ">B u s q u e parmetros

oferta ms le

empleo

pblico y pulse

interesen

B u s c a r " .</ t e x t>

21 22 23 24 25 26 27 28 29

</ c o n t a i n e r>

<!

Contenedor

del

formulario v i s =" 1 "

de

bsqueda

>
s i z e x =" 5 2 0 " s i z e y ="

<c o n t a i n e r 210 "

i d=" c_form "

p o s x=" 3 0 "

p o s y=" 3 2 5 "

a l p h a=" 0 ">

<f o r m

f o c u s=" f _ p r o v i n c i a "

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 5 2 0 "

s i z e y =" 2 1 0 "

s t y l e =" s_menu_form ">

<t e x t

s t r =" P r o v i n c i a / Autonoma "

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 1 5 5 "

sizey

=" 2 5 " <f o r m _ l i s t

s t y l e =" s_body_form "> </ t e x t> i d=" f _ p r o v i n c i a " s i z e x =" 2 8 0 " v a l=" 0 0 0 0 " t y p e=" h a r r o w s " p o s x=" 1 7 5 " up=" Todas las

p o s y=" 0 " f_buscar "

s i z e y =" 2 5 "

down=" f _ t i t u l a c i o n "

o p t i o n s _ t e x t s=" Todas , N a c i o n a l , P r o v i n c i a l : Almera , P r o v i n c i a l :

provincias , Provincial: Crdoba , P r o v i n c i a l : , Provincial:

Cdiz , P r o v i n c i a l : Jan

Granada , P r o v i n c i a l :

Huelva , P r o v i n c i a l : o p t i o n s="

Mlaga , P r o v i n c i a l :

Sevilla , "

1 , Nac , Pro ,

Alm , Cad , Cor , Gra , Hue , J a e , Mal , S e v " />

30 31

<t e x t

s t r =" T i t u l a c i n "

p o s x=" 0 "

p o s y=" 4 0 "

s i z e x =" 1 5 5 "

s i z e y =" 2 5 "

s t y l e =" s_body_form "> </ t e x t>

150

Apndice B. Ficheros desarrollados para la aplicacin

32

<f o r m _ l i s t

i d=" f _ t i t u l a c i o n " s i z e x =" 2 8 0 "

v a l=" 0 0 0 0 "

t y p e=" h a r r o w s "

p o s x=" 1 7 5 " up="

p o s y=" 4 0 "

s i z e y =" 2 5 "

down=" f _ t i p o O p o s i c i o n " / FP

f_provincia " de

o p t i o n s _ t e x t s=" Todas , B a c h i l l e r / Ingeniera /

II , Certificado

e s c o l a r i d a d , Diplomatura escolar / FP

t c n i c a , D o c t o r , ESO ,

Graduado

I , Licenciatura o p t i o n s="

I n g e n i e r a , N/ S , , D i p l , Doct , ESO ,

Secundaria , Sin

titulacin"

1 , Bach , C e r t

Grad , L i c e , NS , S e c u , S i n " />

33 34 35

<t e x t

s t r =" T i p o

de

oposicin "

p o s x=" 0 "

p o s y=" 8 0 "

s i z e x =" 1 5 5 "

s i z e y=

" 25 "

s t y l e =" s_body_form "> </ t e x t> i d=" f _ t i p o O p o s i c i o n " s i z e x =" 2 8 0 " v a l=" 0 0 0 0 " t y p e=" h a r r o w s " p o s x=" 1 7 5

<f o r m _ l i s t "

p o s y=" 8 0 "

s i z e y =" 2 5 "

down=" f _ b u s c a r "

up=" , Oposicin

f_titulacion " , Oposicin

o p t i o n s _ t e x t s=" Todas , C o n c u r s o o p t i o n s="

libre "

o p o s i c i n 1 , Conc , Opos , L i b r " />

36 37 38 39

<f o r m _ i m g b u t t o n

i d=" f _ b u s c a r "

img=" i m a g e s / b o t _ b u s c a r _ o f f . png "

i m g f o c u s=" i m a g e s / b o t _ b u s c a r _ o n . png " p o s x=" 1 7 0 " p o s y=" 1 3 0 " s i z e x =" 1 2 2 " s i z e y =" 7 9 " up=" f _ t i p o O p o s i c i o n "

down=" f _ p r o v i n c i a " <a c t i o n k e y="O K"

r i g h t =" f _ v o l v e r "

v a l i d a t i o n =" f a l s e ">

a c t=" h i d e p a g e ( o f e r t a s _ e m p l e o _ p u b l i c o ) , s h o w p a g e (

h t t p : //$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / o f e r t a s _ e m p l e o _ p u b l i c o ? p r o v i n c i a =$ f _ p r o v i n c i a ;&amp ; t i t u l a c i o n =$ f _ t i t u l a c i o n ;&amp ; t i p o O p o s i c i o n =$ f _ t i p o O p o s i c i o n ;&amp ; p a g=1&amp ; p r i m e r a V e z=S&amp ; u r l= & amp ; j s e s s i o n i d =) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( o f e r t a s _ e m p l e o _ p u b l i c o ) " />

40 41 42 43 44

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ v o l v e r "

img=" i m a g e s / b o t _ v o l v e r _ o f f . png "

i m g f o c u s=" i m a g e s / b o t _ v o l v e r _ o n . png " p o s x=" 3 0 0 " p o s y=" 1 3 0 " s i z e x =" 1 2 2 " s i z e y =" 7 9 " up=" f _ t i p o O p o s i c i o n "

down=" f _ p r o v i n c i a " <a c t i o n k e y="O K"

l e f t =" f _ b u s c a r "

v a l i d a t i o n =" f a l s e ">

a c t=" h i d e p a g e ( o f e r t a s _ e m p l e o _ p u b l i c o ) , s h o w p a g e ( a c t b a c k=" h i d e p a g e ( a n u n c i o s _ e m p l e o ) ,

anuncios_empleo ) "

s h o w p a g e ( o f e r t a s _ e m p l e o _ p u b l i c o ) " />

45 46 47 48 49 50 51

</ f o r m _ i m g b u t t o n>

</ f o r m> </ c o n t a i n e r>

</ p a g e>

B.2.5. Formacin para el empleo


formacion_empleo.xml

1 2 3 4 5 6 7 8 9 10

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding

="UTF

for

tmNews

8" ?> >

<p a g e>

<h e l p>c _ h e l p</ h e l p>

<!

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=" 2 1 4 "

<c o n t a i n e r

i d=" c _ i n d i c e _ l a t e r a l " s i z e y =" 1 6 8 ">

v i s =" 1 "

s i z e x =" 1 1 8 " <i m a g e

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png "

p o s y=" 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e> p o s y=" 2 8 " p o s x=" 0 " s i z e x ="

118 "

B.2. Directorio de emisin

151

11 12 13 14 15 16 17 18 19 20

<i m a g e

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 5 6 "

p o s x=" 0 "

s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o n . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 8 4 "

p o s x=" 0 "

s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 1 1 2 "

p o s x=" 0 "

s i z e x=

" 118 " <i m a g e

p a t h=" i m a g e s / i n d _ w e b _ o f f . png "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> </ c o n t a i n e r>

<!

>

Contenedor

del

texto

de

bienvenida

( para

elegir

el

tipo

de

curso )

<c o n t a i n e r 90 " <t e x t

i d=" c _ b i e n v "

v i s =" 1 "

p o s x=" 3 0 "

p o s y=" 2 2 3 "

s i z e x =" 5 2 0 "

s i z e y ="

a l p h a=" 0 "> s t y l e =" s_body " de p o s x=" 0 " p o s y=" 0 " el s i z e x =" 5 2 0 " s i z e y =" 2 5 " s c r o l l ="

0 ">C u r s o s <t e x t

formacin

para

e m p l e o</ t e x t> s i z e x =" 5 2 0 " de s i z e y =" 9 0 " Para que scroll ello ,

s t y l e =" s_body2 " este con

p o s x=" 0 " podr

p o s y=" 2 5 " buscar el tipo

=" 0 ">D e s d e seleccione desea

men , las y

cursos de

formacin . de

flechas

curso

formacin

consultar

pulse

"O K" .</ t e x t>

21 22 23 24 25 26 27 28 29

</ c o n t a i n e r>

<!

Contenedor

del

men

vertical

para

elegir

el

tipo

de

curso

>
s i z e x =" 4 0 0 "

<c o n t a i n e r

i d=" c_menu_tipoCurso " a l p h a=" 0 ">

v i s =" 1 "

p o s x=" 5 0 "

p o s y=" 3 1 5 "

s i z e y =" 2 1 0 "

<menu

t y p e=" v e r t i c a l " i t e m y=" 4 0 "

p o s x=" 0 " s e p x=" 0 "

p o s y=" 0 " s e p y=" 1 0 "

s i z e x =" 4 0 0 "

s i z e y =" 2 1 0 "

i t e m x=

" 400 "

s t y l e =" s_menuver ">

<menuitem <a c t i o n

s t r =" C u r s o s k e y="O K"

de

formacin

para

el

empleo

PREVISTOS">

a c t=" h i d e c o n t ( f o r m a c i o n _ e m p l e o . c _ b i e n v ) ,

h i d e c o n t ( f o r m a c i o n _ e m p l e o . c_menu_tipoCurso ) , s h o w c o n t ( f o r m a c i o n _ e m p l e o . c_bienv_mapa ) , s h o w c o n t ( f o r m a c i o n _ e m p l e o . c_mapaPRV ) " />

30 31 32 33

</ menuitem>

<menuitem <a c t i o n

s t r =" C u r s o s k e y="O K"

de

formacin

para

el

empleo C O N V O C A D O S">

a c t=" h i d e c o n t ( f o r m a c i o n _ e m p l e o . c _ b i e n v ) ,

h i d e c o n t ( f o r m a c i o n _ e m p l e o . c_menu_tipoCurso ) , s h o w c o n t ( f o r m a c i o n _ e m p l e o . c_bienv_mapa ) , s h o w c o n t ( f o r m a c i o n _ e m p l e o . c_mapaPUB ) " />

34 35 36 37

</ menuitem>

<menuitem "> <a c t i o n

s t r =" C u r s o s

de

formacin

para

el

empleo

de

PLAZO AMPLIADO

k e y="O K"

a c t=" h i d e c o n t ( f o r m a c i o n _ e m p l e o . c _ b i e n v ) ,

h i d e c o n t ( f o r m a c i o n _ e m p l e o . c_menu_tipoCurso ) , s h o w c o n t ( f o r m a c i o n _ e m p l e o . c_bienv_mapa ) , s h o w c o n t ( f o r m a c i o n _ e m p l e o . c_mapaAMP) " />

38 39 40 41 42 43 44 45 46 47 48 49

</ menuitem>

<menuitem <a c t i o n " />

s t r =" V o l v e r k e y="O K"

al

men

p r i n c i p a l ">

a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( i n d e x )

</ menuitem>

</menu >

</ c o n t a i n e r>

<!

Contenedor

del

texto

de

bienvenida v i s =" 0 "

( para

el

mapa )

>
s i z e x =" 5 2 0 "

<c o n t a i n e r

i d=" c_bienv_mapa " a l p h a=" 0 ">

p o s x=" 3 0 "

p o s y=" 2 2 3 "

s i z e y =" 6 5 "

152

Apndice B. Ficheros desarrollados para la aplicacin

50 51

<t e x t

s t y l e =" s_body " de

p o s x=" 0 "

p o s y=" 0 " el

s i z e x =" 5 2 0 "

s i z e y =" 2 5 "

s c r o l l ="

0 ">C u r s o s <t e x t

formacin

para

e m p l e o</ t e x t> s i z e x =" 5 2 0 " desea s i z e y =" 6 5 " cursos scroll de

s t y l e =" s_body2 " la

p o s x=" 0 "

p o s y=" 2 5 " en la

=" 0 "> S e l e c c i o n e formacin y

provincia

que

buscar

pulse

"O K" .</ t e x t>

52 53 54 55 56 57 58 59 60 61 62

</ c o n t a i n e r>

<!

Contenedor

del

mapa

( cursos v i s =" 0 "

previstos ) a l p h a=" 0 "

>
p o s x=" 1 0 0 " p o s y=" 2 8 0 " s i z e x ="

<c o n t a i n e r 398 "

i d="c_mapaPRV"

s i z e y =" 2 3 5 ">

<f o r m

f o c u s=" f _ s e v i l l a "

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 5 9 0 "

s i z e y =" 5 0 0 "

s t y l e =" s_popup ">

<f o r m _ i m g b u t t o n

i d=" f _ a l m e r i a "

img=" i m a g e s / m a p a _ a l m e r i a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_almeria_on . png " p o s x=" 2 9 4 " p o s y=" 6 9 " s i z e x =" 1 0 2 " s i z e y =" 1 0 8 " up=" f _ g r a n a d a " l e f t=

" f_granada "

r i g h t =" f _ h u e l v a "

down=" f _ t o d a s "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PRV &amp ; t i p o C u r s o T e x t= p r e v i s t o s & amp ; p r o v i n c i a =04) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

63 64 65 66 67 68

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ g r a n a d a "

img=" i m a g e s / m a p a _ g r a n a d a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_granada_on . png " p o s x=" 2 1 5 " p o s y=" 5 3 " s i z e x =" 1 4 1 " s i z e y =" 1 2 3 " up=" f _ j a e n " l e f t ="

f_malaga "

r i g h t =" f _ a l m e r i a "

down=" f _ t o d a s "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PRV &amp ; t i p o C u r s o T e x t= p r e v i s t o s & amp ; p r o v i n c i a =18) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

69 70 71 72 73 74

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ m a l a g a "

img=" i m a g e s / mapa_malaga_off . png "

i m g f o c u s=" i m a g e s / mapa_malaga_on . png " p o s x=" 1 2 5 " p o s y=" 1 2 4 " s i z e x =" 1 2 6 " s i z e y =" 8 4 " up=" f _ c o r d o b a " l e f t=

" f_cadiz " down=" f _ t o d a s " <a c t i o n

r i g h t =" f _ g r a n a d a " v a l i d a t i o n =" f a l s e "> a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

k e y="O K"

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PRV &amp ; t i p o C u r s o T e x t= p r e v i s t o s & amp ; p r o v i n c i a =29) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

75 76 77 78 79 80

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ j a e n "

img=" i m a g e s / m a p a _ j a e n _ o f f . png "

imgfocus

=" i m a g e s / mapa_jaen_on . png " p o s x=" 2 1 5 " p o s y=" 2 0 " s i z e x =" 1 2 9 " s i z e y =" 9 5 " down=" f _ g r a n a d a " left

=" f _ c o r d o b a "

r i g h t =" f _ g r a n a d a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PRV &amp ; t i p o C u r s o T e x t= p r e v i s t o s & amp ; p r o v i n c i a =23) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

81 82 83 84 85

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ c o r d o b a "

img=" i m a g e s / m a p a _ c o r d o b a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_cordoba_on . png " p o s x=" 1 2 9 " p o s y=" 0 " s i z e x =" 1 0 4 " s i z e y =" 1 3 3 " down=" f _ m a l a g a " l e f t=

" f_sevilla "

r i g h t =" f _ j a e n "

v a l i d a t i o n =" f a l s e ">

B.2. Directorio de emisin

153

86

<a c t i o n

k e y="O K"

a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PRV &amp ; t i p o C u r s o T e x t= p r e v i s t o s & amp ; p r o v i n c i a =14) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

87 88 89 90 91 92

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ s e v i l l a "

img=" i m a g e s / m a p a _ s e v i l l a _ o f f . png "

i m g f o c u s=" i m a g e s / m a p a _ s e v i l l a _ o n . png " p o s x=" 6 3 " p o s y=" 4 4 " s i z e x =" 1 3 0 " s i z e y =" 1 1 4 " down=" f _ c a d i z " l e f t ="

f_huelva "

r i g h t =" f _ c o r d o b a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PRV &amp ; t i p o C u r s o T e x t= p r e v i s t o s & amp ; p r o v i n c i a =41) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

93 94 95 96 97 98

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ c a d i z "

img=" i m a g e s / m a p a _ c a d i z _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_cadiz_on . png " p o s x=" 6 9 " p o s y=" 1 4 3 " s i z e x =" 9 0 " s i z e y =" 9 1 " up=" f _ s e v i l l a " l e f t ="

f_huelva "

r i g h t =" f _ m a l a g a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PRV &amp ; t i p o C u r s o T e x t= p r e v i s t o s & amp ; p r o v i n c i a =11) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

99 100 101 102 103 104

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ h u e l v a "

img=" i m a g e s / m a p a _ h u e l v a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_huelva_on . png " p o s x=" 0 " p o s y=" 3 9 " s i z e x =" 9 0 " s i z e y =" 1 2 1 " up=" f _ s e v i l l a " down="

f_cadiz "

l e f t =" f _ a l m e r i a "

r i g h t =" f _ s e v i l l a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PRV &amp ; t i p o C u r s o T e x t= p r e v i s t o s & amp ; p r o v i n c i a =21) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

105 106 107 108 109 110

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ t o d a s "

img=" i m a g e s / m a p a _ t o d a s _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_todas_on . png " p o s x=" 2 2 8 " p o s y=" 1 8 8 " s i z e x =" 1 0 7 " s i z e y =" 4 6 " up=" f _ g r a n a d a " l e f t=

" f_malaga "

r i g h t =" f _ a l m e r i a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PRV &amp ; t i p o C u r s o T e x t= p r e v i s t o s & amp ; p r o v i n c i a = a c t b a c k=" h i d e p a g e (

1)"

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

111 112 113 114 115 116 117 118 119 120 121 122

</ f o r m _ i m g b u t t o n>

</ f o r m>

</ c o n t a i n e r>

<!

Contenedor

del

mapa

( cursos v i s =" 0 "

convocados ) a l p h a=" 0 "

>
p o s x=" 1 0 0 " p o s y=" 2 8 0 " s i z e x ="

<c o n t a i n e r 398 "

i d="c_mapaPUB"

s i z e y =" 2 3 5 ">

<f o r m

f o c u s=" f _ s e v i l l a "

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 5 9 0 "

s i z e y =" 5 0 0 "

s t y l e =" s_popup ">

<f o r m _ i m g b u t t o n

i d=" f _ a l m e r i a "

img=" i m a g e s / m a p a _ a l m e r i a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_almeria_on . png "

154

Apndice B. Ficheros desarrollados para la aplicacin

123 124 125

p o s x=" 2 9 4 "

p o s y=" 6 9 "

s i z e x =" 1 0 2 "

s i z e y =" 1 0 8 "

up=" f _ g r a n a d a "

l e f t=

" f_granada "

r i g h t =" f _ h u e l v a "

down=" f _ t o d a s "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PUB &amp ; t i p o C u r s o T e x t=c o n v o c a d o s&amp ; p r o v i n c i a =04) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

126 127 128 129 130 131

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ g r a n a d a "

img=" i m a g e s / m a p a _ g r a n a d a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_granada_on . png " p o s x=" 2 1 5 " p o s y=" 5 3 " s i z e x =" 1 4 1 " s i z e y =" 1 2 3 " up=" f _ j a e n " l e f t ="

f_malaga "

r i g h t =" f _ a l m e r i a "

down=" f _ t o d a s "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PUB &amp ; t i p o C u r s o T e x t=c o n v o c a d o s&amp ; p r o v i n c i a =18) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

132 133 134 135 136 137

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ m a l a g a "

img=" i m a g e s / mapa_malaga_off . png "

i m g f o c u s=" i m a g e s / mapa_malaga_on . png " p o s x=" 1 2 5 " p o s y=" 1 2 4 " s i z e x =" 1 2 6 " s i z e y =" 8 4 " up=" f _ c o r d o b a " l e f t=

" f_cadiz " down=" f _ t o d a s " <a c t i o n

r i g h t =" f _ g r a n a d a " v a l i d a t i o n =" f a l s e "> a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

k e y="O K"

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PUB &amp ; t i p o C u r s o T e x t=c o n v o c a d o s&amp ; p r o v i n c i a =29) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

138 139 140 141 142 143

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ j a e n "

img=" i m a g e s / m a p a _ j a e n _ o f f . png "

imgfocus

=" i m a g e s / mapa_jaen_on . png " p o s x=" 2 1 5 " p o s y=" 2 0 " s i z e x =" 1 2 9 " s i z e y =" 9 5 " down=" f _ g r a n a d a " left

=" f _ c o r d o b a "

r i g h t =" f _ g r a n a d a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PUB &amp ; t i p o C u r s o T e x t=c o n v o c a d o s&amp ; p r o v i n c i a =23) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

144 145 146 147 148 149

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ c o r d o b a "

img=" i m a g e s / m a p a _ c o r d o b a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_cordoba_on . png " p o s x=" 1 2 9 " p o s y=" 0 " s i z e x =" 1 0 4 " s i z e y =" 1 3 3 " down=" f _ m a l a g a " l e f t=

" f_sevilla "

r i g h t =" f _ j a e n "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PUB &amp ; t i p o C u r s o T e x t=c o n v o c a d o s&amp ; p r o v i n c i a =14) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

150 151 152 153 154 155

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ s e v i l l a "

img=" i m a g e s / m a p a _ s e v i l l a _ o f f . png "

i m g f o c u s=" i m a g e s / m a p a _ s e v i l l a _ o n . png " p o s x=" 6 3 " p o s y=" 4 4 " s i z e x =" 1 3 0 " s i z e y =" 1 1 4 " down=" f _ c a d i z " l e f t ="

f_huelva "

r i g h t =" f _ c o r d o b a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PUB &amp ; t i p o C u r s o T e x t=c o n v o c a d o s&amp ; p r o v i n c i a =41) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

156 157

</ f o r m _ i m g b u t t o n>

B.2. Directorio de emisin

155

158 159 160 161

<f o r m _ i m g b u t t o n

i d=" f _ c a d i z "

img=" i m a g e s / m a p a _ c a d i z _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_cadiz_on . png " p o s x=" 6 9 " p o s y=" 1 4 3 " s i z e x =" 9 0 " s i z e y =" 9 1 " up=" f _ s e v i l l a " l e f t ="

f_huelva "

r i g h t =" f _ m a l a g a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PUB &amp ; t i p o C u r s o T e x t=c o n v o c a d o s&amp ; p r o v i n c i a =11) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

162 163 164 165 166 167

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ h u e l v a "

img=" i m a g e s / m a p a _ h u e l v a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_huelva_on . png " p o s x=" 0 " p o s y=" 3 9 " s i z e x =" 9 0 " s i z e y =" 1 2 1 " up=" f _ s e v i l l a " down="

f_cadiz "

l e f t =" f _ a l m e r i a "

r i g h t =" f _ s e v i l l a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PUB &amp ; t i p o C u r s o T e x t=c o n v o c a d o s&amp ; p r o v i n c i a =21) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

168 169 170 171 172 173

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ t o d a s "

img=" i m a g e s / m a p a _ t o d a s _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_todas_on . png " p o s x=" 2 2 8 " p o s y=" 1 8 8 " s i z e x =" 1 0 7 " s i z e y =" 4 6 " up=" f _ g r a n a d a " l e f t=

" f_malaga "

r i g h t =" f _ a l m e r i a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= PUB &amp ; t i p o C u r s o T e x t=c o n v o c a d o s&amp ; p r o v i n c i a = " a c t b a c k=" h i d e p a g e (

1)

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </ a c t i o n>

174 175 176 177 178 179 180 181 182 183 184 185 186 187 188

</ f o r m _ i m g b u t t o n>

</ f o r m>

</ c o n t a i n e r>

<!

Contenedor

del

mapa

( cursos v i s =" 0 "

plazo

ampliado )

>
p o s y=" 2 8 0 " s i z e x ="

<c o n t a i n e r 398 "

i d="c_mapaAMP"

a l p h a=" 0 "

p o s x=" 1 0 0 "

s i z e y =" 2 3 5 ">

<f o r m

f o c u s=" f _ s e v i l l a "

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 5 9 0 "

s i z e y =" 5 0 0 "

s t y l e =" s_popup ">

<f o r m _ i m g b u t t o n

i d=" f _ a l m e r i a "

img=" i m a g e s / m a p a _ a l m e r i a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_almeria_on . png " p o s x=" 2 9 4 " p o s y=" 6 9 " s i z e x =" 1 0 2 " s i z e y =" 1 0 8 " up=" f _ g r a n a d a " l e f t=

" f_granada "

r i g h t =" f _ h u e l v a "

down=" f _ t o d a s "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= A M P &amp ; t i p o C u r s o T e x t=p l a z o A m p l i a d o&amp ; p r o v i n c i a =04) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </

a c t i o n>

189 190 191 192 193 194

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ g r a n a d a "

img=" i m a g e s / m a p a _ g r a n a d a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_granada_on . png " p o s x=" 2 1 5 " p o s y=" 5 3 " s i z e x =" 1 4 1 " s i z e y =" 1 2 3 " up=" f _ j a e n " l e f t ="

f_malaga "

r i g h t =" f _ a l m e r i a "

down=" f _ t o d a s "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= A M P &amp ; t i p o C u r s o T e x t=p l a z o A m p l i a d o&amp ; p r o v i n c i a

156

Apndice B. Ficheros desarrollados para la aplicacin

=18) "

a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </

a c t i o n>

195 196 197 198 199 200

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ m a l a g a "

img=" i m a g e s / mapa_malaga_off . png "

i m g f o c u s=" i m a g e s / mapa_malaga_on . png " p o s x=" 1 2 5 " p o s y=" 1 2 4 " s i z e x =" 1 2 6 " s i z e y =" 8 4 " up=" f _ c o r d o b a " l e f t=

" f_cadiz " down=" f _ t o d a s " <a c t i o n

r i g h t =" f _ g r a n a d a " v a l i d a t i o n =" f a l s e "> a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

k e y="O K"

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= A M P &amp ; t i p o C u r s o T e x t=p l a z o A m p l i a d o&amp ; p r o v i n c i a =29) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </

a c t i o n>

201 202 203 204 205 206

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ j a e n "

img=" i m a g e s / m a p a _ j a e n _ o f f . png "

imgfocus

=" i m a g e s / mapa_jaen_on . png " p o s x=" 2 1 5 " p o s y=" 2 0 " s i z e x =" 1 2 9 " s i z e y =" 9 5 " down=" f _ g r a n a d a " left

=" f _ c o r d o b a "

r i g h t =" f _ g r a n a d a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= A M P &amp ; t i p o C u r s o T e x t=p l a z o A m p l i a d o&amp ; p r o v i n c i a =23) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </

a c t i o n>

207 208 209 210 211 212

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ c o r d o b a "

img=" i m a g e s / m a p a _ c o r d o b a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_cordoba_on . png " p o s x=" 1 2 9 " p o s y=" 0 " s i z e x =" 1 0 4 " s i z e y =" 1 3 3 " down=" f _ m a l a g a " l e f t=

" f_sevilla "

r i g h t =" f _ j a e n "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= A M P &amp ; t i p o C u r s o T e x t=p l a z o A m p l i a d o&amp ; p r o v i n c i a =14) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </

a c t i o n>

213 214 215 216 217 218

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ s e v i l l a "

img=" i m a g e s / m a p a _ s e v i l l a _ o f f . png "

i m g f o c u s=" i m a g e s / m a p a _ s e v i l l a _ o n . png " p o s x=" 6 3 " p o s y=" 4 4 " s i z e x =" 1 3 0 " s i z e y =" 1 1 4 " down=" f _ c a d i z " l e f t ="

f_huelva "

r i g h t =" f _ c o r d o b a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= A M P &amp ; t i p o C u r s o T e x t=p l a z o A m p l i a d o&amp ; p r o v i n c i a =41) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </

a c t i o n>

219 220 221 222 223 224

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ c a d i z "

img=" i m a g e s / m a p a _ c a d i z _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_cadiz_on . png " p o s x=" 6 9 " p o s y=" 1 4 3 " s i z e x =" 9 0 " s i z e y =" 9 1 " up=" f _ s e v i l l a " l e f t ="

f_huelva "

r i g h t =" f _ m a l a g a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= A M P &amp ; t i p o C u r s o T e x t=p l a z o A m p l i a d o&amp ; p r o v i n c i a =21) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </

a c t i o n>

225 226

</ f o r m _ i m g b u t t o n>

B.2. Directorio de emisin

157

227 228 229 230

<f o r m _ i m g b u t t o n

i d=" f _ h u e l v a "

img=" i m a g e s / m a p a _ h u e l v a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_huelva_on . png " p o s x=" 0 " p o s y=" 3 9 " s i z e x =" 9 0 " s i z e y =" 1 2 1 " up=" f _ s e v i l l a " down="

f_cadiz "

l e f t =" f _ a l m e r i a "

r i g h t =" f _ s e v i l l a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= A M P &amp ; t i p o C u r s o T e x t=p l a z o A m p l i a d o&amp ; p r o v i n c i a =04) " a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </

a c t i o n>

231 232 233 234 235 236

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ t o d a s "

img=" i m a g e s / m a p a _ t o d a s _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_todas_on . png " p o s x=" 2 2 8 " p o s y=" 1 8 8 " s i z e x =" 1 0 7 " s i z e y =" 4 6 " up=" f _ g r a n a d a " l e f t=

" f_malaga "

r i g h t =" f _ a l m e r i a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( f o r m a c i o n _ e m p l e o ) , s h o w p a g e ( h t t p :

//$ s e r v e r ; : $ p o r t ; / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o= A M P &amp ; t i p o C u r s o T e x t=p l a z o A m p l i a d o&amp ; p r o v i n c i a =

1)"

a c t b a c k=" h i d e p a g e (

, s h o w p a g e ( f o r m a c i o n _ e m p l e o ) "> </

a c t i o n>

237 238 239 240 241 242 243

</ f o r m _ i m g b u t t o n>

</ f o r m>

</ c o n t a i n e r>

</ p a g e>

B.2.6. Directorio del SAE


directorio_SAE.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding

="UTF

for

tmNews

8" ?> >

<p a g e>

<h e l p>c _ h e l p</ h e l p>

<!

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=" 2 1 4 "

<c o n t a i n e r

i d=" c _ i n d i c e _ l a t e r a l " s i z e y =" 1 6 8 ">

v i s =" 1 "

s i z e x =" 1 1 8 " <i m a g e

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png "

p o s y=" 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e> p o s y=" 5 6 " p o s x=" 0 " s i z e x =" p o s y=" 2 8 " p o s x=" 0 " s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

118 " <i m a g e

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 8 4 "

p o s x=" 0 "

s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o n . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 1 1 2 "

p o s x=" 0 "

s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ w e b _ o f f . png "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> </ c o n t a i n e r>

<!

Contenedor

del

texto

de

bienvenida

del

men

" directorio "

>
s i z e y ="

<c o n t a i n e r 50 "

i d=" c _ b i e n v "

v i s =" 1 "

p o s x=" 3 0 "

p o s y=" 2 2 3 "

s i z e x =" 5 2 0 "

a l p h a=" 0 ">

158

Apndice B. Ficheros desarrollados para la aplicacin

19 20 21 22 23 24 25 26 27 28 29

<t e x t

s t y l e =" s_body " del

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 5 2 0 "

s i z e y =" 2 5 "

s c r o l l ="

0 "> D i r e c t o r i o <t e x t

SAE </ t e x t> p o s x=" 0 " que p o s y=" 2 5 " s i z e x =" 5 2 0 " y pulse s i z e y =" 2 5 " scroll

s t y l e =" s_body2 " la

=" 0 "> E l i j a </ c o n t a i n e r>

opcin

desea

consultar

"O K" .</ t e x t>

<!

Contenedor

del

men

" directorio " v i s =" 1 "

>
a l p h a=" 0 " p o s x=" 5 0 " p o s y=" 2 8 0 " sizex

<c o n t a i n e r =" 4 0 0 "

i d=" c _ d i r e c t o r i o " s i z e y =" 2 3 0 ">

<menu

t y p e=" v e r t i c a l " i t e m y=" 5 0 "

p o s x=" 0 " s e p x=" 0 "

p o s y=" 0 " s e p y=" 1 0 "

s i z e x =" 4 0 0 "

s i z e y =" 2 3 0 "

i t e m x=

" 400 "

s t y l e =" s_menuver ">

<menuitem <a c t i o n

s t r =" S e r v i c i o s k e y="O K"

c e n t r a l e s ">

a c t=" h i d e c o n t ( d i r e c t o r i o _ S A E . c _ b i e n v ) , h i d e c o n t (

directorio_SAE . c _ d i r e c t o r i o ) , showcont ( directorio_SAE . c _ b i e n v _ s e r v C e n t r a l e s ) , showcont ( directorio_SAE . c _ s e r v C e n t r a l e s ) " />

30 31 32 33

</ menuitem>

<menuitem <a c t i o n

s t r =" D i r e c c i o n e s k e y="O K"

p r o v i n c i a l e s ">

a c t=" h i d e c o n t ( d i r e c t o r i o _ S A E . c _ b i e n v ) , h i d e c o n t (

directorio_SAE . c _ d i r e c t o r i o ) , showcont ( directorio_SAE . c_bienv_mapa ) , s h o w c o n t ( d i r e c t o r i o _ S A E . c _ d i r e c c P r o v i n c i a l e s ) " />

34 35 36 37

</ menuitem>

<menuitem <a c t i o n

s t r =" r e a s k e y="O K"

territoriales

de

e m p l e o ">

a c t=" h i d e c o n t ( d i r e c t o r i o _ S A E . c _ b i e n v ) , h i d e c o n t (

directorio_SAE . c _ d i r e c t o r i o ) , showcont ( directorio_SAE . c_bienv_mapa ) , s h o w c o n t ( d i r e c t o r i o _ S A E . c _ a r e a s T e r r i t o r i a l e s ) " />

38 39 40 41 42 43 44 45 46 47 48 49 50 51

</ menuitem>

<menuitem <a c t i o n >

s t r =" V o l v e r k e y="O K"

al

men

p r i n c i p a l ">

a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( i n d e x ) " /

</ menuitem>

</menu >

</ c o n t a i n e r>

<!

Contenedor

del

texto

de

bienvenida

( para

" servicios p o s x=" 3 0 "

centrales ") p o s y=" 2 2 3 "

>

<c o n t a i n e r " 520 " <t e x t

i d=" c _ b i e n v _ s e r v C e n t r a l e s " s i z e y =" 6 5 " a l p h a=" 0 "> p o s x=" 0 "

v i s =" 0 "

s i z e x=

s t y l e =" s_body " del

p o s y=" 0 "

s i z e x =" 5 2 0 "

s i z e y =" 2 5 "

s c r o l l ="

0 "> D i r e c t o r i o <t e x t

SAE </ t e x t> p o s x=" 0 " servicio p o s y=" 2 5 " que desea s i z e x =" 5 2 0 " consultar y s i z e y =" 6 5 " pulse scroll

s t y l e =" s_body2 " el

=" 0 "> S e l e c c i o n e t e x t>

"O K" .</

52 53 54 55 56 57 58 59 60

</ c o n t a i n e r>

<!

Contenedor

del

men

" servicios

centrales "

>
p o s x=" 5 0 " p o s y=" 2 8 0 "

<c o n t a i n e r

i d=" c _ s e r v C e n t r a l e s " s i z e y =" 2 3 0 ">

v i s =" 0 "

a l p h a=" 0 "

s i z e x =" 4 0 0 "

<menu

t y p e=" v e r t i c a l " i t e m y=" 5 0 "

p o s x=" 0 " s e p x=" 0 "

p o s y=" 0 " s e p y=" 1 0 "

s i z e x =" 4 0 0 "

s i z e y =" 2 3 0 "

i t e m x=

" 400 "

s t y l e =" s_menuver ">

<menuitem <a c t i o n

s t r =" C o n s e j e r o k e y="O K"

( Presidente

del

SAE ) ">

a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= p r e s i d e n t e S A E&amp ; p r o v i n c i a= & amp ; p a g =) " a c t b a c k=" h i d e p a g e (

B.2. Directorio de emisin

159

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

61 62 63 64

</ menuitem>

<menuitem <a c t i o n

s t r =" D i r e c c i n / G e r e n c i a k e y="O K"

SAE">

a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= g e r e n c i a S A E&amp ; p r o v i n c i a= & amp ; p a g =) " s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n> a c t b a c k=" h i d e p a g e (

65 66 67 68

</ menuitem>

<menuitem <a c t i o n

s t r ="D . G . k e y="O K"

Autnomos ,

Igualdad

Fomento

del

Empleo ">

a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= DGAutonomos&amp ; p r o v i n c i a= & amp ; p a g =) " s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n> a c t b a c k=" h i d e p a g e (

69 70 71 72

</ menuitem>

<menuitem <a c t i o n

s t r ="D . G . k e y="O K"

Empleabilidad

Formacin

P r o f e s i o n a l ">

a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= D G E m p l e a b i l i d a d&amp ; p r o v i n c i a= & amp ; p a g =) " ( a c t b a c k=" h i d e p a g e

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

</ menuitem>

</menu >

</ c o n t a i n e r>

<!

Contenedor

del

texto

de

bienvenida v i s =" 0 "

( para

el

mapa )

>
s i z e x =" 5 2 0 "

<c o n t a i n e r

i d=" c_bienv_mapa " a l p h a=" 0 ">

p o s x=" 3 0 "

p o s y=" 2 2 3 "

s i z e y =" 6 5 " <t e x t

s t y l e =" s_body " del

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 5 2 0 "

s i z e y =" 2 5 "

s c r o l l ="

0 "> D i r e c t o r i o <t e x t

SAE </ t e x t> p o s x=" 0 " p o s y=" 2 5 " de s i z e x =" 5 2 0 " y pulse s i z e y =" 6 5 " "O K" .</ t e x t> scroll

s t y l e =" s_body2 " la

=" 0 "> S e l e c c i o n e </ c o n t a i n e r>

provincia

inters

<!

Contenedor

del

mapa

de

direcciones

provinciales

>
p o s x=" 1 0 0 " p o s y="

<c o n t a i n e r 280 "

i d=" c _ d i r e c c P r o v i n c i a l e s " s i z e y =" 2 3 5 ">

v i s =" 0 "

a l p h a=" 0 "

s i z e x =" 3 9 8 "

<f o r m

f o c u s=" f _ s e v i l l a "

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 5 9 0 "

s i z e y =" 5 0 0 "

s t y l e =" s_popup ">

<f o r m _ i m g b u t t o n

i d=" f _ a l m e r i a "

img=" i m a g e s / m a p a _ a l m e r i a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_almeria_on . png " p o s x=" 2 9 4 " p o s y=" 6 9 " s i z e x =" 1 0 2 " s i z e y =" 1 0 8 " up=" f _ g r a n a d a " l e f t=

" f_granada "

r i g h t =" f _ h u e l v a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= d i r e c c i o n e s ;&amp ; p r o v i n c i a=a l m e r i a&amp ; p a g =1) " hidepage ( a c t b a c k="

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

94 95 96 97 98 99

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ g r a n a d a "

img=" i m a g e s / m a p a _ g r a n a d a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_granada_on . png " p o s x=" 2 1 5 " p o s y=" 5 3 " s i z e x =" 1 4 1 " s i z e y =" 1 2 3 " up=" f _ j a e n " l e f t ="

f_malaga "

r i g h t =" f _ a l m e r i a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= d i r e c c i o n e s ;&amp ; p r o v i n c i a=g r a n a d a&amp ; p a g =1) " hidepage ( a c t b a c k="

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

160

Apndice B. Ficheros desarrollados para la aplicacin

100 101 102 103 104 105

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ m a l a g a "

img=" i m a g e s / mapa_malaga_off . png "

i m g f o c u s=" i m a g e s / mapa_malaga_on . png " p o s x=" 1 2 5 " p o s y=" 1 2 4 " s i z e x =" 1 2 6 " s i z e y =" 8 4 " up=" f _ c o r d o b a " l e f t=

" f_cadiz "

r i g h t =" f _ g r a n a d a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= d i r e c c i o n e s ;&amp ; p r o v i n c i a=m a l a g a&amp ; p a g =1) " hidepage ( a c t b a c k="

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

106 107 108 109 110 111

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ j a e n "

img=" i m a g e s / m a p a _ j a e n _ o f f . png "

imgfocus

=" i m a g e s / mapa_jaen_on . png " p o s x=" 2 1 5 " p o s y=" 2 0 " s i z e x =" 1 2 9 " s i z e y =" 9 5 " down=" f _ g r a n a d a " left

=" f _ c o r d o b a "

r i g h t =" f _ g r a n a d a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= d i r e c c i o n e s ;&amp ; p r o v i n c i a=j a e n&amp ; p a g =1) " hidepage ( a c t b a c k="

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

112 113 114 115 116 117

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ c o r d o b a "

img=" i m a g e s / m a p a _ c o r d o b a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_cordoba_on . png " p o s x=" 1 2 9 " p o s y=" 0 " s i z e x =" 1 0 4 " s i z e y =" 1 3 3 " down=" f _ m a l a g a " l e f t=

" f_sevilla "

r i g h t =" f _ j a e n "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= d i r e c c i o n e s ;&amp ; p r o v i n c i a=c o r d o b a&amp ; p a g =1) " hidepage ( a c t b a c k="

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

118 119 120 121 122 123

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ s e v i l l a "

img=" i m a g e s / m a p a _ s e v i l l a _ o f f . png "

i m g f o c u s=" i m a g e s / m a p a _ s e v i l l a _ o n . png " p o s x=" 6 3 " p o s y=" 4 4 " s i z e x =" 1 3 0 " s i z e y =" 1 1 4 " down=" f _ c a d i z " l e f t ="

f_huelva "

r i g h t =" f _ c o r d o b a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= d i r e c c i o n e s ;&amp ; p r o v i n c i a= s e v i l l a &amp ; p a g =1) " hidepage ( a c t b a c k="

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

124 125 126 127 128 129

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ c a d i z "

img=" i m a g e s / m a p a _ c a d i z _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_cadiz_on . png " p o s x=" 6 9 " p o s y=" 1 4 3 " s i z e x =" 9 0 " s i z e y =" 9 1 " up=" f _ s e v i l l a " l e f t ="

f_huelva "

r i g h t =" f _ m a l a g a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= d i r e c c i o n e s ;&amp ; p r o v i n c i a=c a d i z&amp ; p a g =1) " hidepage ( a c t b a c k="

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

130 131 132 133 134 135

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ h u e l v a "

img=" i m a g e s / m a p a _ h u e l v a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_huelva_on . png " p o s x=" 0 " p o s y=" 3 9 " s i z e x =" 9 0 " s i z e y =" 1 2 1 " up=" f _ s e v i l l a " down="

f_cadiz "

l e f t =" f _ a l m e r i a "

r i g h t =" f _ s e v i l l a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n=

B.2. Directorio de emisin

161

d i r e c c i o n e s ;&amp ; p r o v i n c i a=h u e l v a&amp ; p a g =1) " hidepage (

a c t b a c k="

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

136 137 138 139 140 141 142 143 144 145 146 147 148 149 150

</ f o r m _ i m g b u t t o n>

</ f o r m>

</ c o n t a i n e r>

<!

Contenedor

del

mapa

de

reas

territoriales v i s =" 0 "

>
p o s x=" 1 0 0 " p o s y="

<c o n t a i n e r 280 "

i d=" c _ a r e a s T e r r i t o r i a l e s " s i z e y =" 2 3 5 ">

a l p h a=" 0 "

s i z e x =" 3 9 8 "

<f o r m

f o c u s=" f _ s e v i l l a "

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 5 9 0 "

s i z e y =" 5 0 0 "

s t y l e =" s_popup ">

<f o r m _ i m g b u t t o n

i d=" f _ a l m e r i a "

img=" i m a g e s / m a p a _ a l m e r i a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_almeria_on . png " p o s x=" 2 9 4 " p o s y=" 6 9 " s i z e x =" 1 0 2 " s i z e y =" 1 0 8 " up=" f _ g r a n a d a " l e f t=

" f_granada "

r i g h t =" f _ h u e l v a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= a r e a s ;&amp ; p r o v i n c i a=A l m e r i a&amp ; p a g =1) " ( a c t b a c k=" h i d e p a g e

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

151 152 153 154 155 156

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ g r a n a d a "

img=" i m a g e s / m a p a _ g r a n a d a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_granada_on . png " p o s x=" 2 1 5 " p o s y=" 5 3 " s i z e x =" 1 4 1 " s i z e y =" 1 2 3 " up=" f _ j a e n " l e f t ="

f_malaga "

r i g h t =" f _ a l m e r i a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= a r e a s ;&amp ; p r o v i n c i a=Granada&amp ; p a g =1) " ( a c t b a c k=" h i d e p a g e

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

157 158 159 160 161 162

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ m a l a g a "

img=" i m a g e s / mapa_malaga_off . png "

i m g f o c u s=" i m a g e s / mapa_malaga_on . png " p o s x=" 1 2 5 " p o s y=" 1 2 4 " s i z e x =" 1 2 6 " s i z e y =" 8 4 " up=" f _ c o r d o b a " l e f t=

" f_cadiz "

r i g h t =" f _ g r a n a d a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= a r e a s ;&amp ; p r o v i n c i a=M a l a g a&amp ; p a g =1) " , s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n> a c t b a c k=" h i d e p a g e (

163 164 165 166 167 168

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ j a e n "

img=" i m a g e s / m a p a _ j a e n _ o f f . png "

imgfocus

=" i m a g e s / mapa_jaen_on . png " p o s x=" 2 1 5 " p o s y=" 2 0 " s i z e x =" 1 2 9 " s i z e y =" 9 5 " down=" f _ g r a n a d a " left

=" f _ c o r d o b a "

r i g h t =" f _ g r a n a d a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= a r e a s ;&amp ; p r o v i n c i a=J a e n&amp ; p a g =1) " s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n> a c t b a c k=" h i d e p a g e (

169 170 171 172 173

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ c o r d o b a "

img=" i m a g e s / m a p a _ c o r d o b a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_cordoba_on . png " p o s x=" 1 2 9 " p o s y=" 0 " s i z e x =" 1 0 4 " s i z e y =" 1 3 3 " down=" f _ m a l a g a " l e f t=

" f_sevilla "

r i g h t =" f _ j a e n "

v a l i d a t i o n =" f a l s e ">

162

Apndice B. Ficheros desarrollados para la aplicacin

174

<a c t i o n

k e y="O K"

a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= a r e a s ;&amp ; p r o v i n c i a=C o r d o b a&amp ; p a g =1) " ( a c t b a c k=" h i d e p a g e

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

175 176 177 178 179 180

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ s e v i l l a "

img=" i m a g e s / m a p a _ s e v i l l a _ o f f . png "

i m g f o c u s=" i m a g e s / m a p a _ s e v i l l a _ o n . png " p o s x=" 6 3 " p o s y=" 4 4 " s i z e x =" 1 3 0 " s i z e y =" 1 1 4 " down=" f _ c a d i z " l e f t ="

f_huelva "

r i g h t =" f _ c o r d o b a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= a r e a s ;&amp ; p r o v i n c i a= S e v i l l a &amp ; p a g =1) " ( a c t b a c k=" h i d e p a g e

, s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n>

181 182 183 184 185 186

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ c a d i z "

img=" i m a g e s / m a p a _ c a d i z _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_cadiz_on . png " p o s x=" 6 9 " p o s y=" 1 4 3 " s i z e x =" 9 0 " s i z e y =" 9 1 " up=" f _ s e v i l l a " l e f t ="

f_huelva "

r i g h t =" f _ m a l a g a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= a r e a s ;&amp ; p r o v i n c i a=C a d i z&amp ; p a g =1) " s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n> a c t b a c k=" h i d e p a g e (

187 188 189 190 191 192

</ f o r m _ i m g b u t t o n>

<f o r m _ i m g b u t t o n

i d=" f _ h u e l v a "

img=" i m a g e s / m a p a _ h u e l v a _ o f f . png "

i m g f o c u s=" i m a g e s / mapa_huelva_on . png " p o s x=" 0 " p o s y=" 3 9 " s i z e x =" 9 0 " s i z e y =" 1 2 1 " up=" f _ s e v i l l a " down="

f_cadiz "

l e f t =" f _ a l m e r i a "

r i g h t =" f _ s e v i l l a "

v a l i d a t i o n =" f a l s e "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( d i r e c t o r i o _ S A E ) , s h o w p a g e ( h t t p : / / $

s e r v e r ; : $ p o r t ; / i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / d i r e c t o r i o _ S A E ? o p c i o n= a r e a s ;&amp ; p r o v i n c i a=H u e l v a&amp ; p a g =1) " , s h o w p a g e ( d i r e c t o r i o _ S A E ) "> </ a c t i o n> a c t b a c k=" h i d e p a g e (

193 194 195 196 197 198 199 200

</ f o r m _ i m g b u t t o n>

</ f o r m>

</ c o n t a i n e r>

</ p a g e>

B.2.7. Pgina web del SAE


web_SAE.xml

1 2 3 4 5 6 7 8

<? xml <!

Interface

version

=" 1 . 0 "

definition

encoding

="UTF

for

tmNews

8" ?> >

<p a g e>

<h e l p>c _ h e l p</ h e l p>

<!

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=" 2 1 4 "

<c o n t a i n e r

i d=" c _ i n d i c e _ l a t e r a l " s i z e y =" 1 6 8 ">

v i s =" 1 "

s i z e x =" 1 1 8 "

B.2. Directorio de emisin

163

9 10 11 12 13 14 15 16 17 18 19 20

<i m a g e

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png "

p o s y=" 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> <i m a g e p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e> p o s y=" 5 6 " p o s x=" 0 " s i z e x =" p o s y=" 2 8 " p o s x=" 0 " s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

118 " <i m a g e

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 8 4 "

p o s x=" 0 "

s i z e x ="

118 " <i m a g e

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ i m a g e>

p o s y=" 1 1 2 "

p o s x=" 0 "

s i z e x=

" 118 " <i m a g e

p a t h=" i m a g e s / ind_web_on . png "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x =" 1 1 8 "

s i z e y =" 2 8 "> </ i m a g e> </ c o n t a i n e r>

<!

"

Contenedor

del

texto

de

informacin

>
p o s x=" 3 0 " p o s y=" 2 1 4 " s i z e x =" 5 2 0

<c o n t a i n e r

i d=" c _ t e x t o "

v i s =" 1 "

a l p h a=" 0 "

s i z e y =" 2 7 0 "> s t y l e =" s_body " web del p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 " s i z e y =" 2 5 " s c r o l l ="

<t e x t

0 ">P g i n a <t e x t

SAE </ t e x t> p o s x=" 0 " p o s y=" 3 5 " web s i z e x =" 5 2 0 " encontrar s i z e y =" 2 4 5 " toda de la

s t y l e =" s _ b o d y D e t a l l e " s c r o l l =" 1 ">En la

siguiente

pgina

podr el

informacin Empleo:

que

pueda

necesitar

sobre

Servicio

Andaluz

21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

h t t p : / /www . j u n t a d e a n d a l u c i a . e s / s e r v i c i o a n d a l u z d e e m p l e o

La

web en

contiene esta

una

serie

de

apartados como:

adicionales

los

que

puede

encontrar

aplicacin ,

tales

A c c e s o

sus

datos

de

usuario ,

posibilidad

de

crear

su

propio

Currculum

Vitae .

N o t i c i a s y e v e n t o s de i n t e r s . Una s e c c i n p a r a l a e m p r e s a , p a r a f o m e n t a r l a c r e a c i n d e e m p l e o . Una s e c c i n d e d i c a d a a l a s p e r s o n a s q u e d e c i d a n e j e r c e r como a u t n o m o s . P o s i b i l i d a d de p e d i r c i t a s a l o s S e r v i c i o s de O r i e n t a c i n de A n d a l u c a


Occidental .

P o s i b i l i d a d
Adems , una

de

enviar

consultas

al

SAE .

asistente

virtual

sirve

como

gua

para

navegar

por

la

web .

Para

volver t e x t>

al

men

principal ,

pulse

la

tecla

"O K"

del

mando

d i s t a n c i a .</

</ c o n t a i n e r>

<!

"

Contenedor

del

botn

" Volver "

>
p o s x=" 5 5 8 " p o s y=" 4 4 5 " s i z e x =" 1 2 2

<c o n t a i n e r

i d="c_menu"

v i s =" 1 "

a l p h a=" 0 "

s i z e y =" 7 9 "> t y p e=" h o r i z o n t a l " i t e m y=" 7 9 " p o s x=" 0 " p o s y=" 0 " s i z e x =" 1 2 2 " s i z e y =" 7 9 " itemx

<menu

=" 1 2 2 "

s e p x=" 0 "

s e p y=" 0 "

s t y l e =" s_menuSinFondo "> i m g f o c u s=" i m a g e s /

<menuitem

img=" i m a g e s / b o t _ v o l v e r _ o f f . png "

b o t _ v o l v e r _ o n . png "> <a c t i o n k e y="O K" a c t=" h i d e p a g e ( web_SAE ) , s h o w p a g e ( i n d e x ) "> </

a c t i o n> </ menuitem> </menu > </ c o n t a i n e r> </ p a g e>

164

Apndice B. Ficheros desarrollados para la aplicacin

B.3. Directorio de gestin del canal de retorno


B.3.1. Ficheros generales
page-ow.xpl

1 2 3 4 5 6 7 8

<p : c o n f i g

x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f / p i p e l i n e " x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

<p : p r o c e s s o r <p : i n p u t

name=" o x f : p a g e

f l o w ">
h r e f=" p a g e

name=" c o n t r o l l e r "

f l o w . xml " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

page-ow.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

<c o n f i g

x m l n s=" h t t p : / /www . o r b e o n . com/ o x f / c o n t r o l l e r "

x m l n s : x u=" h t t p : / /www .

xmldb . o r g / x u p d a t e " <f i l e s <f i l e s <f i l e s <f i l e s <f i l e s <f i l e s <f i l e s <f i l e s <f i l e s <f i l e s <f i l e s <f i l e s path path

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

i n f o =" . g i f " /> i n f o =" . c s s " /> p a t h i n f o =" . p d f " /> p a t h i n f o =" . j s " /> p a t h i n f o =" . png " /> p a t h i n f o =" . j p g " /> p a t h i n f o =" . x s d " /> p a t h i n f o =" . xml " mimet y p e=" a p p l i c a t i o n / xml " /> p a t h i n f o =" . h t m l " mimet y p e=" t e x t / h t m l " /> p a t h i n f o =" . j a v a " mimet y p e=" t e x t / p l a i n " /> p a t h i n f o =" . t x t " mimet y p e=" t e x t / p l a i n " /> p a t h i n f o =" . xq " mimet y p e=" t e x t / p l a i n " />
path

<p a g e

default
</ p a g e>

m a t c h e r=" o x f : p e r l 5

i n f o =" / a p p s / ( [ 0 9 ] + ) / ( [ 0 9 ] + ) / r c / b u s c a d o r _ o f e r t a s _ f o r m u l a r i o " m a t c h e r " s u b m i s s i o n=" d e f a u l t s u b m i s s i o n . xml " m o d e l="


r e f =" / s u b m i s s i o n / c a t e g o r i a " r e f =" / s u b m i s s i o n / p r o v i n c i a " p a r a m e t e r=" c a t e g o r i a " /> p a r a m e t e r=" p r o v i n c i a " /> p a r a m e t e r=" p a l a b r a s C l a v e " />

b u s c a d o r _ o f e r t a s _ f o r m u l a r i o . x p l ">

<s e t v a l u e <s e t v a l u e <s e t v a l u e

r e f =" / s u b m i s s i o n / p a l a b r a s C l a v e "

<p a g e

path

default

oxf:perl5

i n f o =" / a p p s / ( [ 0 9 ] + ) / ( [ 0 9 ] + ) / r c / b u s c a d o r _ o f e r t a s " m a t c h e r=" m a t c h e r " s u b m i s s i o n=" d e f a u l t s u b m i s s i o n . xml " m o d e l=" b u s c a d o r _ o f e r t a s .


r e f =" / s u b m i s s i o n / c a t e g o r i a " p a r a m e t e r=" c a t e g o r i a " /> p a r a m e t e r=" s u b c a t e g o r i a " />

x p l ">

<s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e </ p a g e>

r e f =" / s u b m i s s i o n / s u b c a t e g o r i a " r e f =" / s u b m i s s i o n / p r o v i n c i a "

p a r a m e t e r=" p r o v i n c i a " /> p a r a m e t e r=" p a l a b r a s C l a v e " />

r e f =" / s u b m i s s i o n / p a l a b r a s C l a v e " r e f =" / s u b m i s s i o n / p a g "

p a r a m e t e r=" p a g " />

<p a g e

path

default

m a t c h e r=" o x f : p e r l 5

i n f o =" / a p p s / ( [ 0 9 ] + ) / ( [ 0 9 ] + ) / r c / b u s c a d o r _ o f e r t a s _ d e t a l l e " m a t c h e r " s u b m i s s i o n=" d e f a u l t s u b m i s s i o n . xml " m o d e l="


r e f =" / s u b m i s s i o n / c a t e g o r i a " p a r a m e t e r=" c a t e g o r i a " /> p a r a m e t e r=" s u b c a t e g o r i a " />

b u s c a d o r _ o f e r t a s _ d e t a l l e . x p l ">

<s e t v a l u e <s e t v a l u e

r e f =" / s u b m i s s i o n / s u b c a t e g o r i a "

B.3. Directorio de gestin del canal de retorno

165

35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89

<s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e </ p a g e>

r e f =" / s u b m i s s i o n / p r o v i n c i a "

p a r a m e t e r=" p r o v i n c i a " /> p a r a m e t e r=" p a l a b r a s C l a v e " />

r e f =" / s u b m i s s i o n / p a l a b r a s C l a v e " r e f =" / s u b m i s s i o n / p a g "

p a r a m e t e r=" p a g " /> p a r a m e t e r=" i d O f e r t a " /> p a r a m e t e r=" i d E m p r e s a " />

r e f =" / s u b m i s s i o n / i d O f e r t a " r e f =" / s u b m i s s i o n / i d E m p r e s a "

<p a g e

path

default
</ p a g e>

oxf:perl5

i n f o =" / a p p s / ( [ 0 9 ] + ) / ( [ 0 9 ] + ) / r c / c u r s o s _ f o r m u l a r i o " m a t c h e r=" m a t c h e r " s u b m i s s i o n=" d e f a u l t s u b m i s s i o n . xml " m o d e l=" c u r s o s _ f o r m u l a r i o .


r e f =" / s u b m i s s i o n / t i p o C u r s o " p a r a m e t e r=" t i p o C u r s o " /> p a r a m e t e r=" t i p o C u r s o T e x t " />

x p l ">

<s e t v a l u e <s e t v a l u e <s e t v a l u e

r e f =" / s u b m i s s i o n / t i p o C u r s o T e x t " r e f =" / s u b m i s s i o n / p r o v i n c i a "

p a r a m e t e r=" p r o v i n c i a " />

<p a g e

path

default

oxf:perl5

i n f o =" / a p p s / ( [ 0 9 ] + ) / ( [ 0 9 ] + ) / r c / c u r s o s _ f o r m a c i o n " m a t c h e r=" m a t c h e r " s u b m i s s i o n=" d e f a u l t s u b m i s s i o n . xml " m o d e l=" c u r s o s _ f o r m a c i o n .


r e f =" / s u b m i s s i o n / t i p o C u r s o " p a r a m e t e r=" t i p o C u r s o " /> p a r a m e t e r=" t i p o C u r s o T e x t " />

x p l ">

<s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e </ p a g e>

r e f =" / s u b m i s s i o n / t i p o C u r s o T e x t " r e f =" / s u b m i s s i o n / p r o v i n c i a " r e f =" / s u b m i s s i o n / i n i c i o "

p a r a m e t e r=" p r o v i n c i a " />

p a r a m e t e r=" i n i c i o " /> p a r a m e t e r=" m u n i c i p i o " /> p a r a m e t e r=" c o l e c t i v o " />

r e f =" / s u b m i s s i o n / m u n i c i p i o " r e f =" / s u b m i s s i o n / c o l e c t i v o " r e f =" / s u b m i s s i o n / f a m i l i a "

p a r a m e t e r=" f a m i l i a " /> p a r a m e t e r=" p r a c t i c a s " />

r e f =" / s u b m i s s i o n / p r a c t i c a s " r e f =" / s u b m i s s i o n / c o d i g o " r e f =" / s u b m i s s i o n / p a g "

p a r a m e t e r=" c o d i g o " />

p a r a m e t e r=" p a g " />

<p a g e

path

default
>

oxf:perl5

i n f o =" / a p p s / ( [ 0 9 ] + ) / ( [ 0 9 ] + ) / r c / c u r s o s _ d e t a l l e " m a t c h e r=" m a t c h e r " s u b m i s s i o n=" d e f a u l t s u b m i s s i o n . xml " m o d e l=" c u r s o s _ d e t a l l e . x p l "


r e f =" / s u b m i s s i o n / t i p o C u r s o " p a r a m e t e r=" t i p o C u r s o " /> p a r a m e t e r=" t i p o C u r s o T e x t " />

<s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e </ p a g e>

r e f =" / s u b m i s s i o n / t i p o C u r s o T e x t " r e f =" / s u b m i s s i o n / p r o v i n c i a " r e f =" / s u b m i s s i o n / i n i c i o "

p a r a m e t e r=" p r o v i n c i a " />

p a r a m e t e r=" i n i c i o " /> p a r a m e t e r=" m u n i c i p i o " /> p a r a m e t e r=" c o l e c t i v o " />

r e f =" / s u b m i s s i o n / m u n i c i p i o " r e f =" / s u b m i s s i o n / c o l e c t i v o " r e f =" / s u b m i s s i o n / f a m i l i a "

p a r a m e t e r=" f a m i l i a " /> p a r a m e t e r=" p r a c t i c a s " />

r e f =" / s u b m i s s i o n / p r a c t i c a s " r e f =" / s u b m i s s i o n / c o d i g o " r e f =" / s u b m i s s i o n / p a g "

p a r a m e t e r=" c o d i g o " />

p a r a m e t e r=" p a g " /> p a r a m e t e r=" i d C u r s o " />

r e f =" / s u b m i s s i o n / i d C u r s o " r e f =" / s u b m i s s i o n / l e t r a "

p a r a m e t e r=" l e t r a " />

<p a g e

path

default
> </ p a g e>

oxf:perl5

i n f o =" / a p p s / ( [ 0 9 ] + ) / ( [ 0 9 ] + ) / r c / d i r e c t o r i o _ S A E " m a t c h e r=" m a t c h e r " s u b m i s s i o n=" d e f a u l t s u b m i s s i o n . xml " m o d e l=" d i r e c t o r i o _ S A E . x p l "


r e f =" / s u b m i s s i o n / p r o v i n c i a " r e f =" / s u b m i s s i o n / o p c i o n " r e f =" / s u b m i s s i o n / p a g " p a r a m e t e r=" p r o v i n c i a " />

<s e t v a l u e <s e t v a l u e <s e t v a l u e

p a r a m e t e r=" o p c i o n " />

p a r a m e t e r=" p a g " />

<p a g e

<s e t v a l u e <s e t v a l u e

default

p a t h i n f o =" / a p p s / ( [ 0 9 ] + ) / ( [ 0 9 ] + ) / r c / c o n s u l t a s " m a t c h e r=" o x f : p e r l 5 m a t c h e r " s u b m i s s i o n=" d e f a u l t s u b m i s s i o n . xml " m o d e l=" c o n s u l t a s . x p l "> r e f =" / s u b m i s s i o n / i d D o c " r e f =" / s u b m i s s i o n /numDoc" p a r a m e t e r=" i d D o c " /> p a r a m e t e r="numDoc" />

166

Apndice B. Ficheros desarrollados para la aplicacin

90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142

<s e t v a l u e </ p a g e>

r e f =" / s u b m i s s i o n / l e t r a D o c "

p a r a m e t e r=" l e t r a D o c " />

<p a g e

path

default
</ p a g e> <p a g e

" oxf:perl5

i n f o =" / a p p s / ( [ 0 9 ] + ) / ( [ 0 9 ] + ) / r c / e m p r e s a s _ f o r m u l a r i o " m a t c h e r= m a t c h e r " s u b m i s s i o n=" d e f a u l t s u b m i s s i o n . xml " m o d e l=" e m p r e s a s _ f o r m u l a r i o

. x p l ">

path

i n f o =" / a p p s / ( [ 0 9 ] + ) / ( [ 0 9 ] + ) / r c / e m p r e s a s "
s u b m i s s i o n=" d e f a u l t

m a t c h e r=" o x f : p e r l 5

<s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e </ p a g e>

default

matcher "

s u b m i s s i o n . xml "

m o d e l=" e m p r e s a s . x p l ">

r e f =" / s u b m i s s i o n / p r o v i n c i a " r e f =" / s u b m i s s i o n / s e c t o r " r e f =" / s u b m i s s i o n / u r l "

p a r a m e t e r=" p r o v i n c i a " />

p a r a m e t e r=" s e c t o r " />

p a r a m e t e r=" u r l " /> p a r a m e t e r=" u r l F i n " /> p a r a m e t e r=" p r i m e r a V e z " />

r e f =" / s u b m i s s i o n / u r l F i n "

r e f =" / s u b m i s s i o n / p r i m e r a V e z " r e f =" / s u b m i s s i o n / p a g "

p a r a m e t e r=" p a g " />

<p a g e

path

default

oxf:perl5

i n f o =" / a p p s / ( [ 0 9 ] + ) / ( [ 0 9 ] + ) / r c / e m p r e s a s _ d e t a l l e " m a t c h e r=" m a t c h e r " s u b m i s s i o n=" d e f a u l t s u b m i s s i o n . xml " m o d e l=" e m p r e s a s _ d e t a l l e .


r e f =" / s u b m i s s i o n / i d E m p r e s a " p a r a m e t e r=" i d E m p r e s a " /> p a r a m e t e r=" i d P r o v i n c i a " />

x p l ">

<s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e </ p a g e>

r e f =" / s u b m i s s i o n / i d P r o v i n c i a " r e f =" / s u b m i s s i o n / p r o v i n c i a " r e f =" / s u b m i s s i o n / s e c t o r "

p a r a m e t e r=" p r o v i n c i a " />

p a r a m e t e r=" s e c t o r " /> p a r a m e t e r=" p r i m e r a V e z " />

r e f =" / s u b m i s s i o n / p r i m e r a V e z " r e f =" / s u b m i s s i o n / u r l "

p a r a m e t e r=" u r l " /> p a r a m e t e r=" u r l F i n " />

r e f =" / s u b m i s s i o n / u r l F i n " r e f =" / s u b m i s s i o n / p a g "

p a r a m e t e r=" p a g " />

<p a g e

path

default

m a t c h e r=" o x f : p e r l 5

i n f o =" / a p p s / ( [ 0 9 ] + ) / ( [ 0 9 ] + ) / r c / o f e r t a s _ e m p l e o _ p u b l i c o " m a t c h e r " s u b m i s s i o n=" d e f a u l t s u b m i s s i o n . xml " m o d e l="


r e f =" / s u b m i s s i o n / p r o v i n c i a " r e f =" / s u b m i s s i o n / t i t u l a c i o n " p a r a m e t e r=" p r o v i n c i a " /> p a r a m e t e r=" t i t u l a c i o n " /> p a r a m e t e r=" t i p o O p o s i c i o n " />

o f e r t a s _ e m p l e o _ p u b l i c o . x p l ">

<s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e </ p a g e>

r e f =" / s u b m i s s i o n / t i p o O p o s i c i o n " r e f =" / s u b m i s s i o n / p a g "

p a r a m e t e r=" p a g " /> p a r a m e t e r=" p r i m e r a V e z " />

r e f =" / s u b m i s s i o n / p r i m e r a V e z " r e f =" / s u b m i s s i o n / u r l "

p a r a m e t e r=" u r l " /> p a r a m e t e r=" j s e s s i o n i d " />

r e f =" / s u b m i s s i o n / j s e s s i o n i d "

<p a g e

path

i n f o =" / a p p s / ( [ 0 9 ] + ) / ( [ 0 9 ] + ) / r c /
m a t c h e r=" o x f : p e r l 5

default

ofertas_empleo_publico_detalle " s u b m i s s i o n=" d e f a u l t

m a t c h e r "

s u b m i s s i o n . xml "

m o d e l="

o f e r t a s _ e m p l e o _ p u b l i c o _ d e t a l l e . x p l "> r e f =" / s u b m i s s i o n / p r o v i n c i a " r e f =" / s u b m i s s i o n / t i t u l a c i o n " p a r a m e t e r=" p r o v i n c i a " /> p a r a m e t e r=" t i t u l a c i o n " /> p a r a m e t e r=" t i p o O p o s i c i o n " />

<s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e <s e t v a l u e </ p a g e>

r e f =" / s u b m i s s i o n / t i p o O p o s i c i o n " r e f =" / s u b m i s s i o n / p a g "

p a r a m e t e r=" p a g " /> p a r a m e t e r=" p r i m e r a V e z " />

r e f =" / s u b m i s s i o n / p r i m e r a V e z " r e f =" / s u b m i s s i o n / u r l "

p a r a m e t e r=" u r l " /> p a r a m e t e r=" j s e s s i o n i d " />

r e f =" / s u b m i s s i o n / j s e s s i o n i d " r e f =" / s u b m i s s i o n / i d O f e r t a "

p a r a m e t e r=" i d O f e r t a " />

</ c o n f i g>

B.3. Directorio de gestin del canal de retorno

167

default-submission.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

<? xml

<s u b m i s s i o n

version

=" 1 . 0 "

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 / XMLSchema" x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s "

encoding

="UTF

8" ?>

x m l n s : t m g=" h t t p : / /www . t m i r a . com/ o p s / p r o c e s s o r s " x m l n s : x i=" h t t p : / /www . w3 . o r g / 2 0 0 1 / X I n c l u d e " x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f / p i p e l i n e ">

< p r o v i n c i a /> <p a g /> <p r i m e r a V e z /> < u r l /> <i d E m p r e s a />

<!

Cursos

de

formacin

>

<t i p o C u r s o /> <t i p o C u r s o T e x t /> < i n i c i o /> <m u n i c i p i o /> < c o l e c t i v o /> < f a m i l i a /> < p r a c t i c a s /> < c o d i g o /> <i d C u r s o /> < l e t r a />

<!

Contacta

>

<o p c i o n /> <i d D o c /> <numDoc/> < l e t r a D o c />

<!

Empresas

>

< s e c t o r /> < u r l F i n /> < i d P r o v i n c i a />

<!

Anuncios

de

empleo

>

< p a l a b r a s C l a v e /> < c a t e g o r i a /> < s u b c a t e g o r i a /> < t i t u l a c i o n /> < t i p o O p o s i c i o n /> < j s e s s i o n i d /> < i d O f e r t a />

</ s u b m i s s i o n>

B.3.2. Anuncios de empleo


buscador_ofertas_formulario.xpl

1 2

<? xml

<p : c o n f i g

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

encoding

="UTF

8" ?>
x m l n s : t m g=" h t t p : x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f /

/ /www . t m i r a . com/ o p s / p r o c e s s o r s " pipeline "

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

3 4

<p : p a r a m

type

=" i n p u t "

name=" i n s t a n c e " />

168

Apndice B. Ficheros desarrollados para la aplicacin

5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : r e q u e s t "> name=" c o n f i g "> stream

config

XMLSchema">

type

=" x s : a n y U R I "

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 /

< i n c l u d e>/ r e q u e s t / s e r v e r

</

</ p : i n p u t> <p : o u t p u t

config

< i n c l u d e>/ r e q u e s t / s e r v e r >

name</ i n c l u d e> p o r t</ i n c l u d e>

name=" d a t a "

i d=" s e r v e r " />

</ p : p r o c e s s o r>

<!

Procesador

para

generar

el

HTTP

>
name=" o x f : x s l t "> name=" d a t a "

config

necesario

para

el

mtodo

GET

de

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

config method method action action cookies cookies contenttype contenttype encoding encoding timeout timeout config
match=" / "> < < >u r l h t t p</ > > < < < < >y e s</ > > t e x t / h t m l</ 8 </ >u t f > >4 0</ > > i d=" metodo_http_1 " />

version

=" 2 . 0 ">

> h t t p : / /www . o f i c i n a e m p l e o . com/ b u s c a r

e m p l e o s</

>

</ p : p r o c e s s o r>

<!

Mtodo >
<p : i n p u t <p : o u t p u t

GET

(HTTP) :

Obtiene

las

listas

de

provincias

de

categoras

<p : p r o c e s s o r

name=" tmg:tm

h t t p ">
h r e f="#metodo_http_1 " /> i d=" page_1 " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

<!

Seleccin

de

informacin

de

inters

en

el

fichero

H T M L

recibido

>

<p : p r o c e s s o r <p : i n p u t <i t e m s

name=" o x f : u n s a f e name=" c o n f i g ">

x s l t ">
xsl:version

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

=" 2 . 0 "> < p r o v i n c i a s> < p r o v i n c i a> <nombre>

Todas

las

provincias

</ nombre>

< v a l o r /> </ p r o v i n c i a> <x s l : f o r

e a c h

s e l e c t =" / / s e l e c t [ @id = ' C i t y ' ] / o p t i o n ">

<x s l : i f

t e s t =" p o s i t i o n ( ) ! = 1 ">

< p r o v i n c i a> <nombre> <x s l : v a l u e

o f

s e l e c t =" n o r m a l i z e

s p a c e ( t r a n s l a t e (

t e x t ( ) , ' , ' , ' & # 4 7 ; ' ) ) " /> </ nombre> < v a l o r> <x s l : v a l u e </ v a l o r> </ p r o v i n c i a> </ x s l : i f > </ x s l : f o r

o f

s e l e c t =" @ v a l u e " />

e a c h>

B.3. Directorio de gestin del canal de retorno

169

63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

</ p r o v i n c i a s> < c a t e g o r i a s> < c a t e g o r i a> <nombre>

Todas

las

categoras

</ nombre>

< v a l o r /> </ c a t e g o r i a> <x s l : f o r

e a c h

s e l e c t =" / / s e l e c t [ @id = ' a l e r t a _ a r e a ' ] / o p t i o n ">

<x s l : i f

t e s t =" p o s i t i o n ( ) ! = 1 ">

< c a t e g o r i a> <nombre> <x s l : v a l u e

o f

s e l e c t =" n o r m a l i z e

s p a c e ( t r a n s l a t e (

t e x t ( ) , ' , ' , ' & # 4 7 ; ' ) ) " /> </ nombre> < v a l o r> <x s l : v a l u e </ v a l o r> </ c a t e g o r i a> </ x s l : i f > </ x s l : f o r

o f

s e l e c t =" @ v a l u e " />

e a c h>

</ c a t e g o r i a s> </ i t e m s> </ p : i n p u t> <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t a " h r e f="#page_1 " /> i d=" l i s t a _ p p a l " />

</ p : p r o c e s s o r>

<p : c h o o s e <!

h r e f="#i n s t a n c e "> se ha seleccionado alguna categora , se buscan las

Si

subcategoras <p : w h e n ">

>
and / submission / c a t e g o r i a != '0 '

t e s t =" / s u b m i s s i o n / c a t e g o r i a ! = ' '

<!

Procesador de HTTP

para

generar

el

>
name=" o x f : x s l t ">

config

necesario

para

el

mtodo

GET

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" d a t a "

h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config method action


< < </ < < < <

version

=" 2 . 0 ">

match=" / ">

>u r l >

h t t p</ o f

method

>

<x s l : v a l u e

s e l e c t =" c o n c a t ( ' h t t p : / /www .

o f i c i n a e m p l e o . com/ a j a x _ c a t e g _ p u e s t o s . a s p ? i d

102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

action cookies cookies contenttype contenttype encoding encoding timeout timeout config
> >y e s</ > > t e x t / h t m l</ 8 </ >u t f > >4 0</ > > i d=" metodo_http_2 " />

= ' , / s u b m i s s i o n / c a t e g o r i a , ' & amp ; s e l = ' ) " />

>

</ p : p r o c e s s o r>

<!

Mtodo GET

(HTTP) :

Obtiene

la

lista

de

subcategoras

>

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

h t t p ">
h r e f="#metodo_http_2 " /> i d=" page_2 " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

170

Apndice B. Ficheros desarrollados para la aplicacin

120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179

<!

Seleccin recibido

de

informacin

de

inters

en

el

fichero

H T M L

>
name=" o x f : u n s a f e name=" c o n f i g "> x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

<p : p r o c e s s o r <p : i n p u t <i t e m s

x s l t ">

x s l : v e r s i o n =" 2 . 0 "> < s u b c a t e g o r i a s> < s u b c a t e g o r i a> <nombre>

Todas

las

subcategoras

</ nombre>

< v a l o r /> </ s u b c a t e g o r i a> <x s l : f o r

e a c h

s e l e c t =" / / s e l e c t / o p t i o n ">

<x s l : i f

t e s t =" p o s i t i o n ( ) ! = 1 ">

< s u b c a t e g o r i a> <nombre> <x s l : v a l u e

o f

s e l e c t =" n o r m a l i z e

s p a c e (

t r a n s l a t e ( t e x t ( ) , ' , ' , ' & # 4 7 ; ' ) ) " /> </ nombre> < v a l o r> <x s l : v a l u e </ v a l o r> </ s u b c a t e g o r i a> </ x s l : i f > </ x s l : f o r

o f

s e l e c t =" @ v a l u e " />

e a c h>

</ s u b c a t e g o r i a s> </ i t e m s> </ p : i n p u t> <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t a " h r e f="#page_2 " /> i d=" l i s t a _ s u b " />

</ p : p r o c e s s o r> </ p : w h e n>

<!

Si

no

se

ha

seleccionado

ninguna

categora ,

se

toma

un

valor

por

defecto

>
name=" o x f : i d e n t i t y "> name=" d a t a ">

< p : o t h e r w i s e> <p : p r o c e s s o r <p : i n p u t

<i t e m s> < s u b c a t e g o r i a s> < s u b c a t e g o r i a> <nombre> < v a l o r>

Todas l a s 1</ v a l o r>

subcategoras

</ nombre>

</ s u b c a t e g o r i a> </ s u b c a t e g o r i a s> </ i t e m s> </ p : i n p u t> <p : o u t p u t name=" d a t a " i d=" l i s t a _ s u b " />

</ p : p r o c e s s o r> </ p : o t h e r w i s e> </ p : c h o o s e>

<!

Generacin

del

fichero

X M L

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t

name=" o x f : x s l t "> name=" c o n f i g " name=" d a t a " h r e f=" b u s c a d o r _ o f e r t a s _ f o r m u l a r i o . x s l " />

h r e f="#l i s t a _ p p a l " /> h r e f="#l i s t a _ s u b " /> h r e f="#i n s t a n c e " />

name=" l i s t a _ s u b " name=" d a t

i n s t a n c e "

name=" s e r v e r " name=" d a t a "

h r e f="#s e r v e r " /> i d=" l i s t " />

</ p : p r o c e s s o r>

<!

Serializacin

del

fichero

<p : p r o c e s s o r <p : i n p u t

name=" o x f : x m l

X M L > s e r i a l i z e r ">

name=" c o n f i g ">

B.3. Directorio de gestin del canal de retorno

171

180 181 182 183 184 185 186 187 188 189

<

</

</ p : i n p u t> <p : i n p u t

config contenttype encoding encoding version version config


> < < < >u t f 8 </ > 1 . 0</ > > name=" d a t a "

> a p p l i c a t i o n / xml</ >

contenttype

>

h r e f="# l i s t " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

buscador_ofertas_formulario.xsl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

<? xml

<x s l : s t y l e s h e e t

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 1 . 0 ">

encoding

="UTF

8" ?>

x m l n s : x a l a n=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />

<x s l : t e m p l a t e < >

page help
< <! <

match=" i t e m s ">

>c _ h e l p</

help

>

</

container image image image image image image container


" 214 " < 118 " < < < < < 118 "

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=

i d=" c _ i n d i c e _ l a t e r a l "

v i s =" 1 "

s i z e x =" 1 1 8 "

s i z e y =" 1 6 8 ">

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png " s i z e y =" 2 8 "> </ >

p a t h=" i m a g e s / i n d _ a n u n c i o s _ o n . png " s i z e y =" 2 8 "> </ >

image

p o s y=" 0 "

p o s x=" 0 "

s i z e x ="

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ w e b _ o f f . png " s i z e y =" 2 8 "> </ >

>

image
de

image image image image

p o s y=" 2 8 "

p o s x=" 0 "

p o s y=" 5 6 "

p o s x=" 0 "

p o s y=" 8 4 "

p o s x=" 0 "

p o s y=" 1 1 2 "

p o s x=" 0 "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x ="

<! <

container text text


< <

Contenedor

del

texto

bienvenida

>
p o s y=" 2 2 3 " s i z e x =" 5 2 0 "

i d=" c _ b i e n v "

v i s =" 1 "

p o s x=" 3 0 "

s i z e y =" 9 0 "

a l p h a=" 0 "> p o s x=" 0 " de p o s y=" 0 "

s t y l e =" s_body "

s c r o l l =" 0 ">B u s c a d o r s t y l e =" s_body2 " esta le

o f e r t a s</

p o s x=" 0 " seccin

p o s y=" 2 5 " puede

text

s i z e x =" 5 2 0 " >

s i z e y =" 2 5 "

s i z e x =" 5 2 0 " las

s i z e y =" 6 5 " de y

s c r o l l =" 0 ">En que "O K" ms

encontrar las

ofertas que

empleo

interesen .

Elija el

opciones

25 26 27 28 29 30 31 32

</

container form

pulse >

tras

seleccionar

botn

" B u s c a r " .</

text

desee

>

<! <

container
<

Contenedor

del

formulario v i s =" 1 "

de

bsqueda

>
s i z e x =" 5 2 0 "

i d=" c_form "

p o s x=" 3 0 "

p o s y=" 3 0 0 "

s i z e y =" 2 5 9 "

a l p h a=" 0 ">

p o s x=" 0 "

p o s y=" 1 0 "

s i z e x =" 5 2 0 "

s i z e y =" 2 5 9 "

s t y l e ="

s_menu_form "> name=" f o c u s ">

<x s l : a t t r i b u t e

< x s l : c h o o s e>

172

Apndice B. Ficheros desarrollados para la aplicacin

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

<x s l : w h e n

t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission /

c a t e g o r i a = ' ' "> f _ p r o v i n c i a</ x s l : w h e n> < x s l : o t h e r w i s e> f _ s u b c a t e g o r i a</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : a t t r i b u t e>

<

<

text form_list
" "

s t r =" P r o v i n c i a "

p o s x=" 0 "

s t y l e =" s_body_form "> </ i d=" f _ p r o v i n c i a " s i z e y =" 2 5 "

text

p o s y=" 0 " >

s i z e x =" 1 5 5 "

s i z e y =" 2 5

t y p e=" h a r r o w s " up=" f _ b u s c a r ">

p o s x=" 1 7 5 "

p o s y=" 0

s i z e x =" 3 3 0 "

<x s l : a t t r i b u t e

name=" down ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission

/ c a t e g o r i a = ' ' "> f _ c a t e g o r i a</ x s l : w h e n> < x s l : o t h e r w i s e> f _ s u b c a t e g o r i a</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : v a l u e name=" v a l "> s e l e c t =" d o c ( ' i n p u t : d a t

of

instance

') /

s u b m i s s i o n / p r o v i n c i a " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : f o r name=" o p t i o n s ">

e a c h s e l e c t =" p r o v i n c i a s / p r o v i n c i a "> <x s l : v a l u e o f s e l e c t =" . / v a l o r " />


<x s l : i f t e s t =" p o s i t i o n ( ) != l a s t ( ) "> < x s l : t e x t> ,</ x s l : t e x t> </ x s l : i f >

</ x s l : f o r

e a c h>
name=" o p t i o n s _ t e x t s ">

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : f o r

e a c h s e l e c t =" p r o v i n c i a s / p r o v i n c i a "> <x s l : v a l u e o f s e l e c t =" . / nombre " />


<x s l : i f t e s t =" p o s i t i o n ( ) != l a s t ( ) "> < x s l : t e x t> ,</ x s l : t e x t> </ x s l : i f >

</ x s l : f o r

e a c h>

</

<

<

form_list text form_list


25 " 35 "

</ x s l : a t t r i b u t e> >

s t r =" C a t e g o r a "

p o s x=" 0 "

s t y l e =" s_body_form "> </ i d=" f _ c a t e g o r i a "

t y p e=" h a r r o w s "

text

p o s y=" 3 5 " >

s i z e x =" 1 5 5 "

s i z e y ="

p o s x=" 1 7 5 " up="

p o s y="

s i z e x =" 3 3 0 "

s i z e y =" 2 5 "

down=" f _ c a r g a r S u b "

f _ p r o v i n c i a ">

69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

<x s l : a t t r i b u t e <x s l : v a l u e

name=" v a l "> s e l e c t =" d o c ( ' i n p u t : d a t

of

instance

') /

s u b m i s s i o n / c a t e g o r i a " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : f o r name=" o p t i o n s ">

e a c h s e l e c t =" c a t e g o r i a s / c a t e g o r i a "> <x s l : v a l u e o f s e l e c t =" . / v a l o r " />


<x s l : i f t e s t =" p o s i t i o n ( ) != l a s t ( ) "> < x s l : t e x t> ,</ x s l : t e x t> </ x s l : i f >

</ x s l : f o r

e a c h>
name=" o p t i o n s _ t e x t s ">

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : f o r

e a c h s e l e c t =" c a t e g o r i a s / c a t e g o r i a "> <x s l : v a l u e o f s e l e c t =" . / nombre " />


<x s l : i f t e s t =" p o s i t i o n ( ) != l a s t ( ) "> < x s l : t e x t> ,</ x s l : t e x t> </ x s l : i f >

</ x s l : f o r

e a c h>

</ x s l : a t t r i b u t e>

B.3. Directorio de gestin del canal de retorno

173

88 89 90

</

<

form_list form_list
208 " > <

>

i d=" f _ c a r g a r S u b "

v a l=" 0 0 0 0 "

t y p e=" h a r r o w s " down="

p o s x="

p o s y=" 7 0 "

s i z e x =" 2 5 0 "

s i z e y =" 2 5 "

f_subcategoria "

up=" f _ c a t e g o r i a "

o p t i o n s=" 0 " ( pulse &#34;O K&#34;) "

o p t i o n s _ t e x t s=" C a r g a r

subcategoras

91 92 93 94 95 96 97 98

action

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

<x s l : v a r i a b l e

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server <x s l : v a r i a b l e input:dat

p o r t " />
s e l e c t =" d o c ( ' ' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

name=" p r o v i n c i a "

instance instance instance of

<x s l : v a r i a b l e input:dat

name=" c a t e g o r i a "

' ) / s u b m i s s i o n / c a t e g o r i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p a l a b r a s C l a v e "

' ) / s u b m i s s i o n / p a l a b r a s C l a v e " />

<x s l : a t t r i b u t e <x s l : v a l u e

name=" a c t "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / buscador_ofertas_formulario ? p r o v i n c i a =$ f _ p r o v i n c i a ;&amp ; c a t e g o r i a =$ f _ c a t e g o r i a ;&amp ; p a l a b r a s C l a v e =$ f _ p a l a b r a s ; ) ' ) " / >

99 100 101

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : v a l u e name=" a c t b a c k "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

of

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / buscador_ofertas_formulario ? p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; c a t e g o r i a = ' , $ c a t e g o r i a , ' & amp ; p a l a b r a s C l a v e = ' , $ p a l a b r a s C l a v e , ' ) ' ) " />

102 103 104 105 106 107

</

<

<

action form_list text form_list


</ =" 1 7 5 " ">

</ x s l : a t t r i b u t e> > >

s t r =" S u b c a t e g o r a "

p o s x=" 0 "

p o s y=" 1 0 5 " >

s i z e y =" 2 5 "

s t y l e =" s_body_form "> </

i d=" f _ s u b c a t e g o r i a " p o s y=" 1 0 5 "

v a l=" 0 0 0 0 "

text

s i z e x =" 1 5 5 "

t y p e=" h a r r o w s "

posx

s i z e x =" 3 3 0 "

s i z e y =" 2 5 "

down=" f _ p a l a b r a s

108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126

<x s l : a t t r i b u t e

name=" up ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission

/ c a t e g o r i a = ' ' ">f _ c a r g a r S u b</ x s l : w h e n> < x s l : o t h e r w i s e> f _ p r o v i n c i a</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : f o r name=" o p t i o n s "> s e l e c t =" d o c ( ' i n p u t : l i s t a _ s u b ' ) / i t e m s /

each

s u b c a t e g o r i a s / s u b c a t e g o r i a "> <x s l : v a l u e <x s l : i f

of

s e l e c t =" . / v a l o r " />

t e s t =" p o s i t i o n ( ) != l a s t ( ) ">

< x s l : t e x t> ,</ x s l : t e x t> </ x s l : i f > </ x s l : f o r

e a c h>
name=" o p t i o n s _ t e x t s "> s e l e c t =" d o c ( ' i n p u t : l i s t a _ s u b ' ) / i t e m s /

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : f o r

each

s u b c a t e g o r i a s / s u b c a t e g o r i a "> <x s l : v a l u e <x s l : i f

of

s e l e c t =" . / nombre " />

t e s t =" p o s i t i o n ( ) != l a s t ( ) ">

< x s l : t e x t> ,</ x s l : t e x t>

174

Apndice B. Ficheros desarrollados para la aplicacin

127 128 129 130 131 132 133

</ x s l : i f > </ x s l : f o r

e a c h>

</

<

<

form_list text edit_text


" 140 "

</ x s l : a t t r i b u t e> >

s t r =" P a l a b r a s

clave "

p o s x=" 0 "

p o s y=" 1 4 0 " >

s i z e y =" 2 5 "

s t y l e =" s_body_form "> </

i d=" f _ p a l a b r a s "

c o l e d i t ="# f f f f f f "

text

s i z e x =" 1 5 5 "

p o s x=" 1 7 5 "

p o s y=

s i z e x =" 3 3 0 "

s i z e y =" 2 5 "

up=" f _ s u b c a t e g o r i a "

down="

f _ b u s c a r ">

134 135 136 137 138 139

<x s l : a t t r i b u t e <x s l : v a l u e

name=" v a l "> s e l e c t =" d o c ( ' i n p u t : d a t

of

instance

') /

s u b m i s s i o n / p a l a b r a s C l a v e " />

</

<

edit_text form_imgbutton
> 122 " f_volver " <

</ x s l : a t t r i b u t e>

i d=" f _ n u e v a B u s q u e d a "

img=" i m a g e s /

b o t _ n u e v a B u s q u e d a _ o f f . png "

i m g f o c u s=" i m a g e s / p o s x=" 1 2 0 " p o s y=" 1 7 0 " s i z e x =" l e f t ="

bot_nuevaBusqueda_on . png " s i z e y =" 7 9 "

up=" f _ p a l a b r a s "

down=" f _ p r o v i n c i a "

140 141 142 143 144 145 146 147

action

r i g h t =" f _ b u s c a r "

v a l i d a t i o n =" f a l s e ">

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

<x s l : v a r i a b l e

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server <x s l : v a r i a b l e input:dat

p o r t " />
s e l e c t =" d o c ( ' ' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

name=" p r o v i n c i a "

instance instance instance of

<x s l : v a r i a b l e input:dat

name=" c a t e g o r i a "

' ) / s u b m i s s i o n / c a t e g o r i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p a l a b r a s C l a v e "

' ) / s u b m i s s i o n / p a l a b r a s C l a v e " />

<x s l : a t t r i b u t e <x s l : v a l u e

name=" a c t "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / buscador_ofertas_formulario ? p r o v i n c i a =$ f _ p r o v i n c i a ;&amp ; c a t e g o r i a= & amp ; p a l a b r a s C l a v e =$ f _ p a l a b r a s ; ) ' ) " />

148 149 150

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : v a l u e name=" a c t b a c k "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

of

anuncios_empleo ) , showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s _ f o r m u l a r i o ? p r o v i n c i a = ' ,$ p r o v i n c i a , ' & amp ; c a t e g o r i a = ' , $ c a t e g o r i a , ' & amp ; p a l a b r a s C l a v e = ' , $ p a l a b r a s C l a v e , ' ) ' ) " />

151 152 153 154 155

</

<

action form_imgbutton form_imgbutton


</ > " f_provincia " <

</ x s l : a t t r i b u t e>

>

i d=" f _ b u s c a r "

img=" i m a g e s / b o t _ b u s c a r _ o f f . png " p o s x=" 2 5 0 " down=" p o s y=" 1 7 0

i m g f o c u s=" i m a g e s / b o t _ b u s c a r _ o n . png " s i z e x =" 1 2 2 " s i z e y =" 7 9 "

up=" f _ p a l a b r a s "

r i g h t =" f _ v o l v e r "

l e f t =" f _ n u e v a B u s q u e d a "

156 157 158 159 160

action

v a l i d a t i o n =" f a l s e "> k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

<x s l : v a r i a b l e

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server <x s l : v a r i a b l e input:dat

p o r t " />
s e l e c t =" d o c ( ' ' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

name=" p r o v i n c i a "

instance instance

<x s l : v a r i a b l e input:dat

name=" c a t e g o r i a "

' ) / s u b m i s s i o n / c a t e g o r i a " />

B.3. Directorio de gestin del canal de retorno

175

161 162 163

<x s l : v a r i a b l e input:dat

name=" p a l a b r a s C l a v e "

s e l e c t =" d o c ( '

instance of

' ) / s u b m i s s i o n / p a l a b r a s C l a v e " />

<x s l : a t t r i b u t e <x s l : v a l u e

name=" a c t "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps / 1 6 0 0 3 / 8 0 0 / r c / b u s c a d o r _ o f e r t a s ? p r o v i n c i a =$ f _ p r o v i n c i a ;&amp ; c a t e g o r i a =$ f _ c a t e g o r i a ;&amp ; s u b c a t e g o r i a =$ f _ s u b c a t e g o r i a ;&amp ; p a l a b r a s C l a v e =$ f _ p a l a b r a s ;&amp ; p a g =1) ' ) " />

164 165 166

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : v a l u e name=" a c t b a c k "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

of

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / buscador_ofertas_formulario ? p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; c a t e g o r i a = ' , $ c a t e g o r i a , ' & amp ; p a l a b r a s C l a v e = ' , $ p a l a b r a s C l a v e , ' ) ' ) " />

167 168 169 170 171

</

<

action form_imgbutton form_imgbutton


</ > " f_provincia " <

</ x s l : a t t r i b u t e>

>

i d=" f _ v o l v e r "

img=" i m a g e s / b o t _ v o l v e r _ o f f . png " p o s x=" 3 8 0 " down=" p o s y=" 1 7 0

i m g f o c u s=" i m a g e s / b o t _ v o l v e r _ o n . png " s i z e x =" 1 2 2 " s i z e y =" 7 9 "

up=" f _ p a l a b r a s "

r i g h t =" f _ n u e v a B u s q u e d a "

l e f t =" f _ b u s c a r "

172 173 174 175 176 177 178 179 180 181 182 183

action

v a l i d a t i o n =" f a l s e "> k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

<x s l : v a r i a b l e

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server <x s l : v a r i a b l e input:dat

p o r t " />
s e l e c t =" d o c ( ' ' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

name=" p r o v i n c i a "

instance instance instance

<x s l : v a r i a b l e input:dat

name=" c a t e g o r i a "

' ) / s u b m i s s i o n / c a t e g o r i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p a l a b r a s C l a v e "

' ) / s u b m i s s i o n / p a l a b r a s C l a v e " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" ' h i d e p a g e (

<x s l : v a r i a b l e

s h o w p a g e ( a n u n c i o s _ e m p l e o ) ' " /> <x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : v a l u e name=" a c t b a c k "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

of

anuncios_empleo ) , showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s _ f o r m u l a r i o ? p r o v i n c i a = ' ,$ p r o v i n c i a , ' & amp ; c a t e g o r i a = ' , $ c a t e g o r i a , ' & amp ; p a l a b r a s C l a v e = ' , $ p a l a b r a s C l a v e , ' ) ' ) " />

184 185 186 187 188 189 190 191 192 193 194 195

</

action form_imgbutton form container page


</ > </ </ > </ > >

</ x s l : a t t r i b u t e>

>

</ x s l : t e m p l a t e>

</ x s l : s t y l e s h e e t >

176

Apndice B. Ficheros desarrollados para la aplicacin

buscador_ofertas.xpl

1 2

<? xml

<p : c o n f i g

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

encoding

="UTF

8" ?>
x m l n s : t m g=" h t t p : x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f /

/ /www . t m i r a . com/ o p s / p r o c e s s o r s " pipeline "

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

<p : p a r a m

type

=" i n p u t "

name=" i n s t a n c e " />

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : r e q u e s t "> name=" c o n f i g "> stream

config

XMLSchema">

type

=" x s : a n y U R I "

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 /

< i n c l u d e>/ r e q u e s t / s e r v e r

</

</ p : i n p u t> <p : o u t p u t

config

< i n c l u d e>/ r e q u e s t / s e r v e r >

name</ i n c l u d e> p o r t</ i n c l u d e>

name=" d a t a "

i d=" s e r v e r " />

</ p : p r o c e s s o r>

<!

Procesador

para

generar

el

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a "

config

necesario

para

el

mtodo

HTTP

>

h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config method method action cookies cookies parameters parameter


match=" / "> < < < < >p o s t</ >y e s</ > < <x s l : a t t r i b u t e <x s l : v a l u e </ <

version

=" 2 . 0 ">

>

> h t t p : / /www . o f i c i n a e m p l e o . com/ e m p l e o s</ >

action

>

name=" h i d _ p a g e n e x t "> name=" v a l u e "> s e l e c t =" / s u b m i s s i o n / p a g " />

o f

parameter parameter parameter parameter parameter parameter

</ x s l : a t t r i b u t e> > name=" h i d _ c i t y "> name=" v a l u e "> s e l e c t =" / s u b m i s s i o n / p r o v i n c i a " />

<x s l : a t t r i b u t e <x s l : v a l u e

o f

</ x s l : a t t r i b u t e> > name=" h i d _ a r e a "> name=" v a l u e "> s e l e c t =" / s u b m i s s i o n / c a t e g o r i a " />

</ <

<x s l : a t t r i b u t e <x s l : v a l u e

o f

</ x s l : a t t r i b u t e> > name=" h i d _ p u e s t o "> name=" v a l u e ">

</ <

<x s l : a t t r i b u t e

< x s l : c h o o s e> <x s l : w h e n "> <x s l : v a l u e t e s t =" / s u b m i s s i o n / s u b c a t e g o r i a ! = '

1 '

o f

s e l e c t =" / s u b m i s s i o n /

s u b c a t e g o r i a " /> </ x s l : w h e n> < x s l : o t h e r w i s e /> </ x s l : c h o o s e>

</ <

parameter parameter

</ x s l : a t t r i b u t e> > name=" h i d _ k e y w o r d "> name=" v a l u e "> name=" r e p l a c e name=" t e x t "

<x s l : a t t r i b u t e <x s l : c a l l

t e m p l a t e < x s l : w i t h param

s t r i n g ">

s e l e c t =" /

s u b m i s s i o n / p a l a b r a s C l a v e " />

B.3. Directorio de gestin del canal de retorno

177

56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110

<x s l : w i t h <x s l : w i t h </ x s l : c a l l

param param

name=" f r o m " name=" t o "

s e l e c t =" ' % 2 0 ' " />

s e l e c t =" ' + ' " />

t e m p l a t e>

</

</ x s l : t e m p l a t e>

parameter parameters timeout timeout contenttype contenttype encoding encoding config


</ x s l : a t t r i b u t e> > </ </ < < < > >4 0</ > > t e x t / h t m l</ 8 </ >u t f > > Plantilla que reemplaza una cadena por name=" r e p l a c e

>

<!

otra

>

<x s l : t e m p l a t e <x s l : p a r a m <x s l : p a r a m <x s l : p a r a m

s t r i n g ">

name=" t e x t " /> name=" f r o m " /> name=" t o " />

< x s l : c h o o s e> <x s l : w h e n t e s t =" c o n t a i n s ( $ t e x t , $ f r o m ) "> s e l e c t =" s u b s t r i n g

<x s l : v a r i a b l e ($ text ,

name=" b e f o r e "

b e f o r e

$ f r o m ) " /> name=" a f t e r " s e l e c t =" s u b s t r i n g

<x s l : v a r i a b l e text ,

a f t e r ( $

$ f r o m ) " /> name=" p r e f i x " s e l e c t =" c o n c a t ( $ b e f o r e ,

<x s l : v a r i a b l e $ t o ) " />

o f s e l e c t =" $ b e f o r e " /> o f s e l e c t =" $ t o " /> < x s l : c a l l t e m p l a t e name=" r e p l a c e s t r i n g "> < x s l : w i t h param name=" t e x t " s e l e c t =" $ a f t e r " /> < x s l : w i t h param name=" f r o m " s e l e c t =" $ f r o m " /> < x s l : w i t h param name=" t o " s e l e c t =" $ t o " /> </ x s l : c a l l t e m p l a t e>
<x s l : v a l u e <x s l : v a l u e </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

o f

s e l e c t =" $ t e x t " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : t e m p l a t e>

</ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a " i d=" m e t o d o _ h t t p " />

</ p : p r o c e s s o r>

<!

Mtodo

POST

(HTTP)

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

> h t t p ">
h r e f="#m e t o d o _ h t t p " /> i d=" p a g e " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

<!

Seleccin

de

informacin

de

inters

en

el

fichero

H T M L

recibido

>

<p : p r o c e s s o r <p : i n p u t <i t e m s

name=" o x f : u n s a f e name=" c o n f i g ">

x s l t ">
xsl:version

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

=" 2 . 0 "> < o f e r t a s> <x s l : f o r

e a c h

s e l e c t =" / / t a b l e / t r [ @ c l a s s = ' n o r m a l t e x t ' ] ">

< o f e r t a> <nombre> <x s l : v a l u e

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e

s p a c e

( . / td [ 1 ] / t a b l e / t r / td [ 2 ] / a/ span ) , '&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;& #141;&#147;&#154;&#145;&#188;' , ' ' ) " /> </ nombre>

178

Apndice B. Ficheros desarrollados para la aplicacin

111

< i d O f e r t a> <x s l : v a l u e

t r a n s l a t e ( normalize @href )

o f s e l e c t =" s u b s t r i n g b e f o r e ( s p a c e ( . / t d [ 1 ] / t a b l e / t r / t d [ 2 ] / a /

, '&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;& #141;&#147;&#154;&#145;&#188;' , ' ' ) , ' = ' ) " /> </ i d O f e r t a>

112

< u b i c a c i o n> <x s l : v a l u e space ( . / td [ 2 ] )

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e

, '&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;& #141;&#147;&#154;&#145;&#188;' , ' ' ) " /> </ u b i c a c i o n>

113

<e m p r e s a> <x s l : v a l u e space ( . / td [ 3 ] )

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e

, '&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;& #141;&#147;&#154;&#145;&#188;' , ' ' ) " /> </ e m p r e s a>

114

< f e c h a> <x s l : v a l u e ( . / td [ 4 ] )

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e

s p a c e

, '&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;& #141;&#147;&#154;&#145;&#188;' , ' ' ) " /> </ f e c h a>

115 116

<i d E m p r e s a> <x s l : v a r i a b l e normalize name=" nombre " s e l e c t =" t r a n s l a t e (

s p a c e ( . /

following

s i b l i n g : : t r

[ position

( ) =2]/ td [ 1 ] / a / @href ) , '&#161;&#169;&#173;&#179;&#186;&#177;&#129;&# 137;&#141;&#147;&#154;&#145;' , ' ' ) " />

117 118 119

< x s l : c h o o s e> <x s l : w h e n t e s t =" c o n t a i n s ( $ nombre , ' & amp ; ' ) ">

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( s u b s t r i n g

( $ nombre , ' & amp ; ' ) , 'AMPERSAND' , s u b s t r i n g a f t e r ( $ nombre , ' & amp ; ' ) ) " />

b e f o r e

120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147

</ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

o f

s e l e c t =" $ nombre " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ i d E m p r e s a> </ o f e r t a> </ x s l : f o r </ o f e r t a s> <p a g i n a s> <x s l : v a r i a b l e name=" t o t a l _ p a g i n a s "> name=" u l t i m a _ p a g "> s e l e c t =" / / a [ @ h r e f = ' e m p l e o s ' ] ">

e a c h>

<x s l : v a r i a b l e <x s l : f o r

e a c h

<x s l : i f

t e s t =" p o s i t i o n ( )= l a s t ( ) ">

<x s l : v a l u e

o f

s e l e c t =" s u b s t r i n g

b e f o r e ( s u b s t r i n g

a f t e r ( . / @ o n c l i c k , ' p a g i n a r ( ' ) , ' ) ' ) " /> </ x s l : i f > </ x s l : f o r

e a c h>

</ x s l : v a r i a b l e>

< x s l : c h o o s e> <x s l : w h e n t e s t =" $ u l t i m a _ p a g &g t ; doc ( ' i n p u t : d a t

i n s t a n c e ' ) / s u b m i s s i o n / p a g "> <x s l : v a l u e </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

o f

s e l e c t =" $ u l t i m a _ p a g " />

o f

s e l e c t =" d o c ( ' i n p u t : d a t

i n s t a n c e

') /

s u b m i s s i o n / p a g " /> </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : v a r i a b l e>

B.3. Directorio de gestin del canal de retorno

179

148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203

<p a g i n a> <x s l : a t t r i b u t e <x s l : a t t r i b u t e <x s l : v a l u e name=" a c t u a l ">1</ x s l : a t t r i b u t e> name=" numero "> s e l e c t =" d o c ( ' i n p u t : d a t

o f

i n s t a n c e

') /

s u b m i s s i o n / p a g " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" t o t a l "> <x s l : v a l u e

o f

s e l e c t =" $

t o t a l _ p a g i n a s " /> </ x s l : a t t r i b u t e> </ p a g i n a> <x s l : f o r

e a c h

s e l e c t =" / / a [ @ h r e f = ' e m p l e o s ' ] ">

<x s l : i f

t e s t =" s u b s t r i n g

b e f o r e ( s u b s t r i n g a f t e r

( . / @onclick

, ' p a g i n a r ( ' ) , ' ) ' )=t e x t ( ) "> <p a g i n a> <x s l : a t t r i b u t e <x s l : a t t r i b u t e name=" a c t u a l ">0</ x s l : a t t r i b u t e> name=" numero "> <x s l : v a l u e

o f

s e l e c t ="

t e x t ( ) " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" t o t a l "> <x s l : v a l u e

o f

s e l e c t =" $

t o t a l _ p a g i n a s " /> </ x s l : a t t r i b u t e> </ p a g i n a> </ x s l : i f > </ x s l : f o r </ p a g i n a s> </ i t e m s> </ p : i n p u t> <p : i n p u t <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t h r e f="#p a g e " /> h r e f="#i n s t a n c e " />

e a c h>

i n s t a n c e "

name=" d a t a "

i d=" r e s u l t D e s o r d e n a d o " />

</ p : p r o c e s s o r>

<!

Procesador

para

ordenar

las

pginas

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a " h r e f="#r e s u l t D e s o r d e n a d o " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e <i t e m s>

version

=" 2 . 0 ">

match=" i t e m s ">

< o f e r t a s> <x s l : a p p l y </ o f e r t a s> <p a g i n a s> <x s l : a p p l y

t e m p l a t e s

s e l e c t =" o f e r t a s / o f e r t a " />

t e m p l a t e s

s e l e c t =" p a g i n a s / p a g i n a "> data

<x s l : s o r t

s e l e c t =" @numero "

" a s c e n d i n g " /> </ x s l : a p p l y </ p a g i n a s> </ i t e m s> </ x s l : t e m p l a t e>

type

=" number "

o r d e r=

t e m p l a t e s>

<x s l : t e m p l a t e < o f e r t a>

match=" o f e r t a s / o f e r t a ">

o f s e l e c t =" nombre " /></ nombre> o f s e l e c t =" i d O f e r t a " /></ i d O f e r t a> <i d E m p r e s a> < x s l : v a l u e o f s e l e c t =" i d E m p r e s a " /> </ i d E m p r e s a> < u b i c a c i o n> < x s l : v a l u e o f s e l e c t =" u b i c a c i o n " /> </ u b i c a c i o n> <e m p r e s a> < x s l : v a l u e o f s e l e c t =" e m p r e s a " /> </ e m p r e s a> < f e c h a> < x s l : v a l u e o f s e l e c t =" f e c h a " /> </ f e c h a>
<nombre> <x s l : v a l u e < i d O f e r t a> <x s l : v a l u e </ o f e r t a> </ x s l : t e m p l a t e> <x s l : t e m p l a t e <p a g i n a> <x s l : a t t r i b u t e name=" a c t u a l "> <x s l : v a l u e match=" p a g i n a s / p a g i n a ">

o f

s e l e c t =" @ a c t u a l

" /> </ x s l : a t t r i b u t e>

180

Apndice B. Ficheros desarrollados para la aplicacin

204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235

<x s l : a t t r i b u t e

name=" numero "> <x s l : v a l u e

o f

s e l e c t =" @numero

" /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" t o t a l "> <x s l : v a l u e

o f

s e l e c t =" @ t o t a l " /

> </ x s l : a t t r i b u t e> </ p a g i n a> </ x s l : t e m p l a t e>

</ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a " i d=" r e s u l t " />

</ p : p r o c e s s o r>

<!

Generacin

del

fichero

X M L

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t

name=" o x f : x s l t "> name=" c o n f i g " name=" d a t a " name=" d a t h r e f=" b u s c a d o r _ o f e r t a s . x s l " />

h r e f="#r e s u l t " /> h r e f="#i n s t a n c e " />

i n s t a n c e "

name=" s e r v e r " name=" d a t a "

h r e f="#s e r v e r " /> i d=" l i s t " />

</ p : p r o c e s s o r>

<!

Serializacin

del

fichero

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : x m l

X M L > s e r i a l i z e r ">

</

</ p : i n p u t> <p : i n p u t

config contenttype encoding encoding version version config


name=" c o n f i g "> > < < < >u t f 8 </ > 1 . 0</ > > name=" d a t a "

> a p p l i c a t i o n / xml</ >

contenttype

>

h r e f="# l i s t " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

buscador_ofertas.xsl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

<? xml

<x s l : s t y l e s h e e t

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 1 . 0 ">

encoding

=" u t f

8 " ?>

x m l n s : x a l a n=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />

<x s l : t e m p l a t e < >

page help
< <! <

match=" i t e m s ">

>c _ h e l p</

help

>

container image image image image image


" 214 " < < < < <

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=

i d=" c _ i n d i c e _ l a t e r a l " s i z e x =" 1 1 8 "

v i s =" 1 "

s i z e y =" 1 6 8 ">

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png " s i z e y =" 2 8 "> </ >

118 "

p a t h=" i m a g e s / i n d _ a n u n c i o s _ o n . png " s i z e y =" 2 8 "> </ >

image

p o s y=" 0 "

p o s x=" 0 "

s i z e x ="

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

image image image image

p o s y=" 2 8 "

p o s x=" 0 "

p o s y=" 5 6 "

p o s x=" 0 "

p o s y=" 8 4 "

p o s x=" 0 "

p o s y=" 1 1 2 "

p o s x=" 0 "

B.3. Directorio de gestin del canal de retorno

181

18 19 20 21 22 23
</

image container
< 118 " 215 " <

p a t h=" i m a g e s / i n d _ w e b _ o f f . png " s i z e y =" 2 8 "> </ >

>

image

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x ="

<! <

container menu
"

Contenedor

del

men

horizontal

( paginacin ) s i z e y =" 3 5 "

>
s i z e x =" 5 3 0 " p o s y="

a l p h a=" 0 "

i d=" c_menu_hor "

p o s x=" 2 4 "

v i s =" 1 "> p o s x=" 1 0 " p o s y=" 0 " s i z e x =" 5 3 0 " s t y l e =" s i z e y =" 2 5

t y p e=" h o r i z o n t a l "

i t e m x=" 3 6 "

i t e m y=" 2 5 "

s e p x=" 4 "

s e p y=" 0 "

s _ m e n u h o r C e n t r a d o ">

24 25 26 27 28 29 30 31 32 33 34

<x s l : v a r i a b l e

name=" t o t a l _ p a g "

s e l e c t =" / i t e m s / p a g i n a s / p a g i n a

[ 1 ] / @ t o t a l " /> <x s l : v a r i a b l e name=" p r i m e r a _ p a g " s e l e c t =" / i t e m s / p a g i n a s /

p a g i n a [ 1 ] / @numero " /> <x s l : v a r i a b l e name=" u l t i m a _ p a g " s e l e c t =" / i t e m s / p a g i n a s / p a g i n a

[ l a s t ( ) ] / @numero " /> <x s l : v a r i a b l e name="num_pag" s e l e c t =" d o c ( ' i n p u t : d a t

instance

' ) / s u b m i s s i o n / p a g " />

< x s l : c h o o s e> <x s l : w h e n t e s t =" $ p r i m e r a _ p a g = ' 1 ' "> name=" c u r s o r x "> <x s l : v a l u e

<x s l : a t t r i b u t e

of

s e l e c t ="

number ( $ num_pag </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : a t t r i b u t e

1 ) " /> </ x s l : a t t r i b u t e>

name=" c u r s o r x "> <x s l : v a l u e

of

s e l e c t ="

number ( $ num_pag

$ primera_pag

1 ) " /> </

35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

<

menuitem

x s l : a t t r i b u t e> img=" i m a g e s / b o t _ m a t r i x _ o f f . png " i m g f o c u s="

i m a g e s / b o t _ m a t r i x _ o n . png "

s t r =" &#60;&#60; " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e>

<x s l : a p p l y

templates

s e l e c t =" p a g i n a s / p a g i n a " />

<x s l : i f

t e s t =" $ u l t i m a _ p a g

!=

$ total_pag

and

$ ultima_pag

!=

<

menuitem
' 1 ' "> >

img=" i m a g e s / b o t _ m a t r i x _ o f f . png " s t r =" &#62;&#62; " />

i m g f o c u s=" i m a g e s

/ b o t _ m a t r i x _ o n . png "

</

menu container
</ > 250 "

</ x s l : i f >

<! <

container

Contenedor

del

men

vertical

( listado

de

empresas )

>
p o s y="

i d="c_menu"

a l p h a=" 2 5 5 "

s i z e y =" 3 0 0 "

s i z e x =" 5 1 0 "

p o s x=" 3 0 "

v i s =" 1 ">

< x s l : c h o o s e> <x s l : w h e n <

menu
<

t e s t =" c o u n t ( / / o f e r t a ) ! = 0 "> t y p e=" v e r t i c a l " i t e m x=" 5 1 0 " p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 1 0 " s e p y=" 0 " s i z e y= s t y l e ="

" 275 "

i t e m y=" 2 5 "

s e p x=" 0 "

52 53 54 55 56 57

menuitem action
<

s _ m e n u v e r E m p r e s a s "> s t r ="

R e a l i z a r

nueva

bsqueda

"

>

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server <x s l : v a r i a b l e input:dat name=" c a t e g o r i a "

s e l e c t =" d o c ( '

instance instance

' ) / s u b m i s s i o n / c a t e g o r i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat />

name=" s u b c a t e g o r i a "

' ) / submission / subcategoria "

58

<x s l : v a r i a b l e input:dat

name=" p r o v i n c i a "

s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / p r o v i n c i a " />

182

Apndice B. Ficheros desarrollados para la aplicacin

59

<x s l : v a r i a b l e input:dat " />

name=" p a l a b r a s C l a v e "

s e l e c t =" d o c ( '

instance

' ) / submission / palabrasClave

60 61 62 63

<x s l : v a r i a b l e input:dat

name=" p a g "

s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / p a g " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" c o n c a t ( '

<x s l : v a r i a b l e hidepage (

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s _ f o r m u l a r i o ? c a t e g o r i a= & amp ; p r o v i n c i a= & amp ; p a l a b r a s C l a v e =) ' ) " />

64 65 66 67 68

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e

name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( '

<x s l : v a r i a b l e hidepage (

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s ? c a t e g o r i a = ' ,$ c a t e g o r i a , '& amp ; s u b c a t e g o r i a = ' , $ s u b c a t e g o r i a , ' & amp ; p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; p a g = ' , $ pag , ' & amp ; p a l a b r a s C l a v e = ' , $ p a l a b r a s C l a v e , ' ) ' ) " />

69 70 71 72 73 74 75 76 77 78 79 80 81 82

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

</

action menuitem
</ <

>

>

<x s l : a p p l y

templates
s t r ="

s e l e c t =" o f e r t a s / o f e r t a " />

<

menuitem action

R e a l i z a r

nueva

bsqueda

"

>

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server <x s l : v a r i a b l e input:dat name=" c a t e g o r i a "

s e l e c t =" d o c ( '

instance instance

' ) / s u b m i s s i o n / c a t e g o r i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat />

name=" s u b c a t e g o r i a "

' ) / submission / subcategoria "

83 84

<x s l : v a r i a b l e input:dat

name=" p r o v i n c i a "

s e l e c t =" d o c ( '

instance instance

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat " />

name=" p a l a b r a s C l a v e "

' ) / submission / palabrasClave

85 86 87 88

<x s l : v a r i a b l e input:dat

name=" p a g "

s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / p a g " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" c o n c a t ( '

<x s l : v a r i a b l e hidepage (

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s _ f o r m u l a r i o ? c a t e g o r i a= & amp ; p r o v i n c i a= & amp ; p a l a b r a s C l a v e =) ' ) " />

89 90 91 92 93

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e

name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( '

<x s l : v a r i a b l e hidepage (

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s ? c a t e g o r i a = ' ,$ c a t e g o r i a , '&

B.3. Directorio de gestin del canal de retorno

183

amp ; s u b c a t e g o r i a = ' , $ s u b c a t e g o r i a , ' & amp ; p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; p a g = ' , $ pag , ' & amp ; p a l a b r a s C l a v e = ' , $ p a l a b r a s C l a v e , ' ) ' ) " />

94 95 96 97 98 99 100 101 102 103

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

</

</ x s l : w h e n>

action menuitem menu


</ </ > =" 9 0 " empleo

>

>

< x s l : o t h e r w i s e> < s t y l e =" s_body2 " p o s x=" 0 " se ha p o s y=" 2 5 " encontrado de s i z e x =" 5 1 0 " ninguna sizey de

text

s c r o l l =" 0 ">No con los para

oferta

parmetros realizar

bsqueda nueva

seleccionados . >

104

<

menu
<

Pulse

"O K"

una

b s q u e d a .</

t y p e=" v e r t i c a l "

p o s x=" 0 "

p o s y=" 1 1 5 "

s i z e x =" 5 1 0 "

text
>

s i z e y =" 2 7 "

i t e m x=" 5 1 0 "

i t e m y=" 2 7 "

s e p x=" 0 "

s e p y=" 0 "

105 106 107 108 109 110

menuitem action
<

s t y l e =" s _ m e n u v e r C u r s o s "> s t r ="

R e a l i z a r

nueva

bsqueda

"

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server <x s l : v a r i a b l e input:dat name=" c a t e g o r i a "

s e l e c t =" d o c ( '

instance instance

' ) / s u b m i s s i o n / c a t e g o r i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat />

name=" s u b c a t e g o r i a "

' ) / submission / subcategoria "

111 112

<x s l : v a r i a b l e input:dat

name=" p r o v i n c i a "

s e l e c t =" d o c ( '

instance instance

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat " />

name=" p a l a b r a s C l a v e "

' ) / submission / palabrasClave

113 114 115 116

<x s l : v a r i a b l e input:dat

name=" p a g "

s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / p a g " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" c o n c a t ( '

<x s l : v a r i a b l e hidepage (

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s _ f o r m u l a r i o ? c a t e g o r i a= & amp ; p r o v i n c i a= & amp ; p a l a b r a s C l a v e =) ' ) " />

117 118 119 120 121

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e

name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( '

<x s l : v a r i a b l e hidepage (

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s ? c a t e g o r i a = ' ,$ c a t e g o r i a , '& amp ; s u b c a t e g o r i a = ' , $ s u b c a t e g o r i a , ' & amp ; p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; p a g = ' , $ pag , ' & amp ; p a l a b r a s C l a v e = ' , $ p a l a b r a s C l a v e , ' ) ' ) " />

122 123 124 125 126 127 128 129 130

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

</

</ x s l : o t h e r w i s e>

action menuitem menu


</ </ >

>

>

</

container

</ x s l : c h o o s e> >

184

Apndice B. Ficheros desarrollados para la aplicacin

131 132 133 134 135 136 137 138 139 140 141 142 143 144

</

</ x s l : t e m p l a t e>

page

>

<x s l : t e m p l a t e <

menuitem

match=" p a g i n a s / p a g i n a "> img=" i m a g e s / b o t _ m a t r i x _ o f f . png " i m g f o c u s=" i m a g e s /

b o t _ m a t r i x _ o n . png "> name=" s t r "> <x s l : v a l u e

<x s l : a t t r i b u t e

of

s e l e c t =" @numero " /> </

x s l : a t t r i b u t e> <x s l : i f t e s t =" @ a c t u a l = ' 0 ' "> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) / r e q u e s t /

<x s l : v a r i a b l e server

n a m e " />
name=" s e r v P o r t " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) /

<x s l : v a r i a b l e

request / server <x s l : v a r i a b l e

p o r t " />
s e l e c t =" d o c ( ' i n p u t : d a t

name=" c a t e g o r i a "

instance

')

/ s u b m i s s i o n / c a t e g o r i a " /> <x s l : v a r i a b l e input:dat name=" s u b c a t e g o r i a " s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / s u b c a t e g o r i a " /> s e l e c t =" d o c ( ' i n p u t : d a t

<x s l : v a r i a b l e

name=" p r o v i n c i a "

instance

')

/ s u b m i s s i o n / p r o v i n c i a " /> <x s l : v a r i a b l e input:dat name=" p a l a b r a s C l a v e " s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / p a l a b r a s C l a v e " /> s e l e c t =" c o n c a t ( ' h i d e p a g e (

<x s l : v a r i a b l e

name=" comun "

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s ? c a t e g o r i a = ' , $ c a t e g o r i a , ' & amp ; s u b c a t e g o r i a = ' , $ s u b c a t e g o r i a , ' & amp ; p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; p a g = ' , @numero , ' & amp ; p a l a b r a s C l a v e = ' , $ p a l a b r a s C l a v e , ' ) ' ) " />

145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168

<x s l : a t t r i b u t e <x s l : v a l u e

name=" o n o v e r "> s e l e c t =" $ comun " />

of

</ x s l : a t t r i b u t e>

</

</ x s l : t e m p l a t e>

menuitem

</ x s l : i f > >

<x s l : t e m p l a t e < >

menuitem

match=" o f e r t a s / o f e r t a ">

<x s l : a t t r i b u t e <x s l : v a l u e

name=" s t r "> s e l e c t =" c o n c a t ( f e c h a , ' : ' , nombre , ' ( ' , empresa , ' ,

of

' , u b i c a c i o n , ' ) ' ) " /> </ x s l : a t t r i b u t e>

<

action

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) / r e q u e s t /

<x s l : v a r i a b l e server

n a m e " />
name=" s e r v P o r t " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) /

<x s l : v a r i a b l e

request / server <x s l : v a r i a b l e

p o r t " />
s e l e c t =" d o c ( ' i n p u t : d a t

name=" c a t e g o r i a "

instance

')

/ s u b m i s s i o n / c a t e g o r i a " /> <x s l : v a r i a b l e input:dat name=" s u b c a t e g o r i a " s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / s u b c a t e g o r i a " /> s e l e c t =" d o c ( ' i n p u t : d a t

<x s l : v a r i a b l e

name=" p r o v i n c i a "

instance

')

/ s u b m i s s i o n / p r o v i n c i a " /> <x s l : v a r i a b l e input:dat name=" p a l a b r a s C l a v e " s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / p a l a b r a s C l a v e " /> s e l e c t =" d o c ( ' i n p u t : d a t

<x s l : v a r i a b l e

name=" p a g "

instance

') /

s u b m i s s i o n / p a g " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e (

<x s l : v a r i a b l e

showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s _ d e t a l l e ? c a t e g o r i a = ' ,$ c a t e g o r i a , ' & amp ; s u b c a t e g o r i a = ' , $ s u b c a t e g o r i a , ' & amp ; p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; p a g = ' , $ pag , ' & amp ; p a l a b r a s C l a v e = ' , $ p a l a b r a s C l a v e , ' & amp ; i d O f e r t a = ' , i d O f e r t a , ' & amp ; i d E m p r e s a = ' , i d E m p r e s a , ' ) ' ) " />

B.3. Directorio de gestin del canal de retorno

185

169 170 171 172

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e (

<x s l : v a r i a b l e

showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s ? c a t e g o r i a = ' ,$ c a t e g o r i a , '& amp ; s u b c a t e g o r i a = ' , $ s u b c a t e g o r i a , ' & amp ; p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; p a g = ' , $ pag , ' & amp ; p a l a b r a s C l a v e = ' , $ p a l a b r a s C l a v e , ' ) ' ) " />

173 174 175 176 177 178 179 180

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</

</ x s l : t e m p l a t e>

action menuitem
</

</ x s l : a t t r i b u t e> >

>

</ x s l : s t y l e s h e e t >

buscador_ofertas_detalle.xpl

1 2

<? xml

<p : c o n f i g

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

encoding

="UTF

8" ?>
x m l n s : t m g=" h t t p : x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f /

/ /www . t m i r a . com/ o p s / p r o c e s s o r s " pipeline "

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

<p : p a r a m

type

=" i n p u t "

name=" i n s t a n c e " />

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : r e q u e s t "> name=" c o n f i g "> stream

config

XMLSchema">

type

=" x s : a n y U R I "

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 /

< i n c l u d e>/ r e q u e s t / s e r v e r

</

</ p : i n p u t> <p : o u t p u t

config

< i n c l u d e>/ r e q u e s t / s e r v e r >

name</ i n c l u d e> p o r t</ i n c l u d e>

name=" d a t a "

i d=" s e r v e r " />

</ p : p r o c e s s o r>

<!

Procesador de la

para

generar

el

datos

oferta )

>

config

necesario

para

el

mtodo

HTTP

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a " h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config method action


< < </ < < < <

version

=" 2 . 0 ">

match=" / ">

>u r l

h t t p</ o f

>

method
>

>

<x s l : v a l u e

s e l e c t =" c o n c a t ( ' h t t p : / /www . o f i c i n a e m p l e o .

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

action cookies cookies timeout timeout contenttype contenttype encoding encoding config
> >y e s</ >4 0</ > > t e x t / h t m l</ 8 </ >u t f > > i d=" m e t o d o _ h t t p " />

com ' , / s u b m i s s i o n / i d O f e r t a , ' = ' ) " />

>

</ p : p r o c e s s o r>

186

Apndice B. Ficheros desarrollados para la aplicacin

37 38 39 40 41 42 43 44 45 46 47 48 49 50

<!

Primer

mtodo

GET

(HTTP)

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

> h t t p ">
h r e f="#m e t o d o _ h t t p " /> i d=" p a g e " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

<!

Seleccin de la

de

informacin

de

inters

en

el

fichero

H T M L

recibido

datos

oferta )

> x s l t ">

<p : p r o c e s s o r

name=" o x f : u n s a f e

<p : i n p u t <i t e m s

name=" c o n f i g "> x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

x s l : v e r s i o n =" 2 . 0 ">

< t i t u l o> <x s l : f o r

e a c h

s e l e c t =" / / f o r m [ @method= ' p o s t '

and

@action

= ' ' ] / t a b l e / t r / td / t a b l e / t r [ 1 ] / td [ 1 ] / t a b l e [ 1 ] / t r [ 2 ] / td [ 1 ] / t a b l e [ 2 ] / t r [ 1 ] / td [ 1 ] / t a b l e / t r [ 1 ] / td [ 1 ] / t a b l e / t r / td ">

51 52 53 54 55 56 57

<x s l : v a r i a b l e <x s l : v a l u e </ x s l : f o r </ t i t u l o>

name=" t e x t o "

s e l e c t =" . " />

o f

s e l e c t =" n o r m a l i z e

s p a c e ( $ t e x t o ) " />

e a c h>

< t e x t o s> <x s l : f o r

e a c h

s e l e c t =" / / f o r m [ @method= ' p o s t '

and

@action

= ' ' ] / t a b l e / t r / td / t a b l e / t r [ 1 ] / td [ 1 ] / t a b l e [ 1 ] / t r [ 2 ] / td [ 1 ] / t a b l e [ 2 ] / t r [ 1 ] / t d [ 1 ] / t a b l e / t r [ 2 ] ">

58 59 60 61

< t e x t o> < x s l : t e x t> <x s l : v a l u e

</ x s l : t e x t> o f s e l e c t =" . / t d / t a b l e / t r / t d / s t r o n g " />

< x s l : t e x t>

</ x s l : t e x t>

62 63

<x s l : v a l u e

o f

s e l e c t =" . / t d / t a b l e / t r / t d / p [ 1 ] / s p a n " />

< x s l : t e x t>

</ x s l : t e x t>

64 65 66

< x s l : t e x t> <x s l : v a l u e

</ x s l : t e x t> o f s e l e c t =" . / t d / t a b l e / t r / t d / p [ 2 ] /

strong

[ 1 ] " /> < x s l : t e x t>

</ x s l : t e x t>

67 68 69 70 71

<x s l : f o r

e a c h

s e l e c t =" . / t d / t a b l e / t r / t d / p [ 2 ] / t e x t ( ) "> name=" t e x t o " s e l e c t =" . " />

<x s l : v a r i a b l e <x s l : i f

t e s t =" p o s i t i o n ( ) =2">

<x s l : v a l u e /> < x s l : t e x t>

o f

s e l e c t =" n o r m a l i z e

s p a c e ( $ t e x t o ) "

</ x s l : t e x t>

72 73 74 75 76

</ x s l : i f >

e a c h> </ x s l : t e x t> < x s l : v a l u e o f s e l e c t =" . / t d / t a b l e / t r / t d / p [ 2 ] /


</ x s l : f o r < x s l : t e x t> [ 2 ] " /> < x s l : t e x t>

strong

</ x s l : t e x t>

77 78 79

<x s l : f o r

e a c h

s e l e c t =" . / t d / t a b l e / t r / t d / p [ 2 ] / t e x t ( ) "> name=" t e x t o " s e l e c t =" . " />

<x s l : v a r i a b l e <x s l : i f

t e s t =" p o s i t i o n ( ) =4">

B.3. Directorio de gestin del canal de retorno

187

80 81

<x s l : v a l u e /> < x s l : t e x t>

o f

s e l e c t =" n o r m a l i z e

s p a c e ( $ t e x t o ) "

</ x s l : t e x t>

82 83 84 85 86 87

</ x s l : i f > </ x s l : f o r </ t e x t o> </ x s l : f o r

e a c h>

e a c h>
s e l e c t =" / / f o r m [ @method= ' p o s t ' and @action

<x s l : f o r

e a c h

= ' ' ] / t a b l e / t r / td / t a b l e / t r [ 1 ] / td [ 1 ] / t a b l e [ 1 ] / t r [ 2 ] / td [ 1 ] / t a b l e [ 2 ] / t r [ 1 ] / t d [ 1 ] / t a b l e / t r [ 3 ] / t d / p ">

88 89 90 91 92

<x s l : i f

t e s t =" p o s i t i o n ( )

&l t ;

4 ">

< t e x t o> < x s l : t e x t> <x s l : v a l u e

</ x s l : t e x t> o f s e l e c t =" . / s t r o n g " />

< x s l : t e x t>

</ x s l : t e x t>

93

< x s l : t e x t>

</ x s l : t e x t>

94 95 96 97 98 99

<x s l : f o r

e a c h

s e l e c t =" . / t e x t ( ) "> name=" t e x t o " s e l e c t =" . " /> s e l e c t ="

<x s l : v a r i a b l e <x s l : v a r i a b l e normalize <x s l : i f

name=" t e x t o N o r m "

s p a c e ( $ t e x t o ) " /> o f
s e l e c t =" $ t e x t o N o r m " />

t e s t =" $ t e x t o N o r m ! = ' ' ">

<x s l : v a l u e < x s l : t e x t>

</ x s l : t e x t>

100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124

</ x s l : i f > </ x s l : f o r </ t e x t o> </ x s l : i f > </ x s l : f o r </ t e x t o s> </ i t e m s> </ p : i n p u t> <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t a " h r e f="#p a g e " /> i d=" r e s u l t " />

e a c h>

e a c h>

</ p : p r o c e s s o r>

<!

Procesador detalles de

para la

generar

el

empresa )

>

config

necesario

para

el

mtodo

HTTP

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a " h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config method action


< <

version

=" 2 . 0 ">

match=" / ">

>u r l

h t t p</

>

method

>

<x s l : v a r i a b l e

name=" i d E m p r e s a ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" c o n t a i n s ( / s u b m i s s i o n / i d E m p r e s a , '

AMPERSAND' ) "> <x s l : v a l u e

o f

s e l e c t =" c o n c a t ( s u b s t r i n g

b e f o r e
, '

( / s u b m i s s i o n / i d E m p r e s a , 'AMPERSAND' ) , ' &amp ; ' , substring

a f t e r ( / s u b m i s s i o n / idEmpresa

AMPERSAND' ) ) " />

125 126

</ x s l : w h e n> < x s l : o t h e r w i s e>

188

Apndice B. Ficheros desarrollados para la aplicacin

127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
</ < < < <

<x s l : v a l u e

o f

s e l e c t =" / s u b m i s s i o n / i d E m p r e s a " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : v a r i a b l e>

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( ' h t t p : / /www . o f i c i n a e m p l e o .

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

action cookies cookies timeout timeout contenttype contenttype encoding encoding config
com ' , $ i d E m p r e s a ) " /> > >y e s</ >4 0</ > > > t e x t / h t m l</ 8 </ >u t f > > i d=" m e t o d o _ h t t p 2 " />

>

</ p : p r o c e s s o r>

<!

Segundo

mtodo

GET

(HTTP)

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

> h t t p ">
h r e f="#m e t o d o _ h t t p 2 " /> i d=" p a g e 2 " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

<!

Seleccin detalles de

de la

informacin empresa )

de

inters

en

el

fichero

H T M L

recibido

<p : p r o c e s s o r

> name=" o x f : u n s a f e x s l t ">


name=" c o n f i g "> x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

<p : i n p u t <i t e m s

x s l : v e r s i o n =" 2 . 0 "> < t e x t o s> < t e x t o> < x s l : t e x t>

D a t o s </ x s l : t e x t>

de

la

empresa

< x s l : t e x t>

</ x s l : t e x t>

159 160

</ t e x t o> <x s l : f o r

e a c h

s e l e c t =" / / d i v [ 2 ] / t a b l e [ 2 ] / t r [ 1 ] / t d [ 2 ] / t a b l e

[ 1 ] / t r [ 1 ] / td [ 1 ] / t a b l e [ 1 ] / t r [ 6 ] / td [ 1 ] / t a b l e [ 1 ] / t r [ 1 ] / td [ 1 ] / t a b l e [ 2 ] / t r ">

161 162 163 164 165 166 167

<x s l : i f

t e s t =" c o u n t ( . / / t a b l e ) =0

and

c o u n t ( . / / a ) =0">

< t e x t o> < x s l : t e x t> <x s l : v a l u e

</ x s l : t e x t> o f s e l e c t =" . / t d [ 1 ] / s p a n " /> o f


s e l e c t =" . / t d [ 2 ] " />

< x s l : t e x t> </ x s l : t e x t> <x s l : v a l u e

< x s l : t e x t>

</ x s l : t e x t>

168 169 170 171 172 173 174 175 176 177 178 179 180

</ t e x t o> </ x s l : i f > </ x s l : f o r </ t e x t o s> </ i t e m s> </ p : i n p u t> <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t a " h r e f="#p a g e 2 " /> i d=" r e s u l t E m p r e s a " />

e a c h>

</ p : p r o c e s s o r>

<!

Generacin

del

fichero

X M L

>

<p : p r o c e s s o r <p : i n p u t

name=" o x f : x s l t "> name=" c o n f i g " h r e f=" b u s c a d o r _ o f e r t a s _ d e t a l l e . x s l " />

B.3. Directorio de gestin del canal de retorno

189

181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

<p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t

name=" d a t a "

h r e f="#r e s u l t " /> h r e f="#r e s u l t E m p r e s a " /> h r e f="#i n s t a n c e " />

name=" e m p r e s a " name=" d a t

i n s t a n c e "

name=" s e r v e r " name=" d a t a "

h r e f="#s e r v e r " /> i d=" l i s t " />

</ p : p r o c e s s o r>

<!

Serializacin

del

fichero

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : x m l

X M L > s e r i a l i z e r ">

</

</ p : i n p u t> <p : i n p u t

config contenttype encoding encoding version version config


name=" c o n f i g "> > < < < >u t f 8 </ > 1 . 0</ > > name=" d a t a "

> a p p l i c a t i o n / xml</ >

contenttype

>

h r e f="# l i s t " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

buscador_ofertas_detalle.xsl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

<? xml

<x s l : s t y l e s h e e t

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 1 . 0 ">

encoding

=" u t f

8 " ?>

x m l n s : x a l a n=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />

<x s l : t e m p l a t e < >

page help
< <! <

match=" i t e m s ">

>c _ h e l p</

help

>

</

container image image image image image image container


" 214 " < 118 " < < < < < 118 "

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=

i d=" c _ i n d i c e _ l a t e r a l "

v i s =" 1 "

s i z e x =" 1 1 8 "

s i z e y =" 1 6 8 ">

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png " s i z e y =" 2 8 "> </ >

p a t h=" i m a g e s / i n d _ a n u n c i o s _ o n . png " s i z e y =" 2 8 "> </ >

image

p o s y=" 0 "

p o s x=" 0 "

s i z e x ="

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ w e b _ o f f . png " s i z e y =" 2 8 "> </ >

>

image

image image image image

p o s y=" 2 8 "

p o s x=" 0 "

p o s y=" 5 6 "

p o s x=" 0 "

p o s y=" 8 4 "

p o s x=" 0 "

p o s y=" 1 1 2 "

p o s x=" 0 "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x ="

<! <

</

container text container


214 " <

Contenedor

del

ttulo

>
v i s =" 1 " a l p h a=" 0 " p o s x=" 3 0 " p o s y="

i d=" c _ t e x t o _ t i t u l o "

s i z e x =" 5 2 0 "

s i z e y =" 2 6 0 "> p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 "

s t y l e =" s_body "

s c r o l l =" 0 "> <x s l : v a l u e >

of

s e l e c t =" t i t u l o " /> </

text

s i z e y =" 2 5 " >

<! <

container

Contenedor

del

texto

de

informacin v i s =" 1 "

>
p o s x=" 3 0 " p o s y=" 2 3 4 "

i d=" c _ t e x t o G r a l " s i z e y =" 2 6 0 ">

a l p h a=" 0 "

s i z e x =" 5 2 0 "

190

Apndice B. Ficheros desarrollados para la aplicacin

27 28 29 30 31 32 33 34 35 36 37 38 39

<

text

s t y l e =" s _ b o d y D e t a l l e " s c r o l l =" 1 ">

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 5 2 0 "

s i z e y=

" 240 "

e a c h s e l e c t =" t e x t o s / t e x t o "> o f s e l e c t =" t e x t ( ) " /> </ x s l : f o r e a c h> <x s l : f o r e a c h s e l e c t =" d o c ( ' i n p u t : e m p r e s a
<x s l : f o r <x s l : v a l u e "> <x s l : v a l u e

' ) / items / textos / texto

</

text container
</ > <

</ x s l : f o r

of e a c h>

s e l e c t =" t e x t ( ) " />

>

<! <

container menu
> <

Contenedor

del

men

>
a l p h a=" 0 " p o s x=" 1 4 5 " p o s y=" 4 9 0 "

i d="c_menu"

v i s =" 1 "

s i z e x =" 2 9 0 "

s i z e y =" 4 5 "> p o s x=" 0 " p o s y=" 0 " s i z e x =" 2 9 0 " s i z e y =" 4 5 "

t y p e=" h o r i z o n t a l "

i t e m x=" 1 3 0 "

i t e m y=" 4 5 "

s e p x=" 3 0 "

s e p y=" 0 "

s t y l e =" s_menuhor "

40 41 42 43 44 45 46 47 48 49 50 51 52 53

menuitem action
<

s t r =" V o l v e r " > k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

<x s l : v a r i a b l e

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server <x s l : v a r i a b l e input:dat

p o r t " />
s e l e c t =" d o c ( ' ' ) / s u b m i s s i o n / c a t e g o r i a " /> s e l e c t =" d o c ( '

name=" c a t e g o r i a "

instance instance instance instance instance instance instance

<x s l : v a r i a b l e input:dat

name=" s u b c a t e g o r i a "

' ) / s u b m i s s i o n / s u b c a t e g o r i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r o v i n c i a "

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p a l a b r a s C l a v e "

' ) / s u b m i s s i o n / p a l a b r a s C l a v e " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p a g "

' ) / s u b m i s s i o n / p a g " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" i d O f e r t a "

' ) / s u b m i s s i o n / i d O f e r t a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" i d E m p r e s a "

' ) / s u b m i s s i o n / i d E m p r e s a " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e (

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s ? c a t e g o r i a = ' , $ c a t e g o r i a , ' & amp ; s u b c a t e g o r i a = ' , $ s u b c a t e g o r i a , ' & amp ; p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; p a g = ' , $ pag , ' & amp ; p a l a b r a s C l a v e = ' , $ p a l a b r a s C l a v e , ' ) ' ) " />

54 55 56 57 58

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e

name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e (

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s _ d e t a l l e ? c a t e g o r i a = ' , $ c a t e g o r i a , ' & amp ; s u b c a t e g o r i a = ' , $ s u b c a t e g o r i a , ' & amp ; p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; p a g = ' , $ pag , ' & amp ; p a l a b r a s C l a v e = ' , $ p a l a b r a s C l a v e , ' & amp ; i d O f e r t a = ' , $ i d O f e r t a , ' & amp ; i d E m p r e s a = ' , $ i d E m p r e s a , ' ) ' ) " />

59 60 61 62 63 64

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</

<

action menuitem menuitem


</

</ x s l : a t t r i b u t e> >

>

s t r =" Nueva

bsqueda " >

B.3. Directorio de gestin del canal de retorno

191

65 66 67 68 69 70 71 72 73 74 75 76 77

<

action

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

<x s l : v a r i a b l e

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server <x s l : v a r i a b l e input:dat

p o r t " />
s e l e c t =" d o c ( ' ' ) / s u b m i s s i o n / c a t e g o r i a " /> s e l e c t =" d o c ( '

name=" c a t e g o r i a "

instance instance instance instance instance instance instance

<x s l : v a r i a b l e input:dat

name=" s u b c a t e g o r i a "

' ) / s u b m i s s i o n / s u b c a t e g o r i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r o v i n c i a "

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p a l a b r a s C l a v e "

' ) / s u b m i s s i o n / p a l a b r a s C l a v e " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p a g "

' ) / s u b m i s s i o n / p a g " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" i d O f e r t a "

' ) / s u b m i s s i o n / i d O f e r t a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" i d E m p r e s a "

' ) / s u b m i s s i o n / i d E m p r e s a " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e (

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s _ f o r m u l a r i o ? c a t e g o r i a= & amp ; p r o v i n c i a= & amp ; p a l a b r a s C l a v e =) ' ) " />

78 79 80 81 82

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e

name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e (

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / apps /16003/800/ r c / b u s c a d o r _ o f e r t a s _ d e t a l l e ? c a t e g o r i a = ' , $ c a t e g o r i a , ' & amp ; s u b c a t e g o r i a = ' , $ s u b c a t e g o r i a , ' & amp ; p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; p a g = ' , $ pag , ' & amp ; p a l a b r a s C l a v e = ' , $ p a l a b r a s C l a v e , ' & amp ; i d O f e r t a = ' , $ i d O f e r t a , ' & amp ; i d E m p r e s a = ' , $ i d E m p r e s a , ' ) ' ) " />

83 84 85 86 87 88 89 90 91 92 93

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</

</ x s l : t e m p l a t e>

action menuitem menu container page


</ </ </ > </ > >

</ x s l : a t t r i b u t e> >

>

</ x s l : s t y l e s h e e t >

ofertas_empleo_publico_datos.xml

1 2 3 4 5 6 7

<? xml

version
<o p t i o n <o p t i o n

=" 1 . 0 "

encoding
1"

="UTF

8" ?>

<d a t o s>

< p r o v i n c i a s> v a l u e=" nombreBusq=" Todas " n o m b r e U r l=" Todas "> </ o p t i o n> n o m b r e U r l="

v a l u e=" Nac "

nombreBusq=" N a c i o n a l# # #N a c i o n a l "

N a c i o n a l %23 %23 %23N a c i o n a l "> </ o p t i o n>

192

Apndice B. Ficheros desarrollados para la aplicacin

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

<o p t i o n

v a l u e=" P r o "

nombreBusq=" P r o v i n c i a l# # # Todos "

n o m b r e U r l="

P r o v i n c i a l %23 %23 %23Todos "> </ o p t i o n> <o p t i o n v a l u e="Alm" nombreBusq=" P r o v i n c i a l# # # Almer& #x c 3 ;&#xad ; a "

n o m b r e U r l=" P r o v i n c i a l %23 %23 %23Almer % C3 % ADa"> </ o p t i o n> <o p t i o n v a l u e="Cad" nombreBusq=" P r o v i n c i a l# # # C & #x c 3 ;&#x a 1 ; d i z "

n o m b r e U r l=" P r o v i n c i a l %23 %23 %23 C% C3 % A 1 d i z "> </ o p t i o n> <o p t i o n v a l u e=" Cor " nombreBusq=" P r o v i n c i a l# # # C & #x c 3 ;&#xb3 ; r d o b a "

n o m b r e U r l=" P r o v i n c i a l %23 %23 %23 C% C3 % B 3 r d o b a "> </ o p t i o n> <o p t i o n v a l u e=" Gra " nombreBusq=" P r o v i n c i a l# # # Granada " n o m b r e U r l="

P r o v i n c i a l %23 %23 %23Granada "> </ o p t i o n> <o p t i o n v a l u e=" Hue " nombreBusq=" P r o v i n c i a l# # #H u e l v a " n o m b r e U r l="

P r o v i n c i a l %23 %23 %23H u e l v a "> </ o p t i o n> <o p t i o n v a l u e=" J a e " nombreBusq=" P r o v i n c i a l# # # J a& #x c 3 ;&#x a 9 ; n "

n o m b r e U r l=" P r o v i n c i a l %23 %23 %23J a % C3 % A9n"> </ o p t i o n> <o p t i o n v a l u e=" Mal " nombreBusq=" P r o v i n c i a l# # # M & #x c 3 ;&#x a 1 ; l a g a "

n o m b r e U r l=" P r o v i n c i a l %23 %23 %23 M% C3 % A 1 l a g a "> </ o p t i o n> <o p t i o n v a l u e=" S e v " nombreBusq=" P r o v i n c i a l# # #S e v i l l a " n o m b r e U r l="

P r o v i n c i a l %23 %23 %23 S e v i l l a "> </ o p t i o n> </ p r o v i n c i a s>

< t i t u l a c i o n e s> <o p t i o n <o p t i o n v a l u e="

1"

nombreBusq=" Todas "

n o m b r e U r l=" Todas "> </ o p t i o n> / FP II " n o m b r e U r l="

v a l u e=" Bach "

nombreBusq=" B a c h i l l e r

B a c h i l l e r+ % 2 F + FP + I I "> </ o p t i o n> <o p t i o n v a l u e=" C e r t " nombreBusq=" C e r t i f i c a d o de escolaridad " nombreUrl

=" C e r t i f i c a d o +d e+ e s c o l a r i d a d "> </ o p t i o n> <o p t i o n v a l u e=" D i p l " nombreBusq=" D i p l o m a t u r a / I n g e n i e r& #x c 3 ;&#xad ; a t

& #x c 3 ;&#x a 9 ; c n i c a " % A 9 c n i c a "> </ o p t i o n>

n o m b r e U r l=" D i p l o m a t u r a+ % 2 F +I n g e n i e r % C3 % ADa +t % C3

24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

<o p t i o n <o p t i o n <o p t i o n

v a l u e=" D o c t " v a l u e="ESO" v a l u e=" Grad "

nombreBusq=" D o c t o r " nombreBusq="ESO"

n o m b r e U r l=" D o c t o r "> </ o p t i o n>

n o m b r e U r l="ESO"> </ o p t i o n> escolar / FP I" n o m b r e U r l="

nombreBusq=" Graduado

Graduado+ e s c o l a r+ % 2 F + FP +I "> </ o p t i o n> <o p t i o n v a l u e=" L i c e " nombreBusq=" L i c e n c i a t u r a / I n g e n i e r& #x c 3 ;&#xad ; a "

n o m b r e U r l=" L i c e n c i a t u r a+ % 2 F +I n g e n i e r % C3 % ADa"> </ o p t i o n> <o p t i o n <o p t i o n v a l u e="NS" nombreBusq="N/ S " n o m b r e U r l="N % 2 FS"> </ o p t i o n> n o m b r e U r l=" S e c u n d a r i a "> </

v a l u e=" S e c u "

nombreBusq=" S e c u n d a r i a "

o p t i o n> <o p t i o n v a l u e=" S i n " nombreBusq=" S i n t i t u l a c i& #x c 3 ;&#xb3 ; n " n o m b r e U r l="

S i n+ t i t u l a c i % C3 % B3n "> </ o p t i o n> </ t i t u l a c i o n e s>

< t i p o s> <o p t i o n <o p t i o n v a l u e="

1"

nombreBusq=" Todas "

n o m b r e U r l=" Todas "> </ o p t i o n>

v a l u e=" Conc "

nombreBusq=" C o n c u r s o

o p o s i c i&#x c 3 ;&#xb3 ; n "


n o m b r e U r l="

n o m b r e U r l=" C o n c u r s o <o p t i o n v a l u e=" Opos "

o p o s i c i

% C3 % B3n "> </ o p t i o n>

nombreBusq=" O p o s i c i& #x c 3 ;&#xb3 ; n "

Oposici % C3 % B3n "> </ o p t i o n> <o p t i o n v a l u e=" L i b r " nombreBusq=" O p o s i c i& #x c 3 ;&#xb3 ; n libre " nombreUrl

=" O p o s i c i % C3 % B3n+ l i b r e "> </ o p t i o n> </ t i p o s>

</ d a t o s>

ofertas_empleo_publico.xpl

1 2

<? xml

<p : c o n f i g

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

encoding

="UTF

8" ?>
x m l n s : t m g=" h t t p : x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f /

/ /www . t m i r a . com/ o p s / p r o c e s s o r s " pipeline "

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

B.3. Directorio de gestin del canal de retorno

193

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

<p : p a r a m

type

=" i n p u t "

name=" i n s t a n c e " />

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : r e q u e s t "> name=" c o n f i g "> stream

config

XMLSchema">

type

=" x s : a n y U R I "

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 /

< i n c l u d e>/ r e q u e s t / s e r v e r

</

</ p : i n p u t> <p : o u t p u t

config

< i n c l u d e>/ r e q u e s t / s e r v e r >

name</ i n c l u d e> p o r t</ i n c l u d e>

name=" d a t a "

i d=" s e r v e r " />

</ p : p r o c e s s o r>

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" o x f : i d e n t i t y "> name=" d a t a " name=" d a t a " h r e f=" o f e r t a s _ e m p l e o _ p u b l i c o _ d a t o s . xml " /> i d=" o f e r t a s _ e m p l e o _ p u b l i c o _ d a t o s " />

</ p : p r o c e s s o r>

<p : c h o o s e

h r e f="#i n s t a n c e ">

<!

Si

es

la

primera

vez

que

se

accede

>

<p : w h e n

t e s t =" / s u b m i s s i o n / p r i m e r a V e z = 'S ' ">

<!

Procesador que

para

generar la

HTTP

obtendr

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a "

cookie
el

de

config

necesario

para

el

mtodo

sesin

>

h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config method action


< < < >

version

=" 2 . 0 ">

match=" / ">

> s e s s i o n</

> h t t p : / /www . j u n t a d e a n d a l u c i a . e s /

method
>

>

s e r v i c i o a n d a l u z d e e m p l e o / web / w e b s a e / p o r t a l / e s /

empleo / o f e r t a s E m p l e o / o f e r t a s P u b l i c a s /? t i c k e t=

35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a " i d=" m e t o d o _ h t t p _ s e s s i o n " />

timeout config

n o c a s</

>4 0</

action timeout
>

</ p : p r o c e s s o r>

<!

Mtodo GET

para

obtener

la

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

h t t p ">

cookie config
con

de

sesin

>

name=" c o n f i g " name=" d a t a "

h r e f="#m e t o d o _ h t t p _ s e s s i o n " /> i d=" c o o k i e " />

</ p : p r o c e s s o r>

<!

Procesador que

para

generar la

el

necesario los

para

el de

mtodo la bsqueda

HTTP

recuperar

pgina

resultados

>
50 51 52 53 54 55 56 57
<p : p r o c e s s o r <p : i n p u t <p : i n p u t name=" o x f : x s l t "> name=" d a t a " h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config method action


< <

version

=" 2 . 0 ">

match=" / ">

>p o s t</

> h t t p : / /www . j u n t a d e a n d a l u c i a . e s /

method

>

s e r v i c i o a n d a l u z d e e m p l e o / web / w e b s a e / p o r t a l / e s /

empleo / o f e r t a s E m p l e o / o f e r t a s P u b l i c a s / l i s t a d o _ o p o s i c i o n e s . h t m l</ >

action

194

Apndice B. Ficheros desarrollados para la aplicacin

58 59 60

< <

cookies cookie

>y e s</

>

cookies

>

<x s l : v a r i a b l e

name=" j s e s s i o n i d "

s e l e c t =" s u b s t r i n g

b e f o r e ( d o c ( ' i n p u t : c o o k i e
j s e s s i o n i d , ' ; ' ) " />

') / session /

61 62 63 64 65 66 67 68
</ <

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( ' JSESSIONID = ' , $

cookie parameters parameter parameter


> > < <

j s e s s i o n i d ) " />

name=" o p D e s c r i p c i o n " name=" o p S u b a m b i t o "> name=" v a l u e ">

v a l u e=" " />

<x s l : a t t r i b u t e

<x s l : v a r i a b l e

name=" p r o v i n c i a "

s e l e c t =" /

s u b m i s s i o n / p r o v i n c i a " /> <x s l : v a l u e

o f

s e l e c t =" d o c ( ' i n p u t : d a t o s ' ) /

d a t o s / p r o v i n c i a s / o p t i o n [ @ v a l u e=$ p r o v i n c i a ] / @nombreBusq " />

69 70 71 72 73 74

</ <

parameter parameter

</ x s l : a t t r i b u t e> > name=" o p T i t u l a c i o n e s "> name=" v a l u e "> name=" t i t u l a c i o n " s e l e c t =" /

<x s l : a t t r i b u t e

<x s l : v a r i a b l e

s u b m i s s i o n / t i t u l a c i o n " /> <x s l : v a l u e

o f

s e l e c t =" d o c ( ' i n p u t : d a t o s ' ) /

d a t o s / t i t u l a c i o n e s / o p t i o n [ @ v a l u e=$ t i t u l a c i o n ] / @nombreBusq " />

75 76 77 78 79 80

</ <

parameter parameter

</ x s l : a t t r i b u t e> > name=" o p T i p o "> name=" v a l u e "> name=" t i p o " s e l e c t =" /

<x s l : a t t r i b u t e

<x s l : v a r i a b l e

s u b m i s s i o n / t i p o O p o s i c i o n " /> <x s l : v a l u e

o f

s e l e c t =" d o c ( ' i n p u t : d a t o s ' ) /

d a t o s / t i p o s / o p t i o n [ @ v a l u e=$ t i p o ] / @nombreBusq " />

81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : i n p u t <p : i n p u t <p : o u t p u t

parameter parameters timeout timeout config


</ > </ < > >4 0</ >

</ x s l : a t t r i b u t e>

>

name=" c o o k i e " name=" d a t o s " name=" d a t a "

h r e f="#c o o k i e " /> h r e f="#o f e r t a s _ e m p l e o _ p u b l i c o _ d a t o s " /> i d=" m e t o d o _ p o s t " />

</ p : p r o c e s s o r>

<!

Mtodo

POST

para

obtener

el

fichero

H T M L

>

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

h t t p ">
h r e f="#m e t o d o _ p o s t " /> i d=" web " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

<!

Procesador la

de

<p : p r o c e s s o r <p : i n p u t

cookie

para

agregar

los

datos

de

salida

la

informacin

( jsessionid )

>

name=" o x f : x s l t ">

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < x s l : c o p y>

version

=" 2 . 0 ">

match="@

| n o d e ( ) ">
s e l e c t ="@

<x s l : a p p l y </ x s l : c o p y> </ x s l : t e m p l a t e>

t e m p l a t e s

| n o d e ( ) " />

B.3. Directorio de gestin del canal de retorno

195

109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

<x s l : t e m p l a t e

match=" h e a d ">

< j s e s s i o n i d> <x s l : v a l u e

o f

s e l e c t =" s u b s t r i n g

b e f o r e ( d o c ( '

i n p u t : c o o k i e ' ) / s e s s i o n / j s e s s i o n i d , ' ; ' ) " /> </ j s e s s i o n i d> </ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : i n p u t <p : i n p u t <p : o u t p u t name=" d a t a " h r e f="#web " /> h r e f="#c o o k i e " /> i d=" p a g e " />

name=" c o o k i e " name=" d a t a "

</ p : p r o c e s s o r>

</ p : w h e n>

<!

>

Si

no

es

la

primera

vez

que

se

accede

( se

ha

hecho

paginacin )

< p : o t h e r w i s e>

<!

Procesador que

para

generar la

el

HTTP

recuperar

pgina

config
con

necesario los

para

el de

mtodo la bsqueda

resultados

>
128 129 130 131 132 133 134 135
<p : p r o c e s s o r <p : i n p u t name=" o x f : x s l t "> name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config method action


< <

version

=" 2 . 0 ">

match=" / ">

> g e t</ >

method

>

<x s l : v a r i a b l e

name=" u r l b a s e "

s e l e c t =" ' h t t p : / /www .

juntadeandalucia . es / servicioandaluzdeempleo / web / w e b s a e / p o r t a l / e s / e m p l e o / o f e r t a s E m p l e o / o f e r t a s P u b l i c a s / l i s t a d o _ o p o s i c i o n e s . h t m l ? ' " />

136 137

<x s l : v a r i a b l e

name=" t i p o "

s e l e c t =" / s u b m i s s i o n /

t i p o O p o s i c i o n " /> <x s l : v a r i a b l e name=" t i p o 2 " s e l e c t =" d o c ( '

i n p u t : d a t o s ' ) / d a t o s / t i p o s / o p t i o n [ @ v a l u e=$ t i p o ] / @nombreUrl " />

138 139 140

<x s l : v a r i a b l e

name=" o p T i p o "

s e l e c t =" c o n c a t ( '

o p T i p o = ' , $ t i p o 2 , ' & amp ; ' ) " /> <x s l : v a r i a b l e name=" p r o v i n c i a " s e l e c t =" /

s u b m i s s i o n / p r o v i n c i a " /> <x s l : v a r i a b l e name=" p r o v 2 " s e l e c t =" d o c ( '

i n p u t : d a t o s ' ) / d a t o s / p r o v i n c i a s / o p t i o n [ @value =$ p r o v i n c i a ] / @nombreUrl " />

141 142

<x s l : v a r i a b l e

name=" o p S u b a m b i t o "

s e l e c t =" c o n c a t ( '

o p S u b a m b i t o = ' , $ p r o v 2 , ' & amp ; ' ) " /> <x s l : v a r i a b l e name=" u r l " s e l e c t =" c o n c a t ( ' d ' , / p = ' , / s u b m i s s i o n / pag , ' & amp ;

submission / url , ' " />

')

143 144

<x s l : v a r i a b l e

name=" t i t u l a c i o n "

s e l e c t =" /

s u b m i s s i o n / t i t u l a c i o n " /> <x s l : v a r i a b l e name=" t i t u 2 " s e l e c t =" d o c ( '

input:datos ' ) / datos / t i t u l a c i o n e s / option [ @ v a l u e=$ t i t u l a c i o n ] / @nombreUrl " />

145 146

<x s l : v a r i a b l e

name=" o p T i t u l a c i o n e s "

s e l e c t ="

c o n c a t ( ' o p T i t u l a c i o n e s = ' , $ t i t u 2 , ' & amp ; ' ) " /> <x s l : v a r i a b l e name=" f i n u r l " s e l e c t =" ' T i t l e =

O f e r t a s+d e+Empleo+ P% C3 % B A b l i c o&amp ; o p D e s c r i p c i o n = ' " />

147 148
</

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( $ u r l b a s e , $ o p T i p o , $

action

o p S u b a m b i t o , $ u r l , $ o p T i t u l a c i o n e s , $ f i n u r l ) " /> >

196

Apndice B. Ficheros desarrollados para la aplicacin

149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188

< <

cookies cookie

>y e s</

>

cookies

>

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( ' JSESSIONID = ' , /

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : i n p u t <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t o s " name=" d a t a "

cookie timeout timeout contenttype contenttype encoding encoding config


s u b m i s s i o n / j s e s s i o n i d ) " /> > </ < < < >4 0</ > > t e x t / h t m l</ 8 </ >u t f > > h r e f="#i n s t a n c e " />

>

h r e f="#o f e r t a s _ e m p l e o _ p u b l i c o _ d a t o s " /> i d=" m e t o d o _ g e t " />

</ p : p r o c e s s o r>

<!

Mtodo GET

para

obtener

el

fichero

H T M L

>

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

h t t p ">
h r e f="#m e t o d o _ g e t " /> i d=" p a g e " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

</ p : o t h e r w i s e>

</ p : c h o o s e>

<!

Seleccin

de

informacin

de

inters

en

el

fichero

H T M L

recibido

>

<p : p r o c e s s o r <p : i n p u t <i t e m s

name=" o x f : u n s a f e name=" c o n f i g ">

x s l t ">
xsl:version

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

=" 2 . 0 "> <x s l : i f ' "> < j s e s s i o n i d> <x s l : v a l u e t e s t =" d o c ( ' i n p u t : d a t

i n s t a n c e

' ) / s u b m i s s i o n / p r i m e r a V e z = 'S

o f

s e l e c t =" / / j s e s s i o n i d " />

</ j s e s s i o n i d> </ x s l : i f >

< o f e r t a s> <x s l : f o r

e a c h

s e l e c t =" / / t a b l e [ @id = ' d a t a T a b l e ' ] / t b o d y / t r ">

< o f e r t a> <nombre> <x s l : v a l u e ( . / td [ 1 ] ) , '&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;& #141;&#147;&#154;&#145;&#188;' , ' ' ) " /> </ nombre>

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e

s p a c e

189

< f e c h a> <x s l : v a l u e ( . / td [ 2 ] )

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e

s p a c e

, '&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;& #141;&#147;&#154;&#145;&#188;' , ' ' ) " /> </ f e c h a>

190

<c o n v o c a n t e> <x s l : v a l u e space ( . / td [ 3 ] )

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e

, '&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;& #141;&#147;&#154;&#145;&#188;' , ' ' ) " /> </ c o n v o c a n t e>

191

< t i p o> <x s l : v a l u e ( . / td [ 4 ] )

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e

s p a c e

, '&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;& #141;&#147;&#154;&#145;&#188;' , ' ' ) " /> </ t i p o>

192

< p l a z a s> <x s l : v a l u e /> </ p l a z a s>

o f

s e l e c t =" n o r m a l i z e

s p a c e ( . / t d [ 5 ] ) "

B.3. Directorio de gestin del canal de retorno

197

193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212

< i d O f e r t a> <x s l : v a r i a b l e normalize < x s l : c h o o s e> <x s l : w h e n t e s t =" c o n t a i n s ( $ i d O f , ' & amp ; ' ) "> name=" i d O f " s e l e c t =" s u b s t r i n g

a f t e r (

s p a c e ( . / t d [ 6 ] / a / @ h r e f )

, ' o p C o d i g o = ' ) " />

<x s l : v a l u e

o f

s e l e c t =" s u b s t r i n g

b e f o r e ( $ i d O f

, ' & amp ; ' ) " /> </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

o f

s e l e c t =" $ i d O f " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ i d O f e r t a> </ o f e r t a> </ x s l : f o r </ o f e r t a s> <p a g i n a s> <x s l : v a r i a b l e name=" t o t a l _ p a g i n a s "> name=" i r U l t i m a " s e l e c t =" / / d i v [ @ c l a s s = '

e a c h>

<x s l : v a r i a b l e

p a g i n a c i o n ' ] / a [ l a s t ( ) ] / @ h r e f " /> < x s l : c h o o s e> <x s l : w h e n t e s t =" $ i r U l t i m a != ' ' "> s e l e c t =" ,'

<x s l : v a r i a b l e substring

name=" t o t a l _ p r o v i s i o n a l "

b e f o r e ( s u b s t r i n g a f t e r ( $ i r U l t i m a

= ' ) , ' &amp ; ' ) " />

213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242

< x s l : c h o o s e> <x s l : w h e n t e s t =" $ t o t a l _ p r o v i s i o n a l &l t ; doc ( '

i n s t a n c e ' ) / s u b m i s s i o n / p a g "> < x s l : v a l u e o f s e l e c t =" d o c ( ' i n p u t : d a t i n s t a n c e


input:dat ' ) / s u b m i s s i o n / p a g " /> </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

o f

s e l e c t =" $ t o t a l _ p r o v i s i o n a l " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : w h e n> < x s l : o t h e r w i s e> < x s l : t e x t>1</ x s l : t e x t > </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : v a r i a b l e>

<p a g i n a> <x s l : a t t r i b u t e <x s l : a t t r i b u t e <x s l : v a l u e name=" a c t u a l ">1</ x s l : a t t r i b u t e> name=" numero "> s e l e c t =" d o c ( ' i n p u t : d a t

o f

i n s t a n c e

') /

s u b m i s s i o n / p a g " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" t o t a l "> <x s l : v a l u e

o f

s e l e c t =" $

t o t a l _ p a g i n a s " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e </ p a g i n a> <x s l : f o r name=" u r l " />

e a c h

s e l e c t =" / / d i v [ @ c l a s s = ' p a g i n a c i o n ' ] / a ">

<x s l : i f

t e s t =" s u b s t r i n g

a f t e r

( . / @title , ' gina

' )=t e x t ( ) ">

<p a g i n a> <x s l : a t t r i b u t e <x s l : a t t r i b u t e name=" a c t u a l ">0</ x s l : a t t r i b u t e> name=" numero "> <x s l : v a l u e

o f

s e l e c t ="

t e x t ( ) " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" t o t a l "> <x s l : v a l u e

o f

s e l e c t =" $

t o t a l _ p a g i n a s " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e substring name=" u r l "> <x s l : v a l u e

o f

s e l e c t ="

b e f o r e ( s u b s t r i n g a f t e r

( . / @ h r e f , ' & amp ; d

' ) , ' p = ' ) " /></ x s l : a t t r i b u t e>


243
</ p a g i n a>

198

Apndice B. Ficheros desarrollados para la aplicacin

244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300

</ x s l : i f > </ x s l : f o r </ p a g i n a s> </ i t e m s> </ p : i n p u t> <p : i n p u t <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t h r e f="#p a g e " /> h r e f="#i n s t a n c e " />

e a c h>

i n s t a n c e "

name=" d a t a "

i d=" r e s u l t D e s o r d e n a d o " />

</ p : p r o c e s s o r>

<!

Procesador

para

ordenar

las

pginas

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a " h r e f="#r e s u l t D e s o r d e n a d o " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e <i t e m s> <x s l : i f

version

=" 2 . 0 ">

match=" i t e m s ">

t e s t =" d o c ( ' i n p u t : d a t

i n s t a n c e

' ) / submission /

p r i m e r a V e z = 'S ' "> < j s e s s i o n i d> <x s l : v a l u e

o f

s e l e c t =" / / j s e s s i o n i d " />

</ j s e s s i o n i d> </ x s l : i f > < o f e r t a s> <x s l : a p p l y </ o f e r t a s> <p a g i n a s> <x s l : a p p l y

t e m p l a t e s

s e l e c t =" o f e r t a s / o f e r t a " />

t e m p l a t e s

s e l e c t =" p a g i n a s / p a g i n a "> data

<x s l : s o r t

s e l e c t =" @numero "

" a s c e n d i n g " /> </ x s l : a p p l y </ p a g i n a s> </ i t e m s> </ x s l : t e m p l a t e>

type

=" number "

o r d e r=

t e m p l a t e s>

<x s l : t e m p l a t e < o f e r t a>

match=" o f e r t a s / o f e r t a ">

<nombre> <x s l : v a l u e < f e c h a> <x s l : v a l u e

o f o f

s e l e c t =" nombre " /> </ nombre> s e l e c t =" f e c h a " /> </ f e c h a>

<c o n v o c a n t e> <x s l : v a l u e c o n v o c a n t e>

o f

s e l e c t =" c o n v o c a n t e " /> </

o f s e l e c t =" t i p o " /></ t i p o> o f s e l e c t =" p l a z a s " /></ p l a z a s> < i d O f e r t a> < x s l : v a l u e o f s e l e c t =" i d O f e r t a " /> </ i d O f e r t a>
< t i p o> <x s l : v a l u e < p l a z a s> <x s l : v a l u e </ o f e r t a> </ x s l : t e m p l a t e> <x s l : t e m p l a t e <p a g i n a> <x s l : a t t r i b u t e name=" a c t u a l "> <x s l : v a l u e match=" p a g i n a s / p a g i n a ">

o f o f

s e l e c t =" @ a c t u a l

" /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" numero "> <x s l : v a l u e s e l e c t =" @numero

" /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" t o t a l "> <x s l : v a l u e

o f

s e l e c t =" @ t o t a l " /

> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" u r l "> <x s l : v a l u e

o f

s e l e c t =" @ u r l " /> </

x s l : a t t r i b u t e> </ p a g i n a> </ x s l : t e m p l a t e>

</ x s l : s t y l e s h e e t > </ p : i n p u t> <p : i n p u t <p : o u t p u t name=" d a t

i n s t a n c e "

h r e f="#i n s t a n c e " />

name=" d a t a "

i d=" r e s u l t " />

</ p : p r o c e s s o r>

B.3. Directorio de gestin del canal de retorno

199

301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323

<!

Generacin

del

fichero

X M L

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t

name=" o x f : x s l t "> name=" c o n f i g " name=" d a t a " name=" d a t h r e f=" o f e r t a s _ e m p l e o _ p u b l i c o . x s l " />

h r e f="#r e s u l t " /> h r e f="#i n s t a n c e " />

i n s t a n c e "

name=" s e r v e r " name=" d a t a "

h r e f="#s e r v e r " /> i d=" l i s t " />

</ p : p r o c e s s o r>

<!

Serializacin

del

fichero

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : x m l

X M L > s e r i a l i z e r ">

</

</ p : i n p u t> <p : i n p u t

config contenttype encoding encoding version version config


name=" c o n f i g "> > < < < >u t f 8 </ > 1 . 0</ > > name=" d a t a "

> a p p l i c a t i o n / xml</ >

contenttype

>

h r e f="# l i s t " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

ofertas_empleo_publico.xsl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

<? xml

<x s l : s t y l e s h e e t

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 1 . 0 ">

encoding

=" u t f

8 " ?>

x m l n s : x a l a n=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />

<x s l : t e m p l a t e < >

page help
< <! <

match=" i t e m s ">

>c _ h e l p</

help

>

</

container image image image image image image container


" 214 " < 118 " < < < < < 118 "

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=

i d=" c _ i n d i c e _ l a t e r a l "

v i s =" 1 "

s i z e x =" 1 1 8 "

s i z e y =" 1 6 8 ">

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png " s i z e y =" 2 8 "> </ >

p a t h=" i m a g e s / i n d _ a n u n c i o s _ o n . png " s i z e y =" 2 8 "> </ >

image

p o s y=" 0 "

p o s x=" 0 "

s i z e x ="

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ w e b _ o f f . png " s i z e y =" 2 8 "> </ >

>

image

image image image image

p o s y=" 2 8 "

p o s x=" 0 "

p o s y=" 5 6 "

p o s x=" 0 "

p o s y=" 8 4 "

p o s x=" 0 "

p o s y=" 1 1 2 "

p o s x=" 0 "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x ="

<! <

container menu
215 " < "

Contenedor

del

men

horizontal

( paginacin ) s i z e y =" 3 5 "

>
s i z e x =" 5 3 0 " p o s y="

a l p h a=" 0 "

i d=" c_menu_hor "

p o s x=" 3 0 "

v i s =" 1 "> p o s x=" 1 0 " p o s y=" 0 " s i z e x =" 5 3 0 " s t y l e =" s i z e y =" 2 5

t y p e=" h o r i z o n t a l "

i t e m x=" 3 6 "

i t e m y=" 2 5 "

s e p x=" 5 "

s e p y=" 0 "

s _ m e n u h o r C e n t r a d o ">

200

Apndice B. Ficheros desarrollados para la aplicacin

24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

<x s l : v a r i a b l e

name=" t o t a l _ p a g "

s e l e c t =" / i t e m s / p a g i n a s / p a g i n a

[ 1 ] / @ t o t a l " /> <x s l : v a r i a b l e name=" p r i m e r a _ p a g " s e l e c t =" / i t e m s / p a g i n a s /

p a g i n a [ 1 ] / @numero " /> <x s l : v a r i a b l e name=" u l t i m a _ p a g " s e l e c t =" / i t e m s / p a g i n a s / p a g i n a

[ l a s t ( ) ] / @numero " /> <x s l : v a r i a b l e name="num_pag">

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission /

p r i m e r a V e z = 'S ' ">1</ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

of

s e l e c t =" d o c ( ' i n p u t : d a t

instance

') /

s u b m i s s i o n / p a g " /> </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : v a r i a b l e>

< x s l : c h o o s e> <x s l : w h e n t e s t =" $ p r i m e r a _ p a g = ' 1 ' "> name=" c u r s o r x "> <x s l : v a l u e

<x s l : a t t r i b u t e

of

s e l e c t ="

number ( $ num_pag </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : a t t r i b u t e

1 ) " /> </ x s l : a t t r i b u t e>

name=" c u r s o r x "> <x s l : v a l u e

of

s e l e c t ="

number ( $ num_pag

$ primera_pag

1 ) " /> </

42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58

<

menuitem

x s l : a t t r i b u t e> img=" i m a g e s / b o t _ m a t r i x _ o f f . png " i m g f o c u s="

i m a g e s / b o t _ m a t r i x _ o n . png "

s t r =" &#60;&#60; " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e>

<x s l : a p p l y

templates

s e l e c t =" p a g i n a s / p a g i n a " />

<x s l : i f

t e s t =" $ u l t i m a _ p a g

!=

$ total_pag

and

$ ultima_pag

!=

<

menuitem
' 1 ' "> >

img=" i m a g e s / b o t _ m a t r i x _ o f f . png " s t r =" &#62;&#62; " />

i m g f o c u s=" i m a g e s

/ b o t _ m a t r i x _ o n . png "

</

menu container
</ > 250 "

</ x s l : i f >

<! <

container

Contenedor

del

men

vertical

( listado

de

ofertas )

>
p o s y="

i d="c_menu"

a l p h a=" 2 5 5 "

s i z e y =" 3 0 0 "

s i z e x =" 5 1 0 "

p o s x=" 3 0 "

v i s =" 1 ">

< x s l : c h o o s e> <x s l : w h e n <

menu
<

t e s t =" c o u n t ( / / o f e r t a ) ! = 0 "> t y p e=" v e r t i c a l " i t e m x=" 5 1 0 " p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 1 0 " s e p y=" 0 " s i z e y= s t y l e ="

" 275 "

i t e m y=" 2 5 "

s e p x=" 0 "

59 60 61 62 63 64 65

menuitem action
<

s _ m e n u v e r E m p r e s a s "> s t r ="

R e a l i z a r

nueva

bsqueda

"

>

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server <x s l : v a r i a b l e input:dat name=" p r o v i n c i a "

s e l e c t =" d o c ( '

instance instance instance

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" t i t u l a c i o n "

' ) / s u b m i s s i o n / t i t u l a c i o n " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat " />

name=" t i p o O p o s i c i o n "

' ) / submission / tipoOposicion

66

<x s l : v a r i a b l e input:dat

name=" p a g "

s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / p a g " />

B.3. Directorio de gestin del canal de retorno

201

67 68 69 70 71 72 73 74 75 76 77

<x s l : v a r i a b l e input:dat

name=" p r i m e r a V e z "

s e l e c t =" d o c ( '

instance instance instance

' ) / s u b m i s s i o n / p r i m e r a V e z " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" u r l "

' ) / s u b m i s s i o n / u r l " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" j s e s s i o n i d "

' ) / s u b m i s s i o n / j s e s s i o n i d " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" ' h i d e p a g e

<x s l : v a r i a b l e (

, s h o w p a g e ( o f e r t a s _ e m p l e o _ p u b l i c o ) ' " />

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e <x s l : v a l u e

name=" a c t b a c k "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

of

showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / o f e r t a s _ e m p l e o _ p u b l i c o ? p r o v i n c i a = ' ,$ p r o v i n c i a , ' & amp ; t i t u l a c i o n = ' , $ t i t u l a c i o n , ' & amp ; t i p o O p o s i c i o n = ' , $ t i p o O p o s i c i o n , ' & amp ; p a g = ' , $ pag , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; u r l = ' , $ u r l , ' & amp ; j s e s s i o n i d = ' , $ j s e s s i o n i d , ' ) ' ) " />

78 79 80 81 82 83 84 85 86 87 88 89 90 91

</ x s l : a t t r i b u t e>

</

action menuitem
</ <

>

>

<x s l : a p p l y

templates
s t r ="

s e l e c t =" o f e r t a s / o f e r t a " />

<

menuitem action

R e a l i z a r

nueva

bsqueda

"

>

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server <x s l : v a r i a b l e input:dat name=" p r o v i n c i a "

s e l e c t =" d o c ( '

instance instance instance

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" t i t u l a c i o n "

' ) / s u b m i s s i o n / t i t u l a c i o n " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat " />

name=" t i p o O p o s i c i o n "

' ) / submission / tipoOposicion

92 93 94 95 96 97 98 99 100 101 102 103

<x s l : v a r i a b l e input:dat

name=" p a g "

s e l e c t =" d o c ( '

instance instance instance instance

' ) / s u b m i s s i o n / p a g " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r i m e r a V e z "

' ) / s u b m i s s i o n / p r i m e r a V e z " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" u r l "

' ) / s u b m i s s i o n / u r l " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" j s e s s i o n i d "

' ) / s u b m i s s i o n / j s e s s i o n i d " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" ' h i d e p a g e

<x s l : v a r i a b l e (

, s h o w p a g e ( o f e r t a s _ e m p l e o _ p u b l i c o ) ' " />

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e <x s l : v a l u e

name=" a c t b a c k "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

of

showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / o f e r t a s _ e m p l e o _ p u b l i c o ? p r o v i n c i a = ' ,$ p r o v i n c i a , ' & amp ; t i t u l a c i o n = ' , $ t i t u l a c i o n

202

Apndice B. Ficheros desarrollados para la aplicacin

, ' & amp ; t i p o O p o s i c i o n = ' , $ t i p o O p o s i c i o n , ' & amp ; p a g = ' , $ pag , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; u r l = ' , $ u r l , ' & amp ; j s e s s i o n i d = ' , $ j s e s s i o n i d , ' ) ' ) " />

104 105 106 107 108 109 110 111 112

</ x s l : a t t r i b u t e>

</

</ x s l : w h e n>

action menuitem menu


</ </ > =" 9 0 " empleo

>

>

< x s l : o t h e r w i s e> < s t y l e =" s_body2 " p o s x=" 0 " se los ha p o s y=" 2 5 " encontrado de s i z e x =" 5 1 0 " ninguna sizey de

text

s c r o l l =" 0 ">No pblico con Pulse

oferta

parmetros para

bsqueda una nueva

seleccionados .

113

<

menu
<

b s q u e d a .</

t y p e=" v e r t i c a l "

text

"O K"

realizar

> p o s x=" 0 " p o s y=" 1 1 5 " s i z e x =" 5 1 0 " s e p y=" 0 "

s i z e y =" 2 7 "

i t e m x=" 5 1 0 "

i t e m y=" 2 7 "

s e p x=" 0 "

114 115 116 117 118 119 120

menuitem action
<

s t y l e =" s _ m e n u v e r C u r s o s "> s t r ="

R e a l i z a r

nueva

bsqueda

"

>

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server <x s l : v a r i a b l e input:dat name=" p r o v i n c i a "

s e l e c t =" d o c ( '

instance instance instance

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" t i t u l a c i o n "

' ) / s u b m i s s i o n / t i t u l a c i o n " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat " />

name=" t i p o O p o s i c i o n "

' ) / submission / tipoOposicion

121 122 123 124 125 126 127 128 129 130 131 132

<x s l : v a r i a b l e input:dat

name=" p a g "

s e l e c t =" d o c ( '

instance instance instance instance

' ) / s u b m i s s i o n / p a g " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r i m e r a V e z "

' ) / s u b m i s s i o n / p r i m e r a V e z " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" u r l "

' ) / s u b m i s s i o n / u r l " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" j s e s s i o n i d "

' ) / s u b m i s s i o n / j s e s s i o n i d " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" ' h i d e p a g e

<x s l : v a r i a b l e (

, s h o w p a g e ( o f e r t a s _ e m p l e o _ p u b l i c o ) ' " />

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e <x s l : v a l u e

name=" a c t b a c k "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

of

showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / o f e r t a s _ e m p l e o _ p u b l i c o ? p r o v i n c i a = ' ,$ p r o v i n c i a , ' & amp ; t i t u l a c i o n = ' , $ t i t u l a c i o n , ' & amp ; t i p o O p o s i c i o n = ' , $ t i p o O p o s i c i o n , ' & amp ; p a g = ' , $ pag , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; u r l = ' , $ u r l , ' & amp ; j s e s s i o n i d = ' , $ j s e s s i o n i d , ' ) ' ) " />

133 134 135 136 137 138

</ x s l : a t t r i b u t e>

</

</ x s l : o t h e r w i s e>

action menuitem menu


</ </ >

>

>

B.3. Directorio de gestin del canal de retorno

203

139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163

</

</ x s l : t e m p l a t e>

container page
</ >

</ x s l : c h o o s e> >

<x s l : t e m p l a t e <

menuitem

match=" p a g i n a s / p a g i n a "> img=" i m a g e s / b o t _ m a t r i x _ o f f . png " i m g f o c u s=" i m a g e s /

b o t _ m a t r i x _ o n . png "> name=" s t r "> <x s l : v a l u e

<x s l : a t t r i b u t e

of

s e l e c t =" @numero " /> </

x s l : a t t r i b u t e> <x s l : i f t e s t =" @ a c t u a l = ' 0 ' "> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) / r e q u e s t /

<x s l : v a r i a b l e server

n a m e " />
name=" s e r v P o r t " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) /

<x s l : v a r i a b l e

request / server <x s l : v a r i a b l e

p o r t " />
s e l e c t =" d o c ( ' i n p u t : d a t

name=" p r o v i n c i a "

instance

')

/ s u b m i s s i o n / p r o v i n c i a " /> <x s l : v a r i a b l e name=" t i t u l a c i o n " s e l e c t =" d o c ( ' i n p u t : d a t

instance

' ) / s u b m i s s i o n / t i t u l a c i o n " /> <x s l : v a r i a b l e input:dat name=" t i p o O p o s i c i o n " s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / t i p o O p o s i c i o n " />

<x s l : v a r i a b l e

name=" j s e s s i o n i d ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission /

p r i m e r a V e z = 'S ' "> <x s l : v a l u e </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

of

s e l e c t =" / / j s e s s i o n i d " />

of

s e l e c t =" d o c ( ' i n p u t : d a t

instance

') /

s u b m i s s i o n / j s e s s i o n i d " /> </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : v a r i a b l e> <x s l : v a r i a b l e name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e (

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / o f e r t a s _ e m p l e o _ p u b l i c o ? p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; t i t u l a c i o n = ' , $ t i t u l a c i o n , ' & amp ; t i p o O p o s i c i o n = ' , $ t i p o O p o s i c i o n , ' & amp ; p a g = ' , @numero , ' & amp ; p r i m e r a V e z= N &amp ; u r l = ' , @ u r l , ' & amp ; j s e s s i o n i d = ' , $ j s e s s i o n i d , ' ) ' ) " />

164 165 166 167 168 169 170 171 172 173 174

<x s l : a t t r i b u t e <x s l : v a l u e

name=" o n o v e r "> s e l e c t =" $ comun " />

of

</ x s l : a t t r i b u t e>

</

</ x s l : t e m p l a t e>

menuitem

</ x s l : i f > >

<x s l : t e m p l a t e < >

menuitem

match=" o f e r t a s / o f e r t a ">

<x s l : a t t r i b u t e <x s l : v a l u e

name=" s t r "> s e l e c t =" c o n c a t ( nombre , ' . ' , convocante , ' . Tipo: F. instancia: N. ' , fecha , ' . ' ,

of

Convocante: p l a z a s ) " />

' , tipo , ' .

plazas:

175 176 177 178 179 180 181

</ x s l : a t t r i b u t e>

<

action

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) / r e q u e s t /

<x s l : v a r i a b l e server

n a m e " />
name=" s e r v P o r t " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) /

<x s l : v a r i a b l e

request / server <x s l : v a r i a b l e

p o r t " />
s e l e c t =" d o c ( ' i n p u t : d a t

name=" p r o v i n c i a "

instance

')

/ s u b m i s s i o n / p r o v i n c i a " /> <x s l : v a r i a b l e name=" t i t u l a c i o n " s e l e c t =" d o c ( ' i n p u t : d a t

instance

' ) / s u b m i s s i o n / t i t u l a c i o n " />

204

Apndice B. Ficheros desarrollados para la aplicacin

182 183 184 185 186 187 188 189 190

<x s l : v a r i a b l e input:dat

name=" t i p o O p o s i c i o n "

s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / t i p o O p o s i c i o n " /> s e l e c t =" d o c ( ' i n p u t : d a t

<x s l : v a r i a b l e

name=" p a g "

instance

') /

s u b m i s s i o n / p a g " /> <x s l : v a r i a b l e name=" p r i m e r a V e z " s e l e c t =" d o c ( ' i n p u t : d a t

instance
') /

' ) / s u b m i s s i o n / p r i m e r a V e z " /> <x s l : v a r i a b l e name=" u r l " s e l e c t =" d o c ( ' i n p u t : d a t

instance

s u b m i s s i o n / u r l " /> <x s l : v a r i a b l e name=" j s e s s i o n i d " s e l e c t =" d o c ( ' i n p u t : d a t

instance

' ) / s u b m i s s i o n / j s e s s i o n i d " /> <x s l : v a r i a b l e name=" i d O f e r t a " s e l e c t =" i d O f e r t a " />

<x s l : a t t r i b u t e <x s l : v a l u e

name=" a c t "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

of

, showpage ( h t t p : / / ' , $

s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / o f e r t a s _ e m p l e o _ p u b l i c o _ d e t a l l e ? p r o v i n c i a = ' ,$ p r o v i n c i a , '& amp ; t i t u l a c i o n = ' , $ t i t u l a c i o n , ' & amp ; t i p o O p o s i c i o n = ' , $ t i p o O p o s i c i o n , ' & amp ; p a g = ' , $ pag , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; u r l = ' , $ u r l , ' & amp ; j s e s s i o n i d = ' , $ j s e s s i o n i d , ' & amp ; i d O f e r t a = ' , $ i d O f e r t a , ' ) ' ) " />

191 192 193

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : v a l u e name=" a c t b a c k "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

of

, showpage ( h t t p : / / ' , $

s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / o f e r t a s _ e m p l e o _ p u b l i c o ? p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; t i t u l a c i o n = ' , $ t i t u l a c i o n , ' & amp ; t i p o O p o s i c i o n = ' , $ t i p o O p o s i c i o n , ' & amp ; p a g = ' , $ pag , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; u r l = ' , $ u r l , ' & amp ; j s e s s i o n i d = ' , $ j s e s s i o n i d , ' ) ' ) " />

194 195 196 197 198 199 200

</

</ x s l : t e m p l a t e>

action menuitem
</

</ x s l : a t t r i b u t e> >

>

</ x s l : s t y l e s h e e t >

ofertas_empleo_publico_detalle.xpl

1 2

<? xml

<p : c o n f i g

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

encoding

="UTF

8" ?>
x m l n s : t m g=" h t t p : x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f /

/ /www . t m i r a . com/ o p s / p r o c e s s o r s " pipeline "

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

<p : p a r a m

type

=" i n p u t "

name=" i n s t a n c e " />

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : r e q u e s t "> name=" c o n f i g "> stream

config

XMLSchema">

type

=" x s : a n y U R I "

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 /

< i n c l u d e>/ r e q u e s t / s e r v e r

</

</ p : i n p u t> <p : o u t p u t

config

< i n c l u d e>/ r e q u e s t / s e r v e r >

name</ i n c l u d e> p o r t</ i n c l u d e>

name=" d a t a "

i d=" s e r v e r " />

</ p : p r o c e s s o r>

<!

Procesador

para

generar

el

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a "

config

necesario

para

el

mtodo

HTTP

>

h r e f="#i n s t a n c e " />

name=" c o n f i g ">

B.3. Directorio de gestin del canal de retorno

205

20 21 22 23 24 25

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config method action


< <

version

=" 2 . 0 ">

match=" / ">

>u r l

h t t p</ o f

>

method

>

<x s l : v a l u e

s e l e c t =" c o n c a t ( ' h t t p : / /www .

j u n t a d e a n d a l u c i a . e s / s e r v i c i o a n d a l u z d e e m p l e o / web / websae / p o r t a l / e s / empleo / o f e r t a s E m p l e o / o f e r t a s P u b l i c a s / d e t a l l e _ o p o s i c i o n . html ? opCodigo = ' ,/

26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

action cookies cookies timeout timeout contenttype contenttype encoding encoding config
</ < < < < > >y e s</ >4 0</ > > > t e x t / h t m l</ 8 </ >u t f > > i d=" m e t o d o _ h t t p " />

s u b m i s s i o n / i d O f e r t a , ' & amp ; t i c k e t =n o c a s ' ) " />

>

</ p : p r o c e s s o r>

<!

Mtodo GET

(HTTP)

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

> h t t p ">
h r e f="#m e t o d o _ h t t p " /> i d=" p a g e " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

<!

Seleccin

de

informacin

de

inters

en

el

fichero

H T M L

recibido

>

<p : p r o c e s s o r

name=" o x f : u n s a f e

x s l t ">

<p : i n p u t <i t e m s

name=" c o n f i g "> x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

x s l : v e r s i o n =" 2 . 0 ">

< t i t u l o> <x s l : f o r

e a c h

s e l e c t =" / / h4 ">

<x s l : i f

t e s t =" p o s i t i o n ( ) =1">

<x s l : v a l u e </ x s l : i f > </ x s l : f o r </ t i t u l o>

o f

s e l e c t =" n o r m a l i z e

s p a c e ( t e x t ( ) ) " />

e a c h>

< t a b l a> <x s l : f o r > < l i n e a> <x s l : f o r

e a c h

s e l e c t =" / / f i e l d s e t [ @ c l a s s = ' f o r m u l a r i o ' ] / d i v "

e a c h

s e l e c t =" l a b e l ">

<e l e m e n t o> <x s l : v a l u e /> </ e l e m e n t o> </ x s l : f o r </ l i n e a> </ x s l : f o r </ t a b l a>

o f

s e l e c t =" n o r m a l i z e

s p a c e ( t e x t ( ) ) "

e a c h>

e a c h>

</ i t e m s> </ p : i n p u t> <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t a " h r e f="#p a g e " /> i d=" r e s u l t " />

</ p : p r o c e s s o r>

<!

Generacin

del

fichero

X M L

>

<p : p r o c e s s o r

name=" o x f : x s l t ">

206

Apndice B. Ficheros desarrollados para la aplicacin

77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

<p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t

name=" c o n f i g " name=" d a t a " name=" d a t

h r e f=" o f e r t a s _ e m p l e o _ p u b l i c o _ d e t a l l e . x s l " />

h r e f="#r e s u l t " /> h r e f="#i n s t a n c e " />

i n s t a n c e "

name=" s e r v e r " name=" d a t a "

h r e f="#s e r v e r " /> i d=" l i s t " />

</ p : p r o c e s s o r>

<!

Serializacin

del

fichero

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : x m l

X M L > s e r i a l i z e r ">

</

</ p : i n p u t> <p : i n p u t

config contenttype encoding encoding version version config


name=" c o n f i g "> > < < < >u t f 8 </ > 1 . 0</ > > name=" d a t a "

> a p p l i c a t i o n / xml</ >

contenttype

>

h r e f="# l i s t " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

ofertas_empleo_publico_detalle.xsl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

<? xml

<x s l : s t y l e s h e e t

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 1 . 0 ">

encoding

=" u t f

8 " ?>

x m l n s : x a l a n=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />

<x s l : t e m p l a t e < >

page help
< <! <

match=" i t e m s ">

>c _ h e l p</

help

>

</

container image image image image image image container


" 214 " < 118 " < < < < < 118 "

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=

i d=" c _ i n d i c e _ l a t e r a l "

v i s =" 1 "

s i z e x =" 1 1 8 "

s i z e y =" 1 6 8 ">

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png " s i z e y =" 2 8 "> </ >

p a t h=" i m a g e s / i n d _ a n u n c i o s _ o n . png " s i z e y =" 2 8 "> </ >

image

p o s y=" 0 "

p o s x=" 0 "

s i z e x ="

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ w e b _ o f f . png " s i z e y =" 2 8 "> </ >

>

image

image image image image

p o s y=" 2 8 "

p o s x=" 0 "

p o s y=" 5 6 "

p o s x=" 0 "

p o s y=" 8 4 "

p o s x=" 0 "

p o s y=" 1 1 2 "

p o s x=" 0 "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x ="

<! <

</

container text container


214 " <

Contenedor

del

ttulo

>
v i s =" 1 " a l p h a=" 0 " p o s x=" 3 0 " p o s y="

i d=" c _ t e x t o _ t i t u l o "

s i z e x =" 5 2 0 "

s i z e y =" 3 0 "> p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 "

s t y l e =" s_body "

s c r o l l =" 0 "> <x s l : v a l u e >

of

s e l e c t =" t i t u l o " /> </

text

s i z e y =" 2 5 " >

<! <

container

Contenedor

de

la

tabla

>
a l p h a=" 0 " p o s x=" 3 0 " p o s y=" 2 3 9 "

i d=" c _ t a b l a "

v i s =" 1 "

s i z e x =" 5 2 0 "

s i z e y =" 3 1 5 ">

B.3. Directorio de gestin del canal de retorno

207

27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

<

table

s t y l e 1 =" s _ t a b l a _ i m p a r e s " c e l l y =" 3 5 " s i z e x =" 5 2 0 "

s t y l e 0 =" s _ t a b l a _ p a r e s " s i z e y =" 3 1 5 " p o s x=" 0 "

c e l l x ="

250 "

p o s y=" 0 ">

</

table container
</

<x s l : a p p l y > >

templates

s e l e c t =" t a b l a / l i n e a " />

<! <

container menu menuitem action


Contenedor s i z e x =" 1 1 8 " < < <

del

men

>
a l p h a=" 0 " p o s x=" 5 4 5 " p o s y=" 4 1 5 "

i d="c_menu"

v i s =" 1 "

s i z e y =" 1 0 0 "> p o s x=" 0 " p o s y=" 0 " s i z e x =" 1 1 8 " s i z e y =" 1 0 0 "

t y p e=" v e r t i c a l "

i t e m x=" 1 1 8 "

i t e m y=" 4 0 "

s e p x=" 0 "

s e p y=" 1 0 "

s t y l e =" s_menuhor ">

s t r =" V o l v e r " > k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

<x s l : v a r i a b l e

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server <x s l : v a r i a b l e input:dat

p o r t " />
s e l e c t =" d o c ( ' ' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

name=" p r o v i n c i a "

instance instance instance instance instance instance instance instance

<x s l : v a r i a b l e input:dat

name=" t i t u l a c i o n "

' ) / s u b m i s s i o n / t i t u l a c i o n " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" t i p o O p o s i c i o n "

' ) / s u b m i s s i o n / t i p o O p o s i c i o n " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p a g "

' ) / s u b m i s s i o n / p a g " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r i m e r a V e z "

' ) / s u b m i s s i o n / p r i m e r a V e z " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" u r l "

' ) / s u b m i s s i o n / u r l " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" j s e s s i o n i d "

' ) / s u b m i s s i o n / j s e s s i o n i d " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" i d O f e r t a "

' ) / s u b m i s s i o n / i d O f e r t a " />

<x s l : a t t r i b u t e <x s l : v a l u e

name=" a c t "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

of

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / ofertas_empleo_publico ? p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; t i t u l a c i o n = ' , $ t i t u l a c i o n , ' & amp ; t i p o O p o s i c i o n = ' , $ t i p o O p o s i c i o n , ' & amp ; p a g = ' , $ pag , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; u r l = ' , $ u r l , ' & amp ; j s e s s i o n i d = ' , $ j s e s s i o n i d , ' ) ' ) " />

51 52 53 54

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e <x s l : v a l u e

name=" a c t b a c k "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

of

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / ofertas_empleo_publico_detalle ? p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; t i t u l a c i o n = ' , $ t i t u l a c i o n , ' & amp ; t i p o O p o s i c i o n = ' , $ t i p o O p o s i c i o n , ' & amp ; p a g = ' , $ pag , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; u r l = ' , $ u r l , ' & amp ; j s e s s i o n i d = ' , $ j s e s s i o n i d , ' & amp ; i d O f e r t a = ' , $ i d O f e r t a , ' ) ' ) " />

55 56 57 58 59 60 61 62

</

<

action menuitem menuitem action


</ <

</ x s l : a t t r i b u t e> >

>

s t r =" Nueva k e y="O K">

bsqueda " >

<x s l : v a r i a b l e

name=" s e r v I p "

s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server

p o r t " />

208

Apndice B. Ficheros desarrollados para la aplicacin

63 64 65 66 67 68 69 70 71 72 73 74 75 76 77

<x s l : v a r i a b l e input:dat

name=" p r o v i n c i a "

s e l e c t =" d o c ( '

instance instance instance instance instance instance instance instance

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" t i t u l a c i o n "

' ) / s u b m i s s i o n / t i t u l a c i o n " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" t i p o O p o s i c i o n "

' ) / s u b m i s s i o n / t i p o O p o s i c i o n " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p a g "

' ) / s u b m i s s i o n / p a g " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r i m e r a V e z "

' ) / s u b m i s s i o n / p r i m e r a V e z " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" u r l "

' ) / s u b m i s s i o n / u r l " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" j s e s s i o n i d "

' ) / s u b m i s s i o n / j s e s s i o n i d " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" i d O f e r t a "

' ) / s u b m i s s i o n / i d O f e r t a " />

<x s l : a t t r i b u t e

name=" a c t ">

< x s l : t e x t>h i d e p a g e (

, showpage (

o f e r t a s _ e m p l e o _ p u b l i c o )</ x s l : t e x t > </ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e <x s l : v a l u e

name=" a c t b a c k "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

of

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / ofertas_empleo_publico_detalle ? p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; t i t u l a c i o n = ' , $ t i t u l a c i o n , ' & amp ; t i p o O p o s i c i o n = ' , $ t i p o O p o s i c i o n , ' & amp ; p a g = ' , $ pag , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; u r l = ' , $ u r l , ' & amp ; j s e s s i o n i d = ' , $ j s e s s i o n i d , ' & amp ; i d O f e r t a = ' , $ i d O f e r t a , ' ) ' ) " />

78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

</

</ x s l : t e m p l a t e>

action menuitem menu container page


</ </ </ > </ > > > <x s l : f o r < > <x s l : v a l u e >

</ x s l : a t t r i b u t e> >

>

<x s l : t e m p l a t e <

tr

match=" t a b l a / l i n e a ">

</

</

</ x s l : t e m p l a t e>

tr

</ x s l : f o r >

td td

each

s e l e c t =" e l e m e n t o ">

of

s e l e c t =" . " />

e a c h>

</ x s l : s t y l e s h e e t >

B.3.3. Empresas andaluzas que ofrecen empleo


empresas_formulario.xpl

1 2

<? xml

<p : c o n f i g

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

encoding

="UTF

8" ?>
x m l n s : t m g=" h t t p : x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f /

/ /www . t m i r a . com/ o p s / p r o c e s s o r s " pipeline "

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

B.3. Directorio de gestin del canal de retorno

209

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

<p : p a r a m

type

=" i n p u t "

name=" i n s t a n c e " />

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : r e q u e s t "> name=" c o n f i g "> stream

config

XMLSchema">

type

=" x s : a n y U R I "

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 /

< i n c l u d e>/ r e q u e s t / s e r v e r

</

</ p : i n p u t> <p : o u t p u t

config

< i n c l u d e>/ r e q u e s t / s e r v e r >

name</ i n c l u d e> p o r t</ i n c l u d e>

name=" d a t a "

i d=" s e r v e r " />

</ p : p r o c e s s o r>

<!

Procesador

para

generar

el

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a "

config

necesario

para

el

mtodo

HTTP

>

h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config method cookies action


< < < do</ < < <

version

=" 2 . 0 ">

match=" / ">

>u r l

h t t p</

>y e s</

> h t t p : / /www . j u n t a d e a n d a l u c i a . e s /

method cookies
> >

>

26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

action timeout timeout contenttype contenttype encoding encoding config


> >4 0</ > t e x t / h t m l</ 8 </ >u t f > > i d=" m e t o d o _ h t t p " />

s e r v i c i o a n d a l u z d e e m p l e o / web / w e b s a e / i n i c i a l i z a B u s q u e d a .

>

</ p : p r o c e s s o r>

<!

Mtodo GET

(HTTP)

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

> h t t p ">
h r e f="#m e t o d o _ h t t p " /> i d=" p a g e " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

<!

Seleccin

de

informacin

de

inters

en

el

fichero

H T M L

recibido

>

<p : p r o c e s s o r <p : i n p u t <i t e m s

name=" o x f : u n s a f e name=" c o n f i g ">

x s l t ">
xsl:version

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

=" 2 . 0 "> < >

url

<x s l : v a l u e

o f

s e l e c t =" s u b s t r i n g

a f t e r ( / / f o r m [ @name= '

</

< p r o v i n c i a s> <x s l : f o r

url

busquedaForm ' ] / @ a c t i o n , ' j s e s s i o n i d = ' ) " />

>

e a c h

s e l e c t =" / / s e l e c t [ @id = ' u b i c a c i o n ' ] / o p t i o n ">

< p r o v i n c i a> <nombre> <x s l : v a l u e </ nombre> < v a l o r> <x s l : v a l u e </ v a l o r> </ p r o v i n c i a> </ x s l : f o r

o f

s e l e c t =" n o r m a l i z e

s p a c e ( t e x t ( ) ) " />

o f

s e l e c t =" @ v a l u e " />

e a c h>

</ p r o v i n c i a s> < s e c t o r e s>

210

Apndice B. Ficheros desarrollados para la aplicacin

62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124

<x s l : f o r

e a c h

s e l e c t =" / / s e l e c t [ @id = ' s e c t o r ' ] / o p t i o n ">

<x s l : i f

t e s t =" p o s i t i o n ( ) ! = 1 ">

< s e c t o r> <nombre> <x s l : v a l u e

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e ' ) " />

s p a c e (

text () ) , ' , ' , ' </ nombre> < v a l o r> <x s l : v a l u e </ v a l o r> </ s e c t o r> </ x s l : i f > </ x s l : f o r </ s e c t o r e s> </ i t e m s> </ p : i n p u t> <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t a " h r e f="#p a g e " />

o f

s e l e c t =" . / @ v a l u e " />

e a c h>

i d=" r e s u l t D e s o r d e n a d o " />

</ p : p r o c e s s o r>

<!

Procesador

para

ordenar

los

sectores

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a " h r e f="#r e s u l t D e s o r d e n a d o " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e <i t e m s> <

version

=" 2 . 0 ">

match=" i t e m s ">

</

< p r o v i n c i a s> <x s l : a p p l y

url url

>

<x s l : v a l u e >

o f

s e l e c t =" u r l " />

t e m p l a t e s

s e l e c t =" p r o v i n c i a s / p r o v i n c i a " />

</ p r o v i n c i a s> < s e c t o r e s> < s e c t o r> <nombre>

Todos </ nombre>

< v a l o r> </ v a l o r> </ s e c t o r> <x s l : a p p l y

t e m p l a t e s

s e l e c t =" s e c t o r e s / s e c t o r "> o r d e r=" a s c e n d i n g " />

<x s l : s o r t </ x s l : a p p l y </ s e c t o r e s> </ i t e m s> </ x s l : t e m p l a t e>

s e l e c t =" nombre "

t e m p l a t e s>

<x s l : t e m p l a t e

match=" p r o v i n c i a s / p r o v i n c i a ">

< p r o v i n c i a> <nombre> <x s l : v a l u e </ nombre> < v a l o r> <x s l : v a l u e </ v a l o r> </ p r o v i n c i a> </ x s l : t e m p l a t e> <x s l : t e m p l a t e < s e c t o r> <nombre> <x s l : v a l u e </ nombre> < v a l o r> <x s l : v a l u e </ v a l o r> </ s e c t o r> match=" s e c t o r e s / s e c t o r ">

o f

s e l e c t =" nombre " />

o f

s e l e c t =" v a l o r " />

o f

s e l e c t =" nombre " />

o f

s e l e c t =" v a l o r " />

B.3. Directorio de gestin del canal de retorno

211

125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152

</ x s l : t e m p l a t e>

</ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a " i d=" r e s u l t " />

</ p : p r o c e s s o r>

<!

Generacin

del

fichero

X M L

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t

name=" o x f : x s l t "> name=" c o n f i g " name=" d a t a " h r e f=" e m p r e s a s _ f o r m u l a r i o . x s l " />

h r e f="#r e s u l t " /> h r e f="#s e r v e r " /> i d=" l i s t " />

name=" s e r v e r " name=" d a t a "

</ p : p r o c e s s o r>

<!

Serializacin

del

fichero

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : x m l

X M L > s e r i a l i z e r ">

</

</ p : i n p u t> <p : i n p u t

config contenttype encoding encoding version version config


name=" c o n f i g "> > < < < >u t f 8 </ > 1 . 0</ > > name=" d a t a "

> a p p l i c a t i o n / xml</ >

contenttype

>

h r e f="# l i s t " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

empresas_formulario.xsl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

<? xml

<x s l : s t y l e s h e e t

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 1 . 0 ">

encoding

="UTF

8" ?>

x m l n s : x a l a n=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />

<x s l : t e m p l a t e < >

page help
< <! <

match=" i t e m s ">

>c _ h e l p</

help

>

</

container image image image image image image container


" 214 " < 118 " < < < < < 118 "

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=

i d=" c _ i n d i c e _ l a t e r a l "

v i s =" 1 "

s i z e x =" 1 1 8 "

s i z e y =" 1 6 8 ">

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png " s i z e y =" 2 8 "> </ >

p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ >

image

p o s y=" 0 "

p o s x=" 0 "

s i z e x ="

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o n . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ w e b _ o f f . png " s i z e y =" 2 8 "> </ >

>

image
de

image image image image

p o s y=" 2 8 "

p o s x=" 0 "

p o s y=" 5 6 "

p o s x=" 0 "

p o s y=" 8 4 "

p o s x=" 0 "

p o s y=" 1 1 2 "

p o s x=" 0 "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x ="

<!

Contenedor

del

texto

bienvenida

>

212

Apndice B. Ficheros desarrollados para la aplicacin

22 23 24

<

container text text


< <

i d=" c _ b i e n v "

v i s =" 1 "

p o s x=" 3 0 "

p o s y=" 2 2 3 "

s i z e x =" 5 2 0 "

s i z e y =" 9 0 "

a l p h a=" 0 "> p o s x=" 0 " p o s y=" 0 "

s t y l e =" s_body "

s c r o l l =" 0 ">E m p r e s a s s t y l e =" s_body2 " este los el

a n d a l u z a s</

p o s x=" 0 " men ,

p o s y=" 2 5 "

text

s i z e x =" 5 2 0 "

s i z e y =" 2 5 "

> s i z e x =" 5 2 0 " a en un el s i z e y =" 6 5 " de y

s c r o l l =" 0 ">En

podr que

acceder desee

buscador

empresas .

Elija sobre

valores botn

25 26 27 28 29 30 31 32 33

</

container form
< <

pulse >

"O K"

" B u s c a r " .</

text

formulario

>

<! <

container
<

Contenedor

del

formulario v i s =" 1 "

de

bsqueda

>
s i z e x =" 5 2 0 "

i d=" c_form "

p o s x=" 3 0 "

p o s y=" 3 2 5 "

s i z e y =" 1 7 0 "

a l p h a=" 0 ">

f o c u s=" f _ p r o v i n c i a "

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 5 2 0 "

s i z e y ="

170 "

s t y l e =" s_menu_form ">

text form_list
" 175 "

s t r =" P r o v i n c i a "

p o s x=" 0 "

s t y l e =" s_body_form "> </ i d=" f _ p r o v i n c i a "

text

p o s y=" 0 " >

s i z e x =" 1 5 5 "

s i z e y =" 2 5

v a l=" 0 0 0 0 "

t y p e=" h a r r o w s "

p o s x=" up="

p o s y=" 0 "

s i z e x =" 1 5 0 "

s i z e y =" 2 5 "

down=" f _ s e c t o r "

f _ b u s c a r ">

34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53

<x s l : a t t r i b u t e <x s l : f o r

name=" o p t i o n s ">

e a c h s e l e c t =" p r o v i n c i a s / p r o v i n c i a "> <x s l : v a l u e o f s e l e c t =" . / v a l o r " />


<x s l : i f t e s t =" p o s i t i o n ( ) != l a s t ( ) "> < x s l : t e x t> ,</ x s l : t e x t> </ x s l : i f >

</ x s l : f o r

e a c h>
name=" o p t i o n s _ t e x t s ">

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : f o r

e a c h s e l e c t =" p r o v i n c i a s / p r o v i n c i a "> <x s l : v a l u e o f s e l e c t =" . / nombre " />


<x s l : i f t e s t =" p o s i t i o n ( ) != l a s t ( ) "> < x s l : t e x t> ,</ x s l : t e x t> </ x s l : i f >

</ x s l : f o r

e a c h>

</

<

<

form_list text form_list

</ x s l : a t t r i b u t e> >

s t r =" S e c t o r "

p o s x=" 0 "

s t y l e =" s_body_form "> </ i d=" f _ s e c t o r "

v a l=" 0 0 0 0 "

text

p o s y=" 4 0 " >

s i z e x =" 1 5 5 "

s i z e y =" 2 5 "

t y p e=" h a r r o w s "

p o s x=" 1 7 5 " up="

p o s y=" 4 0 "

s i z e x =" 3 3 0 "

s i z e y =" 2 5 "

down=" f _ b u s c a r "

f _ p r o v i n c i a ">

54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

<x s l : a t t r i b u t e <x s l : f o r

name=" o p t i o n s ">

e a c h s e l e c t =" s e c t o r e s / s e c t o r "> <x s l : v a l u e o f s e l e c t =" . / v a l o r " />


<x s l : i f t e s t =" p o s i t i o n ( ) != l a s t ( ) "> < x s l : t e x t> ,</ x s l : t e x t> </ x s l : i f >

</ x s l : f o r

e a c h>
name=" o p t i o n s _ t e x t s ">

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : f o r

e a c h s e l e c t =" s e c t o r e s / s e c t o r "> <x s l : v a l u e o f s e l e c t =" . / nombre " />


<x s l : i f t e s t =" p o s i t i o n ( ) != l a s t ( ) "> < x s l : t e x t> ,</ x s l : t e x t> </ x s l : i f >

</ x s l : f o r

e a c h>

</

form_list

</ x s l : a t t r i b u t e> >

B.3. Directorio de gestin del canal de retorno

213

72 73 74 75 76 77 78 79

<

form_imgbutton
p o s x=" 1 7 0 " <

i d=" f _ b u s c a r "

img=" i m a g e s / b o t _ b u s c a r _ o f f . png "

i m g f o c u s=" i m a g e s / b o t _ b u s c a r _ o n . png " p o s y=" 9 0 " s i z e x =" 1 2 2 " s i z e y =" 7 9 " up=" f _ s e c t o r "

action

down=" f _ p r o v i n c i a " k e y="O K">

r i g h t =" f _ v o l v e r "

v a l i d a t i o n =" f a l s e ">

<x s l : v a r i a b l e

name=" s e r v I p "

s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server <x s l : a t t r i b u t e

p o r t " />
s e l e c t =" u r l " /> s e l e c t =" c o n c a t ( ' h i d e p a g e

name=" a c t "> name=" u r l "

<x s l : v a r i a b l e <x s l : v a r i a b l e (

name=" comun "

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / e m p r e s a s ? p r o v i n c i a =$ f _ p r o v i n c i a ;&amp ; s e c t o r =$ f _ s e c t o r ;&amp ; u r l = ' , $ u r l , ' & amp ; p r i m e r a V e z=S&amp ; u r l F i n= & amp ; p a g =1) ' ) " />

80 81 82 83

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e (

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / e m p r e s a s _ f o r m u l a r i o ) ' ) " />

84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</

<

action form_imgbutton form_imgbutton


</ > p o s x=" 3 0 0 " <

</ x s l : a t t r i b u t e>

>

i d=" f _ v o l v e r "

img=" i m a g e s / b o t _ v o l v e r _ o f f . png "

i m g f o c u s=" i m a g e s / b o t _ v o l v e r _ o n . png " p o s y=" 9 0 " s i z e x =" 1 2 2 " s i z e y =" 7 9 " up=" f _ s e c t o r "

action

down=" f _ p r o v i n c i a " k e y="O K">

l e f t =" f _ b u s c a r "

v a l i d a t i o n =" f a l s e ">

<x s l : v a r i a b l e

name=" s e r v I p "

s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server <x s l : a t t r i b u t e

p o r t " />
s e l e c t =" ' h i d e p a g e (

name=" a c t "> name=" comun "

<x s l : v a r i a b l e

s h o w p a g e ( i n d e x ) ' " /> <x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e (

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / a p p s / 1 6 0 0 3 / 8 0 0 / r c / e m p r e s a s _ f o r m u l a r i o ) ' ) " />

100 101 102 103 104 105 106 107 108 109 110 111 112

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</

action form_imgbutton form container page


</ > </ </ > </ > >

</ x s l : a t t r i b u t e>

>

</ x s l : t e m p l a t e>

</ x s l : s t y l e s h e e t >

empresas.xpl

214

Apndice B. Ficheros desarrollados para la aplicacin

1 2

<? xml

<p : c o n f i g

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

encoding

="UTF

8" ?>
x m l n s : t m g=" h t t p : x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f /

/ /www . t m i r a . com/ o p s / p r o c e s s o r s " pipeline "

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

<p : p a r a m

type

=" i n p u t "

name=" i n s t a n c e " />

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : r e q u e s t "> name=" c o n f i g "> stream

config

XMLSchema">

type

=" x s : a n y U R I "

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 /

< i n c l u d e>/ r e q u e s t / s e r v e r

</

</ p : i n p u t> <p : o u t p u t

config

< i n c l u d e>/ r e q u e s t / s e r v e r >

name</ i n c l u d e> p o r t</ i n c l u d e>

name=" d a t a "

i d=" s e r v e r " />

</ p : p r o c e s s o r>

<!

Procesador

para

generar

el

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a "

config

necesario

para

el

mtodo

HTTP

>

h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config

version

=" 2 . 0 ">

match=" / ">

< x s l : c h o o s e> <x s l : w h e n < <

method action

t e s t =" / s u b m i s s i o n / p r i m e r a V e z = 'S ' "> >

>p o s t</

>

method

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( ' h t t p : / /www .

juntadeandalucia . es / servicioandaluzdeempleo / web / w e b s a e / i n i c i a l i z a B u s q u e d a . do ; j s e s s i o n i d

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

</ <

action parameters parameter parameter


> > < < </ <

= ' , / s u b m i s s i o n / u r l ) " />

name=" r a z o n s o c i a l " name=" u b i c a c i o n ">

v a l u e=" " />

<x s l : a t t r i b u t e <x s l : v a l u e " />

name=" v a l u e "> s e l e c t =" / s u b m i s s i o n / p r o v i n c i a

o f

parameter parameter
>

</ x s l : a t t r i b u t e> > name=" s e c t o r "> name=" v a l u e "> s e l e c t =" / s u b m i s s i o n / s e c t o r " />

<x s l : a t t r i b u t e <x s l : v a l u e

o f

</

</ x s l : w h e n>

parameter parameters
</ >u r l > <x s l : v a l u e

</ x s l : a t t r i b u t e> >

< x s l : o t h e r w i s e> < <

method action

h t t p</ o f

method

>

s e l e c t =" c o n c a t ( ' h t t p : / /www .

juntadeandalucia . es / servicioandaluzdeempleo / web / w e b s a e / i n i c i a l i z a B u s q u e d a . do ; j s e s s i o n i d = ' ,/ s u b m i s s i o n / u r l , ' ? ' , / s u b m i s s i o n / u r l F i n , '

47 48 49 50 51 52

</ < <

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> < >y e s</

action contenttype contenttype encoding encoding


= ' , / s u b m i s s i o n / p a g ) " /> > > t e x t / h t m l</ 8 </ >u t f >

>

cookies

cookies

>

B.3. Directorio de gestin del canal de retorno

215

53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a " i d=" m e t o d o _ h t t p " />

timeout config
< >

>4 0</

timeout

>

</ p : p r o c e s s o r>

<!

Mtodo

POST

o GET

(HTTP)

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

> h t t p ">
h r e f="#m e t o d o _ h t t p " /> i d=" p a g e " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

<!

Seleccin

de

informacin

de

inters

en

el

fichero

H T M L

recibido

>

<p : p r o c e s s o r <p : i n p u t <i t e m s

name=" o x f : u n s a f e name=" c o n f i g ">

x s l t ">
xsl:version

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

=" 2 . 0 "> <e m p r e s a s> <x s l : f o r

e a c h

s e l e c t =" / / t a b l e [ @id = ' d a t a T a b l e ' ] / t b o d y / t r ">

<e m p r e s a> <nombre> <x s l : v a l u e ( . / td [ 1 ] ) , '&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;& #141;&#147;&#154;&#145;&#188;' , ' ' ) " /> </ nombre>

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e

s p a c e

75

< s e c t o r> <x s l : v a l u e ( . / td [ 2 ] )

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e

s p a c e

, '&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;& #141;&#147;&#154;&#145;&#188;' , ' ' ) " /> </ s e c t o r>

76

< p r o v i n c i a> <x s l : v a l u e space ( . / td [ 3 ] )

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e

, '&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;& #141;&#147;&#154;&#145;&#188;' , ' ' ) " /> </ p r o v i n c i a>

77

<i d E m p r e s a> <x s l : v a l u e substring

o f s e l e c t =" s u b s t r i n g b e f o r e ( a f t e r ( n o r m a l i z e s p a c e ( . / t d [ 4 ] / a / @ h r e f )

, '

i d E m p r e s a = ' ) , ' &amp ; i d P r o v i n c i a ' ) " /> </ i d E m p r e s a>

78 79

< i d P r o v i n c i a> <x s l : v a r i a b l e normalize " /> name=" i d P r o v " s e l e c t =" s u b s t r i n g

a f t e r (

s p a c e ( . / t d [ 4 ] / a / @ h r e f )

, ' i d P r o v i n c i a = ')

80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

< x s l : c h o o s e> <x s l : w h e n t e s t =" c o n t a i n s ( $ i d P r o v , '

<x s l : v a l u e

o f

s e l e c t =" s u b s t r i n g

p = ' ) "> b e f o r e ( $ i d P r o v

, ' & amp ; ' ) " /> </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

o f

s e l e c t =" $ i d P r o v " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ i d P r o v i n c i a> </ e m p r e s a> </ x s l : f o r </ e m p r e s a s> <p a g i n a s> <x s l : v a r i a b l e name=" t o t a l _ p a g i n a s "> name=" i r U l t i m a " s e l e c t =" / / d i v [ @ c l a s s = '

e a c h>

<x s l : v a r i a b l e

p a g i n a c i o n ' ] / a [ l a s t ( ) ] / @ h r e f " /> < x s l : c h o o s e> <x s l : w h e n t e s t =" $ i r U l t i m a != ' ' ">

216

Apndice B. Ficheros desarrollados para la aplicacin

97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128

<x s l : v a r i a b l e substring < x s l : c h o o s e> <x s l : w h e n

name=" t o t a l _ p r o v i s i o n a l "

s e l e c t ="

a f t e r ( $ i r U l t i m a

,'

p = ' ) " />


&l t ; doc ( '

t e s t =" $ t o t a l _ p r o v i s i o n a l

i n s t a n c e ' ) / s u b m i s s i o n / p a g "> < x s l : v a l u e o f s e l e c t =" d o c ( ' i n p u t : d a t i n s t a n c e


input:dat ' ) / s u b m i s s i o n / p a g " /> </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

o f

s e l e c t =" $ t o t a l _ p r o v i s i o n a l " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : w h e n> < x s l : o t h e r w i s e> < x s l : t e x t>1</ x s l : t e x t > </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : v a r i a b l e>

<p a g i n a> <x s l : a t t r i b u t e <x s l : a t t r i b u t e <x s l : v a l u e name=" a c t u a l ">1</ x s l : a t t r i b u t e> name=" numero "> s e l e c t =" d o c ( ' i n p u t : d a t

o f

i n s t a n c e

') /

s u b m i s s i o n / p a g " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" t o t a l "> <x s l : v a l u e

o f

s e l e c t =" $

t o t a l _ p a g i n a s " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : a t t r i b u t e </ p a g i n a> <x s l : f o r name=" j s e s s i o n i d " /> name=" f i n u r l " />

e a c h

s e l e c t =" / / d i v [ @ c l a s s = ' p a g i n a c i o n ' ] / a ">

<x s l : i f

t e s t =" s u b s t r i n g

a f t e r

( . / @title , ' gina

' )=t e x t ( ) ">

<p a g i n a> <x s l : a t t r i b u t e <x s l : a t t r i b u t e name=" a c t u a l ">0</ x s l : a t t r i b u t e> name=" numero "> <x s l : v a l u e

o f

s e l e c t ="

t e x t ( ) " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" t o t a l "> <x s l : v a l u e

o f

s e l e c t =" $

t o t a l _ p a g i n a s " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" j s e s s i o n i d "> <x s l : v a l u e

s e l e c t =" s u b s t r i n g

o f b e f o r e ( s u b s t r i n g a f t e r ( . / @ h r e f

, ' j s e s s i o n i d = ' ) , ' ? ' ) " /> </ x s l : a t t r i b u t e>

129 130 131 132

<x s l : a t t r i b u t e

name=" f i n u r l ">

< x s l : c h o o s e> <x s l : w h e n ' ) "> <x s l : v a l u e t e s t =" c o n t a i n s ( . / @ h r e f , ' r a z o n s o c i a l

substring amp ;

o f s e l e c t =" s u b s t r i n g b e f o r e ( a f t e r ( . / @ h r e f , ' ? r a z o n s o c i a l=& ' ) , ' p = ' ) " />

133 134 135 136 137 138 139 140 141 142 143 144 145 146 147

</ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

substring

o f s e l e c t =" s u b s t r i n g b e f o r e ( a f t e r ( . / @ h r e f , ' ? ' ) , ' p = ' ) " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : a t t r i b u t e> </ p a g i n a> </ x s l : i f > </ x s l : f o r </ p a g i n a s> </ i t e m s> </ p : i n p u t> <p : i n p u t <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t h r e f="#p a g e " /> h r e f="#i n s t a n c e " />

e a c h>

i n s t a n c e "

name=" d a t a "

i d=" r e s u l t D e s o r d e n a d o " />

B.3. Directorio de gestin del canal de retorno

217

148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204

</ p : p r o c e s s o r>

<!

Procesador

para

ordenar

las

pginas

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a " h r e f="#r e s u l t D e s o r d e n a d o " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e <i t e m s>

version

=" 2 . 0 ">

match=" i t e m s ">

<e m p r e s a s> <x s l : a p p l y </ e m p r e s a s> <p a g i n a s> <x s l : a p p l y

t e m p l a t e s

s e l e c t =" e m p r e s a s / e m p r e s a " />

t e m p l a t e s

s e l e c t =" p a g i n a s / p a g i n a "> data

<x s l : s o r t

s e l e c t =" @numero "

" a s c e n d i n g " /> </ x s l : a p p l y </ p a g i n a s> </ i t e m s> </ x s l : t e m p l a t e>

type

=" number "

o r d e r=

t e m p l a t e s>

<x s l : t e m p l a t e <e m p r e s a>

match=" e m p r e s a s / e m p r e s a ">

<nombre> <x s l : v a l u e < s e c t o r> <x s l : v a l u e

o f o f

s e l e c t =" nombre " /> </ nombre> s e l e c t =" s e c t o r " /> </ s e c t o r>

o f s e l e c t =" p r o v i n c i a " /></ p r o v i n c i a> <i d E m p r e s a> < x s l : v a l u e o f s e l e c t =" i d E m p r e s a " /> </ i d E m p r e s a> < i d P r o v i n c i a> < x s l : v a l u e o f s e l e c t =" i d P r o v i n c i a " /> </
< p r o v i n c i a> <x s l : v a l u e i d P r o v i n c i a> </ e m p r e s a> </ x s l : t e m p l a t e> <x s l : t e m p l a t e <p a g i n a> <x s l : a t t r i b u t e name=" a c t u a l "> <x s l : v a l u e match=" p a g i n a s / p a g i n a ">

o f o f

s e l e c t =" @ a c t u a l

" /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" numero "> <x s l : v a l u e s e l e c t =" @numero

" /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" t o t a l "> <x s l : v a l u e

o f

s e l e c t =" @ t o t a l " /

> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" j s e s s i o n i d "> <x s l : v a l u e

o f

s e l e c t ="

@ j s e s s i o n i d " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" f i n u r l "> <x s l : v a l u e

o f

s e l e c t =" @ f i n u r l

" /> </ x s l : a t t r i b u t e> </ p a g i n a> </ x s l : t e m p l a t e>

</ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a " i d=" r e s u l t " />

</ p : p r o c e s s o r>

<!

Generacin

del

fichero

X M L

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t

name=" o x f : x s l t "> name=" c o n f i g " name=" d a t a " name=" d a t h r e f=" e m p r e s a s . x s l " />

h r e f="#r e s u l t " /> h r e f="#i n s t a n c e " />

i n s t a n c e "

name=" s e r v e r " name=" d a t a "

h r e f="#s e r v e r " /> i d=" l i s t " />

</ p : p r o c e s s o r>

<!

Serializacin

del

fichero

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : x m l

X M L > s e r i a l i z e r ">

config

name=" c o n f i g "> >

218

Apndice B. Ficheros desarrollados para la aplicacin

205 206 207 208 209 210 211 212 213

</

</ p : i n p u t> <p : i n p u t

contenttype encoding encoding version version config


< < < >u t f 8 </ > 1 . 0</ > > name=" d a t a "

> a p p l i c a t i o n / xml</ >

contenttype

>

h r e f="# l i s t " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

empresas.xsl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

<? xml

<x s l : s t y l e s h e e t

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 1 . 0 ">

encoding

=" u t f

8 " ?>

x m l n s : x a l a n=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />

<x s l : t e m p l a t e < >

page help
< <! <

match=" i t e m s ">

>c _ h e l p</

help

>

</

container image image image image image image container


" 214 " < 118 " < < < < < 118 "

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=

i d=" c _ i n d i c e _ l a t e r a l "

v i s =" 1 "

s i z e x =" 1 1 8 "

s i z e y =" 1 6 8 ">

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png " s i z e y =" 2 8 "> </ >

p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ >

image

p o s y=" 0 "

p o s x=" 0 "

s i z e x ="

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o n . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ w e b _ o f f . png " s i z e y =" 2 8 "> </ >

>

image

image image image image

p o s y=" 2 8 "

p o s x=" 0 "

p o s y=" 5 6 "

p o s x=" 0 "

p o s y=" 8 4 "

p o s x=" 0 "

p o s y=" 1 1 2 "

p o s x=" 0 "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x ="

<! <

container menu
215 " < "

Contenedor

del

men

horizontal

( paginacin ) s i z e y =" 3 5 "

>
s i z e x =" 5 3 0 " p o s y="

a l p h a=" 0 "

i d=" c_menu_hor "

p o s x=" 3 0 "

v i s =" 1 "> p o s x=" 1 0 " p o s y=" 0 " s i z e x =" 5 3 0 " s t y l e =" s i z e y =" 2 5

t y p e=" h o r i z o n t a l "

i t e m x=" 3 6 "

i t e m y=" 2 5 "

s e p x=" 5 "

s e p y=" 0 "

s _ m e n u h o r C e n t r a d o ">

24 25 26 27 28 29 30 31 32 33

<x s l : v a r i a b l e

name=" t o t a l _ p a g "

s e l e c t =" / i t e m s / p a g i n a s / p a g i n a

[ 1 ] / @ t o t a l " /> <x s l : v a r i a b l e name=" p r i m e r a _ p a g " s e l e c t =" / i t e m s / p a g i n a s /

p a g i n a [ 1 ] / @numero " /> <x s l : v a r i a b l e name=" u l t i m a _ p a g " s e l e c t =" / i t e m s / p a g i n a s / p a g i n a

[ l a s t ( ) ] / @numero " /> <x s l : v a r i a b l e name="num_pag">

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission /

p r i m e r a V e z = 'S ' ">1</ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

of

s e l e c t =" d o c ( ' i n p u t : d a t

instance

') /

s u b m i s s i o n / p a g " /> </ x s l : o t h e r w i s e> </ x s l : c h o o s e>

B.3. Directorio de gestin del canal de retorno

219

34 35 36 37 38 39 40 41

</ x s l : v a r i a b l e>

< x s l : c h o o s e> <x s l : w h e n t e s t =" $ p r i m e r a _ p a g = ' 1 ' "> name=" c u r s o r x "> <x s l : v a l u e

<x s l : a t t r i b u t e

of

s e l e c t ="

number ( $ num_pag </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : a t t r i b u t e

1 ) " /> </ x s l : a t t r i b u t e>

name=" c u r s o r x "> <x s l : v a l u e

of

s e l e c t ="

number ( $ num_pag

$ primera_pag

1 ) " /> </

42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58

<

menuitem

x s l : a t t r i b u t e> img=" i m a g e s / b o t _ m a t r i x _ o f f . png " i m g f o c u s="

i m a g e s / b o t _ m a t r i x _ o n . png "

s t r =" &#60;&#60; " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e>

<x s l : a p p l y

templates

s e l e c t =" p a g i n a s / p a g i n a " />

<x s l : i f

t e s t =" $ u l t i m a _ p a g

!=

$ total_pag

and

$ ultima_pag

!=

<

menuitem
' 1 ' "> >

img=" i m a g e s / b o t _ m a t r i x _ o f f . png " s t r =" &#62;&#62; " />

i m g f o c u s=" i m a g e s

/ b o t _ m a t r i x _ o n . png "

</

menu container
</ > 250 "

</ x s l : i f >

<! <

container

Contenedor

del

men

vertical

( listado

de

empresas )

>
p o s y="

i d="c_menu"

a l p h a=" 2 5 5 "

s i z e y =" 3 0 0 "

s i z e x =" 5 1 0 "

p o s x=" 3 0 "

v i s =" 1 ">

< x s l : c h o o s e> <x s l : w h e n <

menu
<

t e s t =" c o u n t ( / / e m p r e s a ) ! = 0 "> t y p e=" v e r t i c a l " i t e m x=" 5 1 0 " p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 1 0 " s e p y=" 0 " s i z e y= s t y l e ="

" 275 "

i t e m y=" 2 5 "

s e p x=" 0 "

59 60 61 62 63 64 65 66 67 68 69 70 71

menuitem action
<

s _ m e n u v e r E m p r e s a s "> s t r ="

R e a l i z a r

nueva

bsqueda

"

>

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server <x s l : v a r i a b l e input:dat name=" u r l "

s e l e c t =" d o c ( '

instance instance instance instance instance instance

' ) / s u b m i s s i o n / u r l " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" u r l F i n "

' ) / s u b m i s s i o n / u r l F i n " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r i m e r a V e z "

' ) / s u b m i s s i o n / p r i m e r a V e z " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" s e c t o r "

' ) / s u b m i s s i o n / s e c t o r " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r o v i n c i a "

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p a g "

' ) / s u b m i s s i o n / p a g " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" c o n c a t ( '

<x s l : v a r i a b l e hidepage (

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / e m p r e s a s _ f o r m u l a r i o ) ' ) " />

72 73 74 75 76

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e

name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( '

<x s l : v a r i a b l e hidepage (

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

220

Apndice B. Ficheros desarrollados para la aplicacin

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / e m p r e s a s ? p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; s e c t o r = ' , $ s e c t o r , ' & amp ; u r l = ' , $ u r l , ' & amp ; u r l F i n = ' , $ u r l F i n , ' & amp ; p a g = ' , $ pag , ' ) ' ) " />

77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

</

action menuitem
</ <

>

>

<x s l : a p p l y

templates
s t r ="

s e l e c t =" e m p r e s a s / e m p r e s a " />

<

menuitem action

R e a l i z a r

nueva

bsqueda

"

>

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server <x s l : v a r i a b l e input:dat name=" u r l "

s e l e c t =" d o c ( '

instance instance instance instance instance instance

' ) / s u b m i s s i o n / u r l " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" u r l F i n "

' ) / s u b m i s s i o n / u r l F i n " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r i m e r a V e z "

' ) / s u b m i s s i o n / p r i m e r a V e z " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" s e c t o r "

' ) / s u b m i s s i o n / s e c t o r " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r o v i n c i a "

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p a g "

' ) / s u b m i s s i o n / p a g " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" c o n c a t ( '

<x s l : v a r i a b l e hidepage (

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / e m p r e s a s _ f o r m u l a r i o ) ' ) " />

98 99 100 101 102

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e

name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( '

<x s l : v a r i a b l e hidepage (

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / e m p r e s a s ? p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; s e c t o r = ' , $ s e c t o r , ' & amp ; u r l = ' , $ u r l , ' & amp ; u r l F i n = ' , $ u r l F i n , ' & amp ; p a g = ' , $ pag , ' ) ' ) " />

103 104 105 106 107 108 109 110 111 112

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

</

</ x s l : w h e n>

action menuitem menu


</ </ > =" 9 0 " con los para

>

>

< x s l : o t h e r w i s e> < s t y l e =" s_body2 " p o s x=" 0 " se de una ha p o s y=" 2 5 " encontrado s i z e x =" 5 1 0 " ninguna sizey

text

s c r o l l =" 0 ">No parmetros realizar

empresa Pulse "

bsqueda nueva

seleccionados . >

113

<

menu

O K"

b s q u e d a .</ p o s y=" 1 1 5 "

t y p e=" v e r t i c a l "

p o s x=" 0 "

s i z e x =" 5 1 0 " s e p y=" 0 "

text

s i z e y =" 2 7 "

i t e m x=" 5 1 0 "

i t e m y=" 2 7 "

s e p x=" 0 "

s t y l e =" s _ m e n u v e r C u r s o s ">

B.3. Directorio de gestin del canal de retorno

221

114 115 116 117 118 119 120 121 122 123 124 125 126

<

menuitem action
<

s t r ="

R e a l i z a r

nueva

bsqueda

"

>

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server <x s l : v a r i a b l e input:dat name=" u r l "

s e l e c t =" d o c ( '

instance instance instance instance instance instance

' ) / s u b m i s s i o n / u r l " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" u r l F i n "

' ) / s u b m i s s i o n / u r l F i n " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r i m e r a V e z "

' ) / s u b m i s s i o n / p r i m e r a V e z " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" s e c t o r "

' ) / s u b m i s s i o n / s e c t o r " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r o v i n c i a "

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p a g "

' ) / s u b m i s s i o n / p a g " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" c o n c a t ( '

<x s l : v a r i a b l e hidepage (

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / e m p r e s a s _ f o r m u l a r i o ) ' ) " />

127 128 129 130 131

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e

name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( '

<x s l : v a r i a b l e hidepage (

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / e m p r e s a s ? p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; s e c t o r = ' , $ s e c t o r , ' & amp ; u r l = ' , $ u r l , ' & amp ; u r l F i n = ' , $ u r l F i n , ' & amp ; p a g = ' , $ pag , ' ) ' ) " />

132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

</

</ x s l : o t h e r w i s e>

action menuitem menu


</ </ >

>

>

</

</ x s l : t e m p l a t e>

container page
</ >

</ x s l : c h o o s e> >

<x s l : t e m p l a t e <

menuitem

match=" p a g i n a s / p a g i n a "> img=" i m a g e s / b o t _ m a t r i x _ o f f . png " i m g f o c u s=" i m a g e s /

b o t _ m a t r i x _ o n . png "> name=" s t r "> <x s l : v a l u e

<x s l : a t t r i b u t e

of

s e l e c t =" @numero " /> </

x s l : a t t r i b u t e> <x s l : i f t e s t =" @ a c t u a l = ' 0 ' "> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) / r e q u e s t /

<x s l : v a r i a b l e server

n a m e " />
name=" s e r v P o r t " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) /

<x s l : v a r i a b l e

request / server <x s l : v a r i a b l e

p o r t " />
s e l e c t =" c o n c a t ( ' h i d e p a g e (

name=" comun "

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / e m p r e s a s ? p r o v i n c i a= & amp ; s e c t o r= & amp ; p r i m e r a V e z= N &amp ; u r l = ' , @ j s e s s i o n i d , ' & amp ; u r l F i n = ' , @ f i n u r l , ' & amp ; p a g = ' , @numero , ' ) ' ) " />

151 152

<x s l : a t t r i b u t e <x s l : v a l u e

name=" o n o v e r "> s e l e c t =" $ comun " />

of

222

Apndice B. Ficheros desarrollados para la aplicacin

153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176

</ x s l : a t t r i b u t e>

</

</ x s l : t e m p l a t e>

menuitem

</ x s l : i f > >

<x s l : t e m p l a t e < >

menuitem

match=" e m p r e s a s / e m p r e s a ">

<x s l : a t t r i b u t e <x s l : v a l u e

name=" s t r "> s e l e c t =" c o n c a t ( nombre , ' . ' , p r o v i n c i a ) " /> Sector: ' , sector , ' .

of

Provincia: </ x s l : a t t r i b u t e>

<

action

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) / r e q u e s t /

<x s l : v a r i a b l e server

n a m e " />
name=" s e r v P o r t " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) /

<x s l : v a r i a b l e

request / server <x s l : v a r i a b l e <x s l : v a r i a b l e <x s l : v a r i a b l e

p o r t " />
s e l e c t =" i d P r o v i n c i a " /> s e l e c t =" i d E m p r e s a " />

name=" i d P r o v i n c i a " name=" i d E m p r e s a " name=" u r l "

s e l e c t =" d o c ( ' i n p u t : d a t

instance

') /

s u b m i s s i o n / u r l " /> <x s l : v a r i a b l e name=" u r l F i n " s e l e c t =" d o c ( ' i n p u t : d a t

instance

') /

s u b m i s s i o n / u r l F i n " /> <x s l : v a r i a b l e name=" p r i m e r a V e z " s e l e c t =" d o c ( ' i n p u t : d a t

instance
') /

' ) / s u b m i s s i o n / p r i m e r a V e z " /> <x s l : v a r i a b l e name=" s e c t o r " s e l e c t =" d o c ( ' i n p u t : d a t

instance

s u b m i s s i o n / s e c t o r " /> <x s l : v a r i a b l e name=" p r o v i n c i a " s e l e c t =" d o c ( ' i n p u t : d a t

instance
') /

')

/ s u b m i s s i o n / p r o v i n c i a " /> <x s l : v a r i a b l e name=" p a g " s e l e c t =" d o c ( ' i n p u t : d a t

instance

s u b m i s s i o n / p a g " /> <x s l : a t t r i b u t e name=" a c t "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e (

<x s l : v a r i a b l e

showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / e m p r e s a s _ d e t a l l e ? p r o v i n c i a = ' ,$ p r o v i n c i a , '& amp ; i d E m p r e s a = ' , $ i d E m p r e s a , ' & amp ; i d P r o v i n c i a = ' , $ i d P r o v i n c i a , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; s e c t o r = ' , $ s e c t o r , ' & amp ; u r l = ' , $ u r l , ' & amp ; u r l F i n = ' , $ u r l F i n , ' & amp ; p a g = ' , $ pag , ' ) ' ) " />

177 178 179 180

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e (

<x s l : v a r i a b l e

showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps / 1 6 0 0 3 / 8 0 0 / r c / e m p r e s a s ? p r o v i n c i a = ' , $ p r o v i n c i a , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; s e c t o r = ' , $ s e c t o r , ' & amp ; u r l = ' , $ u r l , ' & amp ; u r l F i n = ' , $ u r l F i n , ' & amp ; p a g = ' , $ pag , ' ) ' ) " />

181 182 183 184 185 186 187 188

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</

</ x s l : t e m p l a t e>

action menuitem
</

</ x s l : a t t r i b u t e> >

>

</ x s l : s t y l e s h e e t >

empresas_detalle.xpl

1 2

<? xml

<p : c o n f i g

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

encoding

="UTF

8" ?>
x m l n s : t m g=" h t t p : x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f /

/ /www . t m i r a . com/ o p s / p r o c e s s o r s "

B.3. Directorio de gestin del canal de retorno

223

pipeline "

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

<p : p a r a m

type

=" i n p u t "

name=" i n s t a n c e " />

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : r e q u e s t "> name=" c o n f i g "> stream

config

XMLSchema">

type

=" x s : a n y U R I "

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 /

< i n c l u d e>/ r e q u e s t / s e r v e r

</

</ p : i n p u t> <p : o u t p u t

config

< i n c l u d e>/ r e q u e s t / s e r v e r >

name</ i n c l u d e> p o r t</ i n c l u d e>

name=" d a t a "

i d=" s e r v e r " />

</ p : p r o c e s s o r>

<!

Procesador

para

generar

el

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a "

config

necesario

para

el

mtodo

HTTP

>

h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config method action


< <

version

=" 2 . 0 ">

match=" / ">

>u r l

h t t p</ o f

>

method

>

<x s l : v a l u e

s e l e c t =" c o n c a t ( ' h t t p : / /www .

j u n t a d e a n d a l u c i a . e s / s e r v i c i o a n d a l u z d e e m p l e o / web / w e b s a e / d e t a l l e E m p r e s a . do ? i d E m p r e s a = ' , / s u b m i s s i o n / i d E m p r e s a , ' & amp ; i d P r o v i n c i a = ' , / s u b m i s s i o n /

26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

action cookies cookies timeout timeout contenttype contenttype encoding encoding config
i d P r o v i n c i a ) " /> > </ < < < < >y e s</ >4 0</ > > > t e x t / h t m l</ 8 </ >u t f > > i d=" m e t o d o _ h t t p " />

>

</ p : p r o c e s s o r>

<!

Mtodo GET

(HTTP)

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

> h t t p ">
h r e f="#m e t o d o _ h t t p " /> i d=" p a g e " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

<!

Seleccin

de

informacin

de

inters

en

el

fichero

H T M L

recibido

>

<p : p r o c e s s o r

name=" o x f : u n s a f e

x s l t ">

<p : i n p u t <i t e m s

name=" c o n f i g "> x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

x s l : v e r s i o n =" 2 . 0 ">

< t i t u l o> <x s l : f o r

e a c h

s e l e c t =" / / h4 / s p a n ">

<x s l : i f

t e s t =" p o s i t i o n ( ) =1">

<x s l : v a l u e </ x s l : i f > </ x s l : f o r </ t i t u l o>

o f

s e l e c t =" t e x t ( ) " />

e a c h>

<x s l : f o r

e a c h

s e l e c t =" / / f i e l d s e t [ @ c l a s s = ' f o r m u l a r i o ' ] ">

< t e x t o s> <x s l : f o r

e a c h

s e l e c t =" . / d i v / l a b e l ">

224

Apndice B. Ficheros desarrollados para la aplicacin

60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

< t e x t o> <x s l : i f t e s t =" number ( p o s i t i o n ( ) mod 2 ) =1">

< x s l : t e x t> </ x s l : i f > < x s l : c h o o s e> <x s l : w h e n

</ x s l : t e x t>

t e s t =" c o u n t ( . / / a ) =0">

<x s l : v a l u e

o f

s e l e c t =" n o r m a l i z e

s p a c e ( t e x t

( ) ) " /> </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : f o r

e a c h

s e l e c t =" . / /

<x s l : i f

t e s t =" n o r m a l i z e

"> s p a c e ( t e x t ( ) ) s p a c e

! = ' ' "> <x s l : v a l u e

o f

s e l e c t =" n o r m a l i z e

( t e x t ( ) ) " /> <x s l : i f t e s t =" p o s i t i o n ( ) != l a s t ( ) "> </ x s l : t e x t>

< x s l : t e x t> ; </ x s l : i f > </ x s l : i f > </ x s l : f o r

e a c h>

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ t e x t o> </ x s l : f o r </ t e x t o s> </ x s l : f o r

e a c h>

e a c h>

</ i t e m s> </ p : i n p u t> <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t a " h r e f="#p a g e " /> i d=" r e s u l t " />

</ p : p r o c e s s o r>

<!

Generacin

del

fichero

X M L

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t

name=" o x f : x s l t "> name=" c o n f i g " name=" d a t a " name=" d a t h r e f=" e m p r e s a s _ d e t a l l e . x s l " />

h r e f="#r e s u l t " /> h r e f="#i n s t a n c e " />

i n s t a n c e "

name=" s e r v e r " name=" d a t a "

h r e f="#s e r v e r " /> i d=" l i s t " />

</ p : p r o c e s s o r>

<!

Serializacin

del

fichero

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : x m l

X M L > s e r i a l i z e r ">

</

</ p : i n p u t> <p : i n p u t

config contenttype encoding encoding version version config


name=" c o n f i g "> > < < < >u t f 8 </ > 1 . 0</ > > name=" d a t a "

> a p p l i c a t i o n / xml</ >

contenttype

>

h r e f="# l i s t " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

empresas_detalle.xsl

1 2

<? xml

<x s l : s t y l e s h e e t

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 1 . 0 ">

encoding

=" u t f

8 " ?>

x m l n s : x a l a n=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

B.3. Directorio de gestin del canal de retorno

225

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />

<x s l : t e m p l a t e < >

page help
< <! <

match=" i t e m s ">

>c _ h e l p</

help

>

</

container image image image image image image container


" 214 " < 118 " < < < < < 118 "

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=

i d=" c _ i n d i c e _ l a t e r a l "

v i s =" 1 "

s i z e x =" 1 1 8 "

s i z e y =" 1 6 8 ">

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png " s i z e y =" 2 8 "> </ >

p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ >

image

p o s y=" 0 "

p o s x=" 0 "

s i z e x ="

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o n . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ w e b _ o f f . png " s i z e y =" 2 8 "> </ >

>

image

image image image image

p o s y=" 2 8 "

p o s x=" 0 "

p o s y=" 5 6 "

p o s x=" 0 "

p o s y=" 8 4 "

p o s x=" 0 "

p o s y=" 1 1 2 "

p o s x=" 0 "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x ="

<! <

</

container text container


214 " <

Contenedor

del

ttulo

>
v i s =" 1 " a l p h a=" 0 " p o s x=" 3 0 " p o s y="

i d=" c _ t e x t o _ t i t u l o "

s i z e x =" 5 2 0 "

s i z e y =" 2 6 0 "> p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 "

s t y l e =" s_body "

s c r o l l =" 0 "> <x s l : v a l u e >

of

s e l e c t =" t i t u l o " /> </

text

s i z e y =" 2 5 " >

<! <

container text
<

Contenedor

del

texto

de

informacin v i s =" 1 "

>
p o s x=" 3 0 " p o s y=" 2 3 4 "

i d=" c _ t e x t o G r a l " s i z e y =" 2 6 0 ">

a l p h a=" 0 "

s i z e x =" 5 2 0 "

s t y l e =" s _ b o d y D e t a l l e " s c r o l l =" 1 ">

p o s x=" 0 "

p o s y=" 0 "

s i z e x =" 5 2 0 "

s i z e y=

" 240 "

<x s l : f o r

<x s l : v a l u e

e a c h s e l e c t =" t e x t o s [ 1 ] / t e x t o "> o f s e l e c t =" t e x t ( ) " />

<

x s l : t e x t>

</ x s l : t e x t>

30 31 32 33 34 35 36

</ x s l : f o r

e a c h>

< x s l : t e x t> Datos de contacto:

</ x s l : t e x t> <x s l : f o r

<x s l : v a l u e

e a c h s e l e c t =" t e x t o s [ 2 ] / t e x t o "> o f s e l e c t =" t e x t ( ) " />

<

x s l : t e x t>

</ x s l : t e x t>

37 38 39 40 41 42 43 44

</

text container
</ >

</ x s l : f o r

e a c h>

>

<! <

container menu
< > <

Contenedor

del

men

>
a l p h a=" 0 " p o s x=" 1 4 5 " p o s y=" 4 9 0 "

i d="c_menu"

v i s =" 1 "

s i z e x =" 2 9 0 "

s i z e y =" 4 5 "> p o s x=" 0 " p o s y=" 0 " s i z e x =" 2 9 0 " s i z e y =" 4 5 "

t y p e=" h o r i z o n t a l "

i t e m x=" 1 3 0 "

i t e m y=" 4 5 "

s e p x=" 3 0 "

s e p y=" 0 "

s t y l e =" s_menuhor "

45 46

menuitem action
<

s t r =" V o l v e r " > k e y="O K">

226

Apndice B. Ficheros desarrollados para la aplicacin

47 48 49 50 51 52 53 54 55 56 57 58 59

<x s l : v a r i a b l e

name=" s e r v I p "

s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server <x s l : v a r i a b l e input:dat

p o r t " />
s e l e c t =" d o c ( ' ' ) / s u b m i s s i o n / p a g " /> s e l e c t =" d o c ( '

name=" p a g "

instance instance instance instance instance instance instance instance

<x s l : v a r i a b l e input:dat

name=" p r o v "

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" s e c t o r "

' ) / s u b m i s s i o n / s e c t o r " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" u r l "

' ) / s u b m i s s i o n / u r l " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" u r l F i n "

' ) / s u b m i s s i o n / u r l F i n " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r i m e r a V e z "

' ) / s u b m i s s i o n / p r i m e r a V e z " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" i d P r o v i n c i a "

' ) / s u b m i s s i o n / i d P r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" i d E m p r e s a "

' ) / s u b m i s s i o n / i d E m p r e s a " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e (

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / apps /1 600 3/8 00/ r c / e m p r e s a s ? p r o v i n c i a = ' ,$ prov , ' & amp ; s e c t o r = ' , $ s e c t o r , ' & amp ; u r l = ' , $ u r l , ' & amp ; u r l F i n = ' , $ u r l F i n , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; p a g = ' , $ pag , ' ) ' ) " />

60 61 62 63 64

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e

name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e (

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / apps /16003/800/ r c / e m p r e s a s _ d e t a l l e ? p r o v i n c i a = ' , $ p r o v , ' & amp ; s e c t o r = ' , $ s e c t o r , ' & amp ; u r l = ' , $ u r l , ' & amp ; u r l F i n = ' , $ u r l F i n , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; p a g = ' , $ pag , ' & amp ; i d E m p r e s a = ' , $ i d E m p r e s a , ' & amp ; i d P r o v i n c i a = ' , $ i d P r o v i n c i a , ' ) ' ) " />

65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</

<

action menuitem menuitem action


</ <

</ x s l : a t t r i b u t e> >

>

s t r =" Nueva k e y="O K">

bsqueda " >

<x s l : v a r i a b l e

name=" s e r v I p "

s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server <x s l : v a r i a b l e input:dat

p o r t " />
s e l e c t =" d o c ( ' ' ) / s u b m i s s i o n / p a g " /> s e l e c t =" d o c ( '

name=" p a g "

instance instance instance instance instance instance

<x s l : v a r i a b l e input:dat

name=" p r o v "

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" s e c t o r "

' ) / s u b m i s s i o n / s e c t o r " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" u r l "

' ) / s u b m i s s i o n / u r l " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" u r l F i n "

' ) / s u b m i s s i o n / u r l F i n " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r i m e r a V e z "

' ) / s u b m i s s i o n / p r i m e r a V e z " />

B.3. Directorio de gestin del canal de retorno

227

80 81 82 83 84

<x s l : v a r i a b l e input:dat

name=" i d P r o v i n c i a "

s e l e c t =" d o c ( '

instance instance

' ) / s u b m i s s i o n / i d P r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" i d E m p r e s a "

' ) / s u b m i s s i o n / i d E m p r e s a " />

<x s l : a t t r i b u t e <x s l : v a l u e

name=" a c t "> s e l e c t =" c o n c a t ( ' h i d e p a g e (

of

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps / 1 6 0 0 3 / 8 0 0 / r c / e m p r e s a s _ f o r m u l a r i o ) ' ) " />

85 86 87 88

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e

name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e (

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / apps /16003/800/ r c / e m p r e s a s _ d e t a l l e ? p r o v i n c i a = ' , $ p r o v , ' & amp ; s e c t o r = ' , $ s e c t o r , ' & amp ; u r l = ' , $ u r l , ' & amp ; u r l F i n = ' , $ u r l F i n , ' & amp ; p r i m e r a V e z = ' , $ p r i m e r a V e z , ' & amp ; p a g = ' , $ pag , ' & amp ; i d E m p r e s a = ' , $ i d E m p r e s a , ' & amp ; i d P r o v i n c i a = ' , $ i d P r o v i n c i a , ' ) ' ) " />

89 90 91 92 93 94 95 96 97 98 99

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</

</ x s l : t e m p l a t e>

action menuitem menu container page


</ </ </ > </ > >

</ x s l : a t t r i b u t e> >

>

</ x s l : s t y l e s h e e t >

B.3.4. Formacin para el empleo


cursos_formulario.xpl

1 2

<? xml

<p : c o n f i g

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

encoding

="UTF

8" ?>
x m l n s : t m g=" h t t p : x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f /

/ /www . t m i r a . com/ o p s / p r o c e s s o r s " pipeline "

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

<p : p a r a m

type

=" i n p u t "

name=" i n s t a n c e " />

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : r e q u e s t "> name=" c o n f i g "> stream

config

XMLSchema">

type

=" x s : a n y U R I "

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 /

< i n c l u d e>/ r e q u e s t / s e r v e r

</

</ p : i n p u t> <p : o u t p u t

config

< i n c l u d e>/ r e q u e s t / s e r v e r >

name</ i n c l u d e> p o r t</ i n c l u d e>

name=" d a t a "

i d=" s e r v e r " />

</ p : p r o c e s s o r>

<!

Procesador

para

generar

el

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a "

config

necesario

para

el

mtodo

HTTP

>

h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e

version

=" 2 . 0 ">

match=" / ">

228

Apndice B. Ficheros desarrollados para la aplicacin

22 23 24 25 26

<

config method cookies action


> < < <

>u r l

h t t p</

>y e s</

>

method cookies
>

>

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( ' h t t p : / /www .

j u n t a d e a n d a l u c i a . e s / s e r v i c i o a n d a l u z d e e m p l e o / web / websae / p o r t a l / e s / empleo / f o r m a c i o n / ofertasFPE / ' , / s u b m i s s i o n / t i p o C u r s o T e x t , ' / busquedaAvanzada . html ?

27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

action timeout timeout contenttype contenttype encoding encoding config


t i c k e t =n o c a s ' ) " /> > </ < < < >4 0</ > > t e x t / h t m l</ 8 </ >u t f > > i d=" m e t o d o _ h t t p " />

>

</ p : p r o c e s s o r>

<!

Mtodo GET

(HTTP)

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

> h t t p ">
h r e f="#m e t o d o _ h t t p " /> i d=" p a g e " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

<!

Recupera

la

lista

de

municipios

>

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" o x f : i d e n t i t y "> name=" d a t a " name=" d a t a " h r e f=" m u n i c i p i o s . xml " /> i d=" m u n i c i p i o s x m l " />

</ p : p r o c e s s o r>

<!

Seleccin

de

informacin

de

inters

en

el

fichero

H T M L

recibido

>

<p : p r o c e s s o r <p : i n p u t <i t e m s

name=" o x f : u n s a f e name=" c o n f i g ">

x s l t ">
xsl:version

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

=" 2 . 0 "> < m u n i c i p i o s> <x s l : f o r

e a c h

s e l e c t =" d o c ( ' i n p u t : m u n i c i p i o s x m l ' ) / p r o v i n c i a s /

p r o v i n c i a [ @cp=d o c ( ' i n p u t : d a t p r o v i n c i a ] ">

i n s t a n c e

' ) / submission /

56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

<x s l : f o r

e a c h

s e l e c t =" . / o p t i o n ">

<m u n i c i p i o> <nombre> <x s l : v a l u e

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e

s p a c e (

t e x t ( ) ) , ' , ' , ' ' ) " /> </ nombre> < v a l o r> <x s l : v a l u e </ v a l o r> </ m u n i c i p i o> </ x s l : f o r </ x s l : f o r

o f

s e l e c t =" @ v a l u e " />

e a c h> e a c h>

</ m u n i c i p i o s> < f a m i l i a s> <x s l : f o r

e a c h

s e l e c t =" / / s e l e c t [ @id = ' f a m i l i a ' ] / o p t i o n ">

< f a m i l i a> <nombre> <x s l : v a l u e

o f

s e l e c t =" t r a n s l a t e ( n o r m a l i z e

s p a c e ( t e x t

( ) ) , ' , ' , ' ' ) " /> </ nombre> < v a l o r> <x s l : v a l u e </ v a l o r>

o f

s e l e c t =" . / @ v a l u e " />

B.3. Directorio de gestin del canal de retorno

229

77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109

</ f a m i l i a> </ x s l : f o r </ f a m i l i a s> </ i t e m s> </ p : i n p u t> <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t h r e f="#p a g e " /> h r e f="#i n s t a n c e " /> h r e f="#m u n i c i p i o s x m l " />

e a c h>

i n s t a n c e "

name=" m u n i c i p i o s x m l " name=" d a t a "

i d=" r e s u l t " />

</ p : p r o c e s s o r>

<!

Generacin

del

fichero

X M L

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t

name=" o x f : x s l t "> name=" c o n f i g " name=" d a t a " name=" d a t h r e f=" c u r s o s _ f o r m u l a r i o . x s l " />

h r e f="#r e s u l t " /> h r e f="#i n s t a n c e " />

i n s t a n c e "

name=" s e r v e r " name=" d a t a "

h r e f="#s e r v e r " /> i d=" l i s t " />

</ p : p r o c e s s o r>

<!

Serializacin

del

fichero

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : x m l

X M L > s e r i a l i z e r ">

</

</ p : i n p u t> <p : i n p u t

config contenttype encoding encoding version version config


name=" c o n f i g "> > < < < >u t f 8 </ > 1 . 0</ > > name=" d a t a "

> a p p l i c a t i o n / xml</ >

contenttype

>

h r e f="# l i s t " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

cursos_formulario.xsl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

<? xml

<x s l : s t y l e s h e e t

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 1 . 0 ">

encoding

="UTF

8" ?>

x m l n s : x a l a n=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />

<x s l : t e m p l a t e < >

page help
< <! <

match=" i t e m s ">

>c _ h e l p</

help

>

container image image image image image image


" 214 " < < < < < <

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=

i d=" c _ i n d i c e _ l a t e r a l " s i z e x =" 1 1 8 "

v i s =" 1 "

s i z e y =" 1 6 8 ">

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png " s i z e y =" 2 8 "> </ >

118 "

p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ >

image

p o s y=" 0 "

p o s x=" 0 "

s i z e x ="

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o n . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ w e b _ o f f . png " s i z e y =" 2 8 "> </ >

118 "

image

image image image image

p o s y=" 2 8 "

p o s x=" 0 "

p o s y=" 5 6 "

p o s x=" 0 "

p o s y=" 8 4 "

p o s x=" 0 "

p o s y=" 1 1 2 "

p o s x=" 0 "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x ="

230

Apndice B. Ficheros desarrollados para la aplicacin

18 19 20 21 22 23 24 25 26 27

</

container
=" 5 2 0 " <

>

<! <

container text
<

Contenedor

del

formulario v i s =" 1 "

de

bsqueda

>
p o s y=" 2 3 3 " sizex

i d=" c_form " s i z e y =" 3 3 0 ">

a l p h a=" 0 "

p o s x=" 3 0 "

s t y l e =" s_body "

p o s x=" 0 " de

p o s y=" 0 " para

s i z e x =" 5 2 0 " el e m p l e o</

s c r o l l =" 0 ">C u r s o s

formacin

form
< <

text

s i z e y =" 2 5 " >

f o c u s=" f _ t i p o C u r s o "

p o s x=" 0 "

p o s y=" 3 0 "

s i z e x =" 5 2 0 "

s i z e y ="

300 "

s t y l e =" s_menu_form ">

text form_list
=" 2 5 " 175 "

s t r =" T i p o

de

curso "

p o s x=" 0 "

s t y l e =" s_body_form "> </ i d=" f _ t i p o C u r s o "

v a l=" 0 0 0 0 "

text

p o s y=" 0 " >

s i z e x =" 1 5 5 "

sizey

t y p e=" h a r r o w s "

p o s x=" up="

p o s y=" 0 "

s i z e x =" 1 5 0 "

s i z e y =" 2 5 "

down=" f _ i n i c i o "

f _ b u s c a r ">

28

<x s l : a t t r i b u t e input:dat

name=" o p t i o n s "> <x s l : v a l u e

of

s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / t i p o C u r s o " /> </

x s l : a t t r i b u t e>

29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission /

t i p o C u r s o = 'PRV' "> <x s l : a t t r i b u t e name=" o p t i o n s _ t e x t s "> P r e v i s t o s</

x s l : a t t r i b u t e> </ x s l : w h e n> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission /

t i p o C u r s o = 'PUB' "> <x s l : a t t r i b u t e name=" o p t i o n s _ t e x t s ">C o n v o c a d o s</

x s l : a t t r i b u t e> </ x s l : w h e n> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission /

t i p o C u r s o = 'AMP' "> <x s l : a t t r i b u t e name=" o p t i o n s _ t e x t s ">P l a z o A m p l i a d o</

x s l : a t t r i b u t e> </ x s l : w h e n>

</

<

<

form_list text form_list


155 " 25 "

</ x s l : c h o o s e> >

s t r =" I n i c i o

programado

en "

p o s x=" 0 "

s i z e y =" 2 5 "

s t y l e =" s_body_form "> </ o p t i o n s="

i d=" f _ i n i c i o "

text

p o s y=" 3 0 " >

s i z e x ="

1 ,01 ,02 ,03 ,04 ,05 ,06 ,07 ,08 ,09 ,10 ,11 ,12 "

o p t i o n s _ t e x t s="

Cualquier

mes , E n e r o , F e b r e r o , Marzo , A b r i l , Mayo , J u n i o , J u l i o , v a l=" 0 0 0 0 " s i z e y =" >

Agosto , S e p t i e m b r e , Octubre , Noviembre , D i c i e m b r e " t y p e=" h a r r o w s " p o s x=" 1 7 5 " p o s y=" 3 0 "

s i z e x =" 1 5 0 "

up=" f _ t i p o C u r s o "

down=" f _ m u n i c i p i o "> </

44 45 46 47 48 49 50 51 52 53 54 55 56 57 58

<

<

text form_list
25 " 175 "

form_list

s t r =" M u n i c i p i o "

p o s x=" 0 "

s t y l e =" s_body_form "> </ i d=" f _ m u n i c i p i o "

v a l=" 0 0 0 0 "

text

p o s y=" 6 0 " >

s i z e x =" 1 5 5 "

s i z e y ="

t y p e=" h a r r o w s "

p o s x="

p o s y=" 6 0 "

s i z e x =" 3 3 0 " name=" down ">

s i z e y =" 2 5 "

up=" f _ i n i c i o ">

<x s l : a t t r i b u t e

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission

/ t i p o C u r s o ! = 'AMP' "> < x s l : t e x t> f _ c o l e c t i v o</ x s l : t e x t> </ x s l : w h e n> < x s l : o t h e r w i s e> < x s l : t e x t>f _ c o d i g o</ x s l : t e x t > </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : f o r name=" o p t i o n s "> s e l e c t =" m u n i c i p i o s / m u n i c i p i o ">

each

B.3. Directorio de gestin del canal de retorno

231

59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77

<x s l : v a l u e <x s l : i f

of

s e l e c t =" . / v a l o r " />

t e s t =" p o s i t i o n ( ) != l a s t ( ) ">

< x s l : t e x t> ,</ x s l : t e x t> </ x s l : i f > </ x s l : f o r

e a c h>
name=" o p t i o n s _ t e x t s ">

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : f o r

e a c h s e l e c t =" m u n i c i p i o s / m u n i c i p i o "> <x s l : v a l u e o f s e l e c t =" . / nombre " />


<x s l : i f t e s t =" p o s i t i o n ( ) != l a s t ( ) "> < x s l : t e x t> ,</ x s l : t e x t> </ x s l : i f >

</ x s l : f o r

e a c h>

</

form_list
<

</ x s l : a t t r i b u t e> >

<x s l : i f

t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission / tipoCurso

! = 'AMP' "> s t r =" C o l e c t i v o " p o s x=" 0 " p o s y=" 9 0 " >

<

text form_list
=" 2 5 " otros

s t y l e =" s_body_form "> </ i d=" f _ c o l e c t i v o "

o p t i o n s=" o p t i o n s _ t e x t s=" Todos ( g e n e r a l ) , Desempleados los ( y

text

s i z e x =" 1 5 5 "

sizey

1 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 "
c o l e c t i v o s , Desempleados j v e n e s ) , Desempleados colectivos

( minoras

t n i c a s / migrantes ( (

d e s f a v o r e c i d o s ) , Desempleados

m i n u s v l i d o s ) , Desempleados

( m u j e r e s ) , Formadores

d e s e m p l e a d o s / o c u p a d o s ) , I n m i g r a n t e s , Ocupados pymes de ec . social y autnomos ) , Plan p o s x=" 1 7 5 "

( trab .

memta , P r o t e j a " p o s y=" 9 0 " s i z e x ="

v a l=" 0 0 0 0 "

t y p e=" h a r r o w s "

78 79 80

<

<

form_list text form_list


330 " 155 " =" 2 5 "

s i z e y =" 2 5 " >

up=" f _ m u n i c i p i o "

down=" f _ p r a c t i c a s "> </

s t r =" P r c t i c a s s i z e y =" 2 5 "

empresas "

p o s x=" 0 "

p o s y=" 1 2 0 " >

s t y l e =" s_body_form "> </ o p t i o n s="

i d=" f _ p r a c t i c a s " las

1 , S i

text

s i z e x ="

, No" v a l=" 0 0 0 0 "

o p t i o n s _ t e x t s=" Todas

o p c i o n e s , S , No" p o s y=" 1 2 0 "

t y p e=" h a r r o w s "

p o s x=" 1 7 5 "

s i z e x =" 1 5 0 "

up=" f _ c o l e c t i v o "

down=" f _ f a m i l i a "> </

81 82 83 84 85

</ x s l : i f >

form_list

sizey >

<x s l : i f

t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission / tipoCurso

= 'AMP' "> <

<

text edit_text
155 " 175 "

s t r =" C d i g o

de

la

oferta "

p o s x=" 0 "

p o s y=" 9 0 " >

s i z e y =" 2 5 "

s t y l e =" s_body_form "> </ v a l=" "

i d=" f _ c o d i g o "

c o l e d i t ="# f f f f f f " s i z e y =" 2 5 "

text

s i z e x ="

p o s x="

p o s y=" 9 0 "

s i z e x =" 3 3 0 "

down=" f _ f a m i l i a "

t y p e=" n u m e r i c "> </

86 87 88 89 90 91 92 93 94 95 96 97 98 99

</ x s l : i f >

edit_text text
>

up=" f _ m u n i c i p i o " >

<

<

text form_list
155 " "

s t r =" F a m i l i a s i z e y =" 2 5 "

profesional "

p o s x=" 0 "

p o s y=" 1 5 0 "

s i z e x ="

s t y l e =" s_body_form "> </ v a l=" 0 0 0 0 "

i d=" f _ f a m i l i a "

t y p e=" h a r r o w s "

p o s x=" 1 7 5

p o s y=" 1 5 0 "

s i z e x =" 3 3 0 " name=" up ">

s i z e y =" 2 5 "

down=" f _ b u s c a r ">

<x s l : a t t r i b u t e

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission

/ t i p o C u r s o ! = 'AMP' "> < x s l : t e x t> f _ p r a c t i c a s</ x s l : t e x t > </ x s l : w h e n> < x s l : o t h e r w i s e> < x s l : t e x t>f _ c o d i g o</ x s l : t e x t > </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : a t t r i b u t e>

232

Apndice B. Ficheros desarrollados para la aplicacin

100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

<x s l : a t t r i b u t e <x s l : f o r

name=" o p t i o n s ">

e a c h s e l e c t =" f a m i l i a s / f a m i l i a "> <x s l : v a l u e o f s e l e c t =" . / v a l o r " />


<x s l : i f t e s t =" p o s i t i o n ( ) != l a s t ( ) "> < x s l : t e x t> ,</ x s l : t e x t> </ x s l : i f >

</ x s l : f o r

e a c h>
name=" o p t i o n s _ t e x t s ">

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : f o r

e a c h s e l e c t =" f a m i l i a s / f a m i l i a "> <x s l : v a l u e o f s e l e c t =" . / nombre " />


<x s l : i f t e s t =" p o s i t i o n ( ) != l a s t ( ) "> < x s l : t e x t> ,</ x s l : t e x t> </ x s l : i f >

</ x s l : f o r

e a c h>

</

<

form_list form_imgbutton
> <

</ x s l : a t t r i b u t e>

i d=" f _ b u s c a r "

img=" i m a g e s / b o t _ b u s c a r _ o f f . png "

i m g f o c u s=" i m a g e s / b o t _ b u s c a r _ o n . png " p o s y=" 1 8 5 " s i z e x =" 1 2 2 " s i z e y =" 7 9 " up=" f _ f a m i l i a " down=

p o s x=" 1 7 0 "

" f_tipoCurso "

action

v a l i d a t i o n =" f a l s e ">

k e y="O K"> name=" a c t "> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : a t t r i b u t e

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server <x s l : v a r i a b l e input:dat name=" t e x t o C u r s o "

s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / t i p o C u r s o T e x t " /> s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e (

name=" comun "

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / apps /16003/800/ r c / c u r s o s _ f o r m a c i o n ? t i p o C u r s o =$ f _ t i p o C u r s o ;&amp ; t i p o C u r s o T e x t = ' , $ t e x t o C u r s o , ' & amp ; i n i c i o =$ f _ i n i c i o ;&amp ; m u n i c i p i o =$ f _ m u n i c i p i o ;&amp ; p a g=1&amp ; ' ) " />

126 127 128 129

<x s l : v a r i a b l e input:dat < x s l : c h o o s e> <x s l : w h e n

name=" p r o v "

s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / p r o v i n c i a " />

t e s t =" d o c ( ' i n p u t : d a t

instance

') /

s u b m i s s i o n / t i p o C u r s o ! = 'AMP' "> <x s l : v a l u e

of

s e l e c t =" c o n c a t ( $ comun , ' c o l e c t i v o

=$ f _ c o l e c t i v o ;&amp ; f a m i l i a =$ f _ f a m i l i a ;&amp ; p r a c t i c a s =$ f _ p r a c t i c a s ;&amp ; c o d i g o= & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

130 131 132

</ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

of

s e l e c t =" c o n c a t ( $ comun , ' c o d i g o= &

amp ; f a m i l i a =$ f _ f a m i l i a ;&amp ; p r a c t i c a s= & amp ; c o l e c t i v o= & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

133 134 135 136 137 138 139 140 141

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" a c t b a c k "> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server <x s l : v a r i a b l e input:dat name=" t i p o C u r s o "

s e l e c t =" d o c ( '

instance instance instance

' ) / s u b m i s s i o n / t i p o C u r s o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" t e x t o C u r s o "

' ) / s u b m i s s i o n / t i p o C u r s o T e x t " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r o v "

' ) / s u b m i s s i o n / p r o v i n c i a " />

B.3. Directorio de gestin del canal de retorno

233

142

<x s l : v a l u e

of

s e l e c t =" c o n c a t ( ' h i d e p a g e (

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / c u r s o s _ f o r m u l a r i o ? t i p o C u r s o = ' ,$ t i p o C u r s o , ' & amp ; t i p o C u r s o T e x t = ' , $ t e x t o C u r s o , ' & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

143 144 145 146 147 148 149 150 151 152 153 154

</ x s l : a t t r i b u t e>

</

</ x s l : t e m p l a t e>

action form_imgbutton form container page


</ > </ </ > </ > >

>

</ x s l : s t y l e s h e e t >

municipios.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

<? xml

version

=" 1 . 0 "

encoding

="UTF

8" ?>

< p r o v i n c i a s>

<!

Todas

las c p="

provincias

> 1"> Todos


los municipios

<p r o v i n c i a

1">
v a l u e="

<o p t i o n </ p r o v i n c i a>

</ o p t i o n>

<!

Almera

>
<o p t i o n v a l u e="

<p r o v i n c i a

c p=" 0 4 ">

1"> Todos

los

municipios

</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 0 1 " >A b l a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 0 2 " >A b r u c e n a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 0 3 " >Adra</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 7 2 0 " >A g u a d u l c e</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 0 4 " >A l b a n c h e z</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 0 5 " >A l b o l o d u y</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 0 6 " >A l b o x</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 0 7 " > A l c o l e a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 0 8 " >A l c o n t a r</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 0 9 " >A l c u d i a

de

m o n t e a g u d</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 1 0 " >A l h a b i a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 1 1 " >Alhama

de

a l m e r i a</ o p t i o n>

234

Apndice B. Ficheros desarrollados para la aplicacin

42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103

<o p t i o n

v a l u e=" 0 4 0 1 2 " >A l i c u n</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 1 3 " >A l m e r i a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 1 4 " >A l m o c i t a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 7 7 9 " > A l q u e r i a

( venta

nueva )

( l a )</

o p t i o n>

<o p t i o n

v a l u e=" 0 4 1 3 0 " >A l q u i a n

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 1 5 " >A l s o d u x</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 1 6 " >A n t a s</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 1 7 " >A r b o l e a s</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 1 8 " >Armua

de

a l m a n z o r a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 1 9 " >B a c a r e s</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 7 1 3 " >B a l a n e g r a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 7 1 2 " >B a l e r m a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 2 0 " >B a y a r c a l</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 2 1 " >B a y a r q u e</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 2 2 " >B e d a r</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 2 3 " > B e i r e s</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 2 4 " >Benahadux</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 2 6 " > B e n i t a g l a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 2 7 " >B e n i z a l o n</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 2 8 " >B e n t a r i q u e</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 2 9 " >B e r j a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 1 1 0 " >Campohermoso</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 3 0 " >C a n j a y a r</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 3 1 " >C a n t o r i a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 3 2 " >C a r b o n e r a s</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 3 3 " >C a s t r o

de

f i l a b r e s </ o p t i o n>

<o p t i o n

v a l u e=" 0 4 8 1 1 " >Caada

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 1 2 0 " >Caada

de

san

urbano

( l a )</

o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 3 6 " >C h e r c o s</ o p t i o n>

B.3. Directorio de gestin del canal de retorno

235

104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167

<o p t i o n

v a l u e=" 0 4 0 3 7 " > C h i r i v e l</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 3 4 " >Cobdar</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 9 2 0 " >C o s t a c a b a n a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 3 5 " >C u e v a s

del

a l m a n z o r a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 7 7 0 " >Curva

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 3 8 " > D a l i a s</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 3 9 " > D a r r i c a l</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 9 0 5 " >Doa

maria

de

o c a a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 9 0 2 " >E j i d o

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 4 1 " >E n i x</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 9 0 4 " > E s c u l l a r</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 4 3 " > F e l i x</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 4 4 " >F i n e s</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 4 5 " >F i a n a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 4 6 " >Fondon</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 4 7 " >Gador</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 4 8 " > G a l l a r d o s

( l o s )</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 2 8 0 " > G a l l a r d o s

( l o s )</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 4 9 " >G a r r u c h a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 5 0 " >G e r g a l</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 5 1 " > H u e c i j a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 5 2 " >H u e r c a l

de

a l m e r i a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 6 0 0 " >H u e r c a l

o v e r a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 5 3 " >H u e r c a l

o v e r a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 5 4 " > I l l a r </ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 5 5 " > I n s t i n c i o n</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 5 6 " >L a r o y a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 5 7 " >L a u j a r

de

a n d a r a x</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 5 8 " > L i j a r</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 5 9 " >L u b r i n</ o p t i o n>

236

Apndice B. Ficheros desarrollados para la aplicacin

168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231

<o p t i o n

v a l u e=" 0 4 0 6 0 " >L u c a i n e n a

de

las

t o r r e s</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 6 1 " >L u c a r</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 6 2 " >M a c a e l</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 6 3 " >M a r i a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 6 4 " >M o j a c a r</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 9 0 3 " >M o j o n e r a

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 6 5 " >N a c i m i e n t o</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 6 6 " > N i j a r</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 7 1 6 " >N o r i a s

de

daza

( l a s )</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 6 7 " >Ohanes</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 6 8 " >O l u l a

de

c a s t r o</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 6 9 " >O l u l a

del

r i o</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 7 0 " >O r i a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 8 1 0 " >O r i a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 7 1 " >P a d u l e s</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 7 2 " > P a r t a l o a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 7 3 " >P a t e r n a

del

r i o</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 7 4 " >P e c h i n a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 7 5 " >P u l p i</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 7 6 " >P u r c h e n a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 7 7 " >R a g o l</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 7 8 " >R i o j a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 7 9 " >R o q u e t a s

de

mar</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 8 0 " >S a n t a

cruz

de

m a r c h e n a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 8 1 " >S a n t a

fe

de

m o n d u j a r</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 7 1 0 " >S a n t a

maria

del

a g u i l a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 7 0 0 " >S a n t o

d o m i n g o</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 8 2 " >S e n e s</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 8 3 " >S e r o n</ o p t i o n>

B.3. Directorio de gestin del canal de retorno

237

232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295

<o p t i o n

v a l u e=" 0 4 0 8 4 " > S i e r r o</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 8 5 " >S o m o n t i n</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 8 6 " >S o r b a s</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 8 7 " > S u f l i</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 8 8 " >T a b e r n a s</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 8 9 " >T a b e r n o</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 9 0 " >T a h a l</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 9 1 " >T e r q u e</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 9 2 " > T i j o l a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 9 0 1 " >T r e s

villas

( l a s )</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 9 3 " >T u r r e</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 9 4 " > T u r r i l l a s</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 9 5 " > U l e i l a

del

campo</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 9 6 " > U r r a c a l</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 9 7 " > V e l e f i q u e</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 9 8 " >V e l e z

b l a n c o</ o p t i o n> r u b i o</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 0 9 9 " >V e l e z

<o p t i o n

v a l u e=" 0 4 1 0 0 " >V e r a</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 1 0 1 " >V i a t o r</ o p t i o n>

<o p t i o n

v a l u e=" 0 4 1 0 2 " >V i c a r</ o p t i o n>

<o p t i o n </ p r o v i n c i a>

v a l u e=" 0 4 1 0 3 " >Z u r g e n a</ o p t i o n>

<!

Cdiz

>
c p=" 1 1 "> <o p t i o n v a l u e="

<p r o v i n c i a

1"> Todos

los

municipios

</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 0 1 " > A l c a l a

de

los

g a z u l e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 0 2 " > A l c a l a

del

v a l l e</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 0 3 " >A l g a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 0 4 " > A l g e c i r a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 0 5 " >A l g o d o n a l e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 0 6 " >A r c o s

de

la

f r o n t e r a</ o p t i o n>

238

Apndice B. Ficheros desarrollados para la aplicacin

296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356

<o p t i o n

v a l u e=" 1 1 0 0 7 " >B a r b a t e</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 0 8 " > B a r r i o s

( l o s )</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 9 0 1 " >B e n a l u p</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 0 9 " >B e n a o c a z</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 1 0 " >B o r n o s</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 1 1 " >B o s q u e

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 1 2 " >C a d i z</ o p t i o n>

<o p t i o n >

v a l u e=" 1 1 0 1 3 " > C a s t e l l a r

de

la

f r o n t e r a</ o p t i o n

<o p t i o n

v a l u e=" 1 1 0 1 5 " >C h i c l a n a

de

la

f r o n t e r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 1 6 " >C h i p i o n a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 1 4 " >C o n i l

de

la

f r o n t e r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 4 3 " >D e s c o n o c i d o</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 1 7 " >E s p e r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 1 8 " >G a s t o r

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 1 9 " >G r a z a l e m a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 2 0 " > J e r e z

de

la

f r o n t e r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 2 1 " >J i m e n a

de

la

f r o n t e r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 2 2 " >L i n e a

de

la

concepcion

( l a )</

o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 2 3 " >Medina

s i d o n i a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 2 4 " >O l v e r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 2 5 " >P a t e r n a

de

r i v e r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 2 6 " >P r a d o

del

r e y</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 2 7 " >P u e r t o

de

santa

maria

( e l )</

o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 2 8 " >P u e r t o

r e a l</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 2 9 " >P u e r t o

s e r r a n o</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 3 0 " >Rota</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 3 1 " >San

f e r n a n d o</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 9 0 2 " >San

jose

del

v a l l e</ o p t i o n>

B.3. Directorio de gestin del canal de retorno

239

357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419

<o p t i o n >

v a l u e=" 1 1 3 4 0 " >San

martin

del

t e s o r i l l o </ o p t i o n

<o p t i o n

v a l u e=" 1 1 0 3 3 " >San

r o q u e</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 3 2 " >S a n l u c a r

de

b a r r a m e d a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 3 4 " > S e t e n i l

de

las

b o d e g a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 3 5 " > T a r i f a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 3 6 " >T o r r e

a l h a q u i m e</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 3 7 " >T r e b u j e n a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 3 8 " >U b r i q u e</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 3 9 " >V e j e r

de

la

f r o n t e r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 4 0 " > V i l l a l u e n g a

del

r o s a r i o</ o p t i o n>

<o p t i o n

v a l u e=" 1 1 0 4 1 " > V i l l a m a r t i n</ o p t i o n>

<o p t i o n </ p r o v i n c i a>

v a l u e=" 1 1 0 4 2 " >Z a h a r a</ o p t i o n>

<!

Crdoba

>
v a l u e="

<p r o v i n c i a

c p=" 1 4 ">

<o p t i o n

1"> Todos

los

municipios

</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 0 1 " >Adamuz </ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 0 2 " > A g u i l a r

de

la

f r o n t e r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 0 3 " > A l c a r a c e j o s</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 6 1 0 " > A l c o l e a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 0 4 " > A l m e d i n i l l a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 0 5 " >A l m o d o v a r

del

r i o</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 0 6 " >Aora</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 0 7 " >Baena</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 0 8 " > B e l a l c a z a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 0 9 " >B e l m e z</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 1 0 " >B e n a m e j i</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 1 1 " >B l a z q u e z

( l o s )</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 1 2 " >B u j a l a n c e</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 1 3 " >Cabra</ o p t i o n>

240

Apndice B. Ficheros desarrollados para la aplicacin

420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483

<o p t i o n

v a l u e=" 1 4 0 1 5 " >C a r c a b u e y</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 1 6 " >C a r d e a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 1 7 " >C a r l o t a

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 1 8 " >C a r p i o

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 1 9 " >C a s t r o

del

r i o</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 1 4 " >C a e t e

de

las

t o r r e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 2 0 " >C o n q u i s t a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 2 1 " >C o r d o b a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 2 3 " >Dos

t o r r e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 2 2 " >Doa

m e n c i a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 2 4 " >E n c i n a s

r e a l e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 2 5 " >E s p e j o</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 2 6 " > E s p i e l</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 2 7 " >F e r n a n

n u e z</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 1 1 0 " >F u e n t e

c a r r e t e r o s</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 2 8 " >F u e n t e

la

l a n c h a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 2 9 " >F u e n t e

o b e j u n a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 3 0 " >F u e n t e

p a l m e r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 3 1 " >F u e n t e

t o j a r</ o p t i o n>
( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 3 2 " >G r a n j u e l a

<o p t i o n

v a l u e=" 1 4 0 3 3 " >G u a d a l c a z a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 3 4 " >G u i j o

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 1 9 3 " >H i g u e r o n

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 3 5 " >H i n o j o s a

del

d u q u e</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 3 6 " >H o r n a c h u e l o s</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 3 7 " > I z n a j a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 3 8 " >L u c e n a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 3 9 " >Luque</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 4 0 " >M o n t a l b a n

de

c o r d o b a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 4 1 " >Montemayor</ o p t i o n>

B.3. Directorio de gestin del canal de retorno

241

484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546

<o p t i o n

v a l u e=" 1 4 0 4 2 " > M o n t i l l a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 4 3 " >M on t o ro</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 4 4 " >M o n t u r q u e</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 4 5 " > M o r i l e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 4 6 " >Nueva

c a r t e y a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 4 7 " >O b e j o</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 1 2 9 " > O c h a v i l l o

del

r i o</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 4 8 " >P a l e n c i a n a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 4 9 " >Palma

del

r i o</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 5 0 " >P e d r o

a b a d</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 5 1 " >P e d r o c h e</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 5 2 " >P e a r r o y a

p u e b l o n u e v o</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 5 3 " >P o s a d a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 5 4 " >P o z o b l a n c o</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 5 5 " > P r i e g o

de

c o r d o b a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 5 6 " >P u e n t e

g e n i l</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 5 7 " >Rambla

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 5 8 " >Rute</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 5 9 " >San

sebastian

de

los

ballesteros

</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 6 1 " >S a n t a

e u f e m i a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 6 0 " > S a n t a e l l a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 6 2 " >T o r r e c a m p o</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 6 3 " >V a l e n z u e l a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 6 4 " > V a l s e q u i l l o</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 6 5 " > V i c t o r i a

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 6 6 " > V i l l a

del

r i o</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 6 7 " > V i l l a f r a n c a

de

c o r d o b a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 6 8 " > V i l l a h a r t a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 6 9 " > V i l l a n u e v a

de

c o r d o b a</ o p t i o n>

242

Apndice B. Ficheros desarrollados para la aplicacin

547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610

<o p t i o n

v a l u e=" 1 4 0 7 0 " > V i l l a n u e v a

del

d u q u e</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 7 1 " > V i l l a n u e v a

del

r e y</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 7 2 " > V i l l a r a l t o</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 7 1 0 " > V i l l a r r u b i a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 7 3 " > V i l l a v i c i o s a

de

c o r d o b a</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 0 7 4 " >V i s o

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 1 4 9 5 0 " >Zambra</ o p t i o n>

<o p t i o n </ p r o v i n c i a>

v a l u e=" 1 4 0 7 5 " >Z u h e r o s</ o p t i o n>

<!

Granada

>
<o p t i o n v a l u e="

<p r o v i n c i a

c p=" 1 8 ">

1"> Todos

los

municipios

</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 0 1 " >Agron</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 0 2 " > A l a m e d i l l a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 0 3 " > A l b o l o t e</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 0 4 " >A l b o n d o n</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 0 5 " >A l b u a n</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 0 6 " >A l b u o l</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 0 7 " >A l b u u e l a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 2 0 " >A l c u d i a

de

g u a d i x</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 1 0 " > A l d e i r e</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 1 1 " > A l f a c a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 1 2 " > A l g a r i n e j o</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 1 3 " >Alhama

de

g r a n a d a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 1 4 " >A l h e n d i n</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 1 5 " >A l i c u n

de

o r t e g a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 1 6 " >A l m e g i j a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 1 7 " >A l m u e c a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 0 4 " > A l p u j a r r a

de

la

s i e r r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 1 8 " > A l q u i f e</ o p t i o n>

B.3. Directorio de gestin del canal de retorno

243

611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674

<o p t i o n

v a l u e=" 1 8 0 2 0 " >A r e n a s

del

r e y</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 2 1 " >A r m i l l a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 2 2 " > A t a r f e</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 2 3 " >Baza</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 2 4 " >B e a s

de

g r a n a d a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 2 5 " >B e a s

de

g u a d i x</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 2 7 " >B e n a l u a

de

g u a d i x</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 2 8 " >B e n a l u a

de

las

v i l l a s </ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 2 9 " >B e n a m a u r e l</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 3 0 " > B e r c h u l e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 3 2 " >B u b i o n</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 3 3 " > B u s q u i s t a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 3 4 " >C a c i n</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 3 5 " >C a d i a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 3 6 " >C a j a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 9 9 " >C a j a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 7 3 0 " >C a l a h o n d a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 1 4 " >C a l a h o r r a

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 3 7 " > C a l i c a s a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 3 8 " >C a m p o t e j a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 3 9 " > C a n i l e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 4 2 " > C a p i l e i r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 4 3 " >C a r a t a u n a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 4 4 " >C a s t a r a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 7 4 0 " > C a s t e l l

de

f e r r o</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 4 5 " > C a s t i l l e j a r </ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 4 6 " > C a s t r i l</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 4 0 " >Caar</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 4 7 " >C e n e s

de

la

v e g a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 5 9 " >C h a u c h i n a</ o p t i o n>

244

Apndice B. Ficheros desarrollados para la aplicacin

675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738

<o p t i o n

v a l u e=" 1 8 0 6 1 " >C h i m e n e a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 6 2 " >C h u r r i a n a

de

la

v e g a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 4 8 " > C i j u e l a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 4 9 " > C o g o l l o s

de

g u a d i x</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 5 0 " > C o g o l l o s

v e g a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 5 1 " >C o l o m e r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 5 3 " >C o r t e s

de

b a z a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 5 4 " >C o r t e s

g r a e n a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 1 2 " >C u e v a s

del

campo</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 5 6 " > C u l l a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 5 7 " > C u l l a r

v e g a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 6 3 " >D a r r o</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 6 4 " >D e h e s a s

de

g u a d i x</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 6 6 " > D e i f o n t e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 6 7 " >Diezma</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 6 8 " > D i l a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 6 9 " >D o l a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 7 0 " >Dudar</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 7 1 " >D u r c a l</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 7 2 " >E s c u z a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 7 4 " > F e r r e i r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 7 6 " >F o n e l a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 7 8 " > F r e i l a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 7 9 " >F u e n t e

v a q u e r o s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 0 5 " >G a b i a s

( l a s )</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 8 2 " >G a l e r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 8 3 " >G o b e r n a d o r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 8 4 " >G o j a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 8 5 " >Gor</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 8 6 " >G o r a f e</ o p t i o n>

B.3. Directorio de gestin del canal de retorno

245

739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802

<o p t i o n

v a l u e=" 1 8 0 8 7 " >Granada</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 8 8 " >G u a d a h o r t u n a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 8 9 " >G u a d i x</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 0 6 " >G u a j a r e s

( l o s )</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 9 3 " >G u a l c h o s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 6 0 " >G u e j a r

s i e r r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 9 4 " >G e j a r

s i e r r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 2 1 2 " >G e v e j a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 9 5 " >G e v e j a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 8 8 0 " >H e r n a n

v a l l e</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 9 6 " >H u e l a g o</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 9 7 " >H u e n e j a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 9 8 " >H u e s c a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 0 9 9 " >H u e t o r

s a n t i l l a n</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 0 0 " >H u e t o r

t a j a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 3 6 0 " >H u e t o r

t a j a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 9 8 " >H u e t o r

v e g a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 0 1 " >H u e t o r

v e g a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 0 2 " > I l l o r a </ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 0 3 " > I t r a b o</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 0 5 " > I z n a l l o z</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 0 7 " >J a y e n a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 0 8 " > J e r e z

del

m a r q u e s a d o</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 0 9 " > J e t e</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 1 1 " >Jun</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 2 1 3 " >Jun</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 1 2 " > J u v i l e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 1 5 " >L a c h a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 1 6 " >L a n j a r o n</ o p t i o n>

246

Apndice B. Ficheros desarrollados para la aplicacin

803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866

<o p t i o n

v a l u e=" 1 8 1 1 7 " > L a n t e i r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 1 4 " > L a r o l e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 1 9 " > L e c r i n</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 2 0 " > L e n t e g i</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 2 1 " >L o b r a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 2 2 " >L o j a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 2 3 " >L u g r o s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 2 4 " >L u j a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 6 1 5 " >L o s

g u j a r e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 2 6 " >Malaha

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 2 7 " >M a r a c e n a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 2 8 " >M a r c h a l</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 4 5 0 " >M e c i n a

bombaron</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 1 6 " > M e l e g i s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 3 2 " >M o c l i n</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 3 3 " >M o l v i z a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 3 4 " >M o n a c h i l</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 3 5 " >M o n t e f r i o</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 3 6 " > M o n t e j i c a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 3 7 " >M o n t i l l a n a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 3 8 " >M o r a l e d a

de

z a f a y o n a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 2 1 " >Moreda</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 0 9 " >M o r e l a b o r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 4 0 " > M o t r i l</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 1 5 " >Murchas</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 4 1 " >M u r t a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 0 3 " >Nevada</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 4 3 " > N i g e l a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 4 4 " >N i v a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 2 9 3 " > O b e i l a r</ o p t i o n>

B.3. Directorio de gestin del canal de retorno

247

867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930

<o p t i o n

v a l u e=" 1 8 1 4 5 " > O g i j a r e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 4 6 " >O r c e</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 4 7 " >O r g i v a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 4 8 " >O t i v a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 4 9 " >O t u r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 5 0 " >P a d u l</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 5 1 " >P a m p a n e i r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 5 2 " >P e d r o

m a r t i n e z</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 5 3 " > P e l i g r o s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 5 4 " >P e z a

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 3 2 8 " >P e u e l a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 1 0 " >P i n a r

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 1 8 " >P i n o s

del

v a l l e</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 5 7 " >P i n o s

g e n i l</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 5 8 " >P i n o s

p u e n t e</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 2 2 " > P i t r e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 5 9 " >P i a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 6 1 " > P o l i c a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 6 2 " >P o l o p o s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 6 3 " >P o r t u g o s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 6 4 " >P u e b l a

de

don

f a d r i q u e</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 6 5 " > P u l i a n a s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 6 7 " > P u r u l l e n a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 6 8 " >Q u e n t a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 7 0 " >R u b i t e</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 7 1 " > S a l a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 1 7 " > S a l e r e s</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 7 3 " >S a l o b r e a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 7 4 " >S a n t a

cruz

del

c o m e r c i o</ o p t i o n>

248

Apndice B. Ficheros desarrollados para la aplicacin

931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993

<o p t i o n

v a l u e=" 1 8 1 7 5 " >S a n t a

f e</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 7 6 " > S o p o r t u j a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 7 7 " > S o r v i l a n</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 0 1 " >Taha

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 2 4 8 " >T i e n a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 7 8 " >T o r r e

c a r d e l a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 7 9 " >T o r v i z c o n</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 8 0 " > T r e v e l e z</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 8 1 " >Turon</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 8 2 " > U g i j a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 2 5 0 " > V a l d e r r u b i o</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 0 2 " > V a l l e

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 0 7 " > V a l l e

del

z a l a b i</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 8 3 " >V a l o r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 1 1 " >V e g a s

del

g e n i l</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 8 4 " >V e l e z

de

b e n a u d a l l a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 8 5 " >V e n t a s

de

h u e l m a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 2 5 " >V e n t a s

de

z a f a r r a y a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 0 8 " >V i l l a m e n a</ o p t i o n>

<o p t i o n >

v a l u e=" 1 8 1 8 7 " > V i l l a n u e v a

de

las

t o r r e s</ o p t i o n

<o p t i o n

v a l u e=" 1 8 1 8 8 " > V i l l a n u e v a

m e s i a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 8 9 " >V i z n a r</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 1 9 " >Yegen</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 9 2 " > Z a f a r r a y a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 9 1 3 " >Z a g r a</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 9 3 " >Z u b i a

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 1 8 1 9 4 " >Z u j a r</ o p t i o n>

</ p r o v i n c i a>

<!

Huelva

>
c p=" 2 1 ">

<p r o v i n c i a

B.3. Directorio de gestin del canal de retorno

249

994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056

<o p t i o n

v a l u e="

1"> Todos

los

municipios

</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 0 1 " > A l a j a r</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 0 2 " >A l j a r a q u e</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 0 3 " >Almendro

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 0 4 " >A l m o n a s t e r

la

r e a l</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 0 5 " >A l m o nt e</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 0 6 " >A l o s n o</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 0 7 " >A r a c e n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 0 8 " >A r o c h e</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 0 9 " >A r r o y o m o l i n o s

de

l e o n</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 1 0 " >Ayamonte</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 1 1 " >B e a s</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 1 2 " > B e r r o c a l</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 1 3 " > B o l l u l l o s

par

del

c o n d a d o</

o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 1 4 " >B o n a r e s</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 1 5 " >C a b e z a s

r u b i a s</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 1 6 " >C a l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 1 7 " >C a l a a s</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 1 8 " >C a m p i l l o

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 1 9 " >C a m p o f r i o</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 2 1 " >C a r t a y a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 2 2 " >C a s t a o

del

r o b l e d o</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 2 0 " >C a a v e r a l

de

l e o n</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 2 3 " >C e r r o

de

andevalo

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 3 0 " >Chucena</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 2 4 " >C o r t e c o n c e p c i o n</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 2 5 " >C o r t e g a n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 2 6 " > C o r t e l a z o r</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 2 7 " >Cumbres

de

e n m e d i o</ o p t i o n>

250

Apndice B. Ficheros desarrollados para la aplicacin

1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118

<o p t i o n >

v a l u e=" 2 1 0 2 8 " >Cumbres

de

san

b a r t o l o m e</ o p t i o n

<o p t i o n

v a l u e=" 2 1 0 2 9 " >Cumbres

m a y o r e s</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 3 1 " > E n c i n a s o l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 3 2 " >E s c a c e n a

del

campo</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 3 3 " > F u e n t e h e r i d o s</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 3 4 " >G a l a r o z a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 3 5 " >G i b r a l e o n</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 3 6 " >Granada

de

rio

tinto

( l a )</

o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 3 7 " >Granado

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 3 8 " >H i g u e r a

de

la

s i e r r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 3 9 " > H i n o j a l e s</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 4 0 " >H i n o j o s</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 4 1 " >H u e l v a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 4 2 " > I s l a

c r i s t i n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 4 3 " >J a b u g o</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 4 4 " >L e p e</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 4 5 " > L i n a r e s

de

la

s i e r r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 4 6 " >L u c e n a

del

p u e r t o</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 4 7 " >M a n z a n i l l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 4 8 " >M a r i n e s

( l o s )</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 2 0 8 " >M a r i n e s

( l o s )</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 7 6 0 " >M a t a l a s c a q a s</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 1 3 0 " >Mazagon</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 5 5 9 " >M i n a s

de

h e r r e r i a s</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 4 9 " >M i n a s

de

r i o t i n t o</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 5 3 0 " >M i n a s

de

t h a r s i s</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 5 0 " >Moguer</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 5 0 0 " >M i n a s

de

t h a r s i s</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 5 1 " >Nava

( l a )</ o p t i o n>

B.3. Directorio de gestin del canal de retorno

251

1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180

<o p t i o n

v a l u e=" 2 1 0 5 2 " >N e r v a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 5 3 " >N i e b l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 5 4 " >Palma

del

condado

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 5 5 " >P a l o s

de

la

f r o n t e r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 5 6 " >P a t e r n a

del

campo</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 5 7 " >Paymogo</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 4 5 9 " > P o r t i l

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 5 8 " >P u e b l a

de

guzman</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 5 9 " >P u e r t o

m o r a l</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 6 0 " >Punta

u m b r i a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 4 3 0 " >R e d o n d e l a

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 6 1 " >R o c i a n a

del

c o n d a d o</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 6 2 " >R o s a l

de

la

f r o n t e r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 6 3 " >San

bartolome

de

la

t o r r e</

o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 6 4 " >San

juan

del

p u e r t o</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 6 6 " >San

silvestre

de

guzman</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 3 3 0 " >San

t e l m o</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 6 5 " >S a n l u c a r

de

g u a d i a n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 6 7 " >S a n t a

ana

la

r e a l</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 6 8 " >S a n t a

barbara

de

c a s a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 6 9 " >S a n t a

olalla

del

c a l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 7 0 " > T r i g u e r o s</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 2 0 7 " >Umbria

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 7 1 " > V a l d e l a r c o</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 7 2 " >V a l v e r d e

del

c a m i n o</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 7 3 " > V i l l a b l a n c a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 7 4 " > V i l l a l b a

del

a l c o r</ o p t i o n>

<o p t i o n >

v a l u e=" 2 1 0 7 5 " > V i l l a n u e v a

de

las

c r u c e s</ o p t i o n

252

Apndice B. Ficheros desarrollados para la aplicacin

1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243

<o p t i o n

v a l u e=" 2 1 0 7 6 " > V i l l a n u e v a

de

los

c a s t i l l e j o s </

o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 7 7 " > V i l l a r r a s a</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 7 8 " >Z a l a m e a

la

r e a l</ o p t i o n>

<o p t i o n

v a l u e=" 2 1 0 7 9 " > Z u f r e</ o p t i o n>

</ p r o v i n c i a>

<!

Jan

>
c p=" 2 3 "> <o p t i o n v a l u e="

<p r o v i n c i a

1"> Todos

los

municipios

</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 0 1 " >A l b a n c h e z

de

m a g i n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 0 2 " > A l c a l a

la

r e a l</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 0 3 " >A l c a u d e t e</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 0 4 " >A l d e a q u e m a d a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 0 5 " >A n d u j a r</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 0 6 " >A r j o n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 0 7 " > A r j o n i l l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 0 8 " > A r q u i l l o s</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 9 0 5 " >A r r o y o

del

o j a n c o</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 0 9 " >B a e z a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 1 0 " > B a i l e n</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 1 1 " >B a o s

de

la

e n c i n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 1 2 " >B e a s

de

s e g u r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 9 0 2 " >Bedmar

g a r c i e z</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 1 4 " > B e g i j a r</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 1 5 " >B e l m e z

de

la

m o r a l e d a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 1 6 " >B e n a t a e</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 1 7 " >Cabra

del

santo

c r i s t o</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 1 8 " >C a m b i l</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 1 9 " >C a m p i l l o

de

a r e n a s</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 2 0 " >Canena</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 2 1 " >C a r b o n e r o s</ o p t i o n>

B.3. Directorio de gestin del canal de retorno

253

1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307

<o p t i o n

v a l u e=" 2 3 9 0 1 " > C a r c h e l e s</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 2 4 " > C a r o l i n a

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 2 5 " > C a s t e l l a r</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 2 6 " > C a s t i l l o

de

l o c u b i n</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 2 7 " > C a z a l i l l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 2 8 " >C a z o r l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 2 9 " >C h i c l a n a

de

s e g u r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 3 0 " > C h i l l u e v a r</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 3 1 " >E s c a u e l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 3 2 " >E s p e l u y</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 3 3 " > F r a i l e s</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 3 4 " >F u e n s a n t a

de

m a r t o s</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 3 5 " >F u e r t e

del

r e y</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 3 7 " >Genave</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 3 8 " >G u a r d i a

de

jaen

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 3 9 " >Guarroman</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 4 1 " >H i g u e r a

de

c a l a t r a v a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 4 2 " > H i n o j a r e s</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 4 3 " >H o r n o s</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 4 4 " >Huelma</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 4 5 " >H u e s a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 4 6 " > I b r o s</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 6 3 9 " > I n f a n t a s

( l a s )</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 4 7 " > I r u e l a

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 4 8 " > I z n a t o r a f</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 4 9 " > J a b a l q u i n t o</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 5 0 " >J a e n</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 5 1 " >J a m i l e n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 5 2 " >J i m e n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 5 3 " >J o d a r</ o p t i o n>

254

Apndice B. Ficheros desarrollados para la aplicacin

1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370

<o p t i o n

v a l u e=" 2 3 0 4 0 " >L a h i g u e r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 5 4 " >L a r v a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 5 5 " > L i n a r e s</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 5 6 " >L o p e r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 5 7 " >L u p i o n</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 5 8 " >Mancha

r e a l</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 5 9 " >M a r m o l e j o</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 6 0 " >M a r t o s</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 6 1 " >M e n g i b a r</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 6 2 " >M o n t i z o n</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 6 3 " >Navas

de

san

j u a n</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 2 1 2 " >Navas

de

t o l o s a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 3 4 0 " >No

u s a r</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 9 0 6 " >No

utilizar

usar

el

2 3 9 0 3</

o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 6 4 " > N o a l e j o</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 6 5 " >O r c e r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 6 6 " >P e a l

de

b e c e r r o</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 6 7 " > P e g a l a j a r</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 6 9 " >P o r c u n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 7 0 " >Pozo

a l c o n</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 7 1 " >P u e n t e

de

g e n a v e</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 7 2 " >P u e r t a

de

segura

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 7 3 " >Q u e s a d a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 7 4 " >Rus</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 7 5 " > S a b i o t e</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 7 6 " >S a n t a

e l e n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 7 7 " >S a n t i a g o

de

c a l a t r a v a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 9 0 4 " >S a n t i a g o

p o n t o n e s</ o p t i o n>
del p u e r t o</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 7 9 " > S a n t i s t e b a n

B.3. Directorio de gestin del canal de retorno

255

1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432

<o p t i o n

v a l u e=" 2 3 0 8 0 " >S a n t o

tome</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 8 1 " >S e g u r a

de

la

s i e r r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 8 2 " > S i l e s </ o p t i o n>

<o p t i o n >

v a l u e=" 2 3 0 8 4 " > S o r i h u e l a

del

g u a d a l i m a r</ o p t i o n

<o p t i o n

v a l u e=" 2 3 0 8 5 " > T o r r e b l a s c o p e d r o</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 8 6 " >T o r r e d e l c a m p o</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 8 7 " >T o r r e d o n j i m e n o</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 8 8 " > T o r r e p e r o g i l</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 9 0 " >T o r r e s</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 9 1 " >T o r r e s

de

a l b a n c h e z</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 9 2 " >Ubeda</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 9 3 " >V a l d e p e a s

de

j a e n</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 9 4 " > V i l c h e s</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 9 5 " > V i l l a c a r r i l l o </ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 9 6 " > V i l l a n u e v a

de

la

r e i n a</ o p t i o n>

<o p t i o n >

v a l u e=" 2 3 0 9 7 " > V i l l a n u e v a

del

a r z o b i s p o</ o p t i o n

<o p t i o n

v a l u e=" 2 3 0 9 8 " >V i l l a r d o m p a r d o</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 0 9 9 " > V i l l a r e s

( l o s )</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 1 0 1 " > V i l l a r r o d r i g o</ o p t i o n>

<o p t i o n

v a l u e=" 2 3 9 0 3 " > V i l l a t o r r e s</ o p t i o n>

</ p r o v i n c i a>

<!

Mlaga

>
c p=" 2 9 ">

<p r o v i n c i a

<o p t i o n

v a l u e="

1"> Todos

los

municipios

</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 0 1 " >Alameda</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 0 2 " >A l c a u c i n</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 0 3 " > A l f a r n a t e</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 0 4 " > A l f a r n a t e j o</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 0 5 " >A l g a r r o b o</ o p t i o n>

256

Apndice B. Ficheros desarrollados para la aplicacin

1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496

<o p t i o n

v a l u e=" 2 9 0 0 6 " > A l g a t o c i n</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 0 7 " >A l h a u r i n

de

la

t o r r e</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 0 8 " >A l h a u r i n

el

g r a n d e</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 0 9 " >A l m a c h a r</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 1 0 " >A l m a r g e n</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 7 4 9 " >A l m a y a t e</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 1 1 " >A l m o g i a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 1 2 " >A l o r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 1 3 " >A l o z a i n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 1 4 " >A l p a n d e i r e</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 1 5 " >A n t e q u e r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 1 6 " >A r c h e z</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 1 7 " >A r c h i d o n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 1 8 " >A r d a l e s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 1 9 " >A r e n a s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 2 0 " > A r r i a t e</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 6 3 1 " >A r r o y o

de

la

m i e l</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 2 1 " > A t a j a t e</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 2 2 " >B e n a d a l i d</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 7 3 8 " >B e n a g a l b o n</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 2 3 " >B e n a h a v i s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 2 4 " > B e n a l a u r i a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 2 5 " >B e n a l m a d e n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 2 6 " >B e n a m a r g o s a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 2 7 " >B e n a m o c a r r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 2 8 " >B e n a o j a n</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 2 9 " >B e n a r r a b a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 3 0 " >B o r g e

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 3 1 " >B u r g o

( e l )</ o p t i o n>

B.3. Directorio de gestin del canal de retorno

257

1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560

<o p t i o n

v a l u e=" 2 9 7 2 0 " >C a l a

del

moral

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 7 5 1 " >C a l e t a

de

v e l e z</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 5 9 0 " >C a m p a n i l l a s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 3 2 " >C a m p i l l o s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 3 3 " > C a n i l l a s

de

a c e i t u n o</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 3 4 " > C a n i l l a s

de

a l b a i d a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 3 6 " > C a r r a t r a c a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 3 7 " >C a r t a j i m a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 3 8 " >Cartama</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 5 7 0 " >Cartama</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 3 9 " >C a s a b e r m e j a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 4 0 " >C a s a r a b o n e l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 4 1 " >C a s a r e s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 3 5 " >C a e t e

la

r e a l</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 9 0 4 " >C h u r r i a n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 4 2 " >C o i n</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 4 3 " >C o l m e n a r</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 4 4 " >Comares</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 4 5 " >Competa</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 4 6 " >C o r t e s

de

la

f r o n t e r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 4 7 " >C u e v a s

b a j a s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 4 9 " >C u e v a s

de

san

m a r c o s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 4 8 " >C u e v a s

del

b e c e r r o</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 5 0 " >C u t a r</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 5 1 " >E s t e p o n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 5 2 " >F a r a j a n</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 5 3 " > F r i g i l i a n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 5 4 " > F u e n g i r o l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 5 5 " >F u e n t e

de

p i e d r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 5 6 " >G a u c i n</ o p t i o n>

258

Apndice B. Ficheros desarrollados para la aplicacin

1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624

<o p t i o n

v a l u e=" 2 9 0 5 7 " > G e n a l g u a c i l</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 5 8 " >Guaro</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 5 9 " >H u m i l l a d e r o</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 6 0 " > I g u a l e j a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 6 1 " > I s t a n</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 6 2 " > I z n a t e</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 6 3 " >J i m e r a

de

l i b a r</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 6 4 " >J u b r i q u e</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 6 5 " >J u z c a r</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 6 6 " >M a c h a r a v i a y a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 6 7 " >M a l a g a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 6 8 " >M a n i l v a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 5 9 1 " >Maqueda</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 6 9 " >M a r b e l l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 7 0 " >M i j a s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 6 5 1 " >M i j a s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 7 1 " > M o c l i n e j o</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 7 2 " >M o l l i n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 7 3 " >Monda </ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 7 4 " >M o n t e j a q u e</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 7 5 " >N e r j a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 7 6 " >O j e n</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 7 7 " >P a r a u t a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 7 9 " >P e r i a n a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 8 0 " > P i z a r r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 1 9 0 " >P u e r t o

de

la

t o r r e</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 8 1 " > P u j e r r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 8 2 " >R i n c o n

de

la

v i c t o r i a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 8 3 " >R i o g o r d o</ o p t i o n>

B.3. Directorio de gestin del canal de retorno

259

1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686

<o p t i o n

v a l u e=" 2 9 0 8 4 " >Ronda</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 8 5 " > S a l a r e s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 6 7 0 " >San

pedro

a l c a n t a r a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 8 6 " >S a y a l o n g a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 8 7 " > S e d e l l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 8 8 " > S i e r r a

de

y e g u a s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 8 9 " >Teba</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 9 0 " >T o l o x</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 1 0 1 " >T o r r e

del

mar</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 9 0 1 " >T o r r e m o l i n o s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 9 1 " >T o r r o x</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 9 2 " >T o t a l a n</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 9 3 " > V a l l e

de

a b d a l a j i s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 9 4 " >V e l e z

m a l a g a</ o p t i o n>
de a l g a i d a s</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 9 5 " > V i l l a n u e v a

<o p t i o n

v a l u e=" 2 9 2 3 0 " > V i l l a n u e v a

de

la

c o n c e p c i o n</

o p t i o n>

<o p t i o n

v a l u e=" 2 9 1 1 3 " > V i l l a n u e v a

de

la

c o n c e p c i n</

o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 9 8 " > V i l l a n u e v a

de

t a p i a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 9 6 " > V i l l a n u e v a

del

r o s a r i o</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 9 7 " > V i l l a n u e v a

del

t r a b u c o</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 0 9 9 " >V i u e l a</ o p t i o n>

<o p t i o n

v a l u e=" 2 9 1 0 0 " >Y u n q u e r a</ o p t i o n>

<o p t i o n </ p r o v i n c i a>

v a l u e=" 2 9 9 0 2 " >Z u b i a

( l a )</ o p t i o n>

<!

Sevilla

>
<o p t i o n v a l u e="

<p r o v i n c i a

c p=" 4 1 ">

1"> Todos

los

municipios

</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 0 1 " >A g u a d u l c e</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 0 2 " > A l a n i s</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 0 3 " >A l b a i d a

del

a l j a r a f e </ o p t i o n>

260

Apndice B. Ficheros desarrollados para la aplicacin

1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746

<o p t i o n

v a l u e=" 4 1 0 0 4 " > A l c a l a

de

g u a d a i r a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 0 5 " > A l c a l a

del

r i o</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 0 6 " > A l c o l e a

del

r i o</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 0 7 " >A l g a b a

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 0 8 " >A l g a m i t a s</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 0 9 " >Almaden

de

la

p l a t a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 1 0 " > A l m e n s i l l a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 1 1 " >A r a h a l</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 1 2 " >A z n a l c a z a r</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 1 3 " > A z n a l c o l l a r</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 1 4 " >B a d o l a t o s a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 1 5 " >B e n a c a z o n</ o p t i o n>

<o p t i o n >

v a l u e=" 4 1 0 1 6 " > B o l l u l l o s

de

la

m i t a c i o n</ o p t i o n

<o p t i o n

v a l u e=" 4 1 0 1 7 " >B o r m u j o s</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 1 8 " >B r e n e s</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 1 9 " > B u r g u i l l o s</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 2 0 " >C a b e z a s

de

san

juan

( l a s )</

o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 2 1 " >Camas</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 2 2 " >Campana

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 2 3 " > C a n t i l l a n a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 2 4 " >Carmona</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 2 5 " >C a r r i o n

de

los

c e s p e d e s</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 2 6 " > C a s a r i c h e</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 2 7 " > C a s t i l b l a n c o

de

los

a r r o y o s</

o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 2 8 " > C a s t i l l e j a

de

guzman</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 2 9 " > C a s t i l l e j a

de

la

c u e s t a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 3 0 " > C a s t i l l e j a

del

campo</ o p t i o n>

B.3. Directorio de gestin del canal de retorno

261

1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809

<o p t i o n

v a l u e=" 4 1 0 3 1 " > C a s t i l l o

de

las

guardas

( e l )</

o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 3 2 " > C a z a l l a

de

la

s i e r r a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 9 0 1 " >Caada

r o s a l</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 3 3 " >C o n s t a n t i n a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 3 4 " >C o r i a

del

r i o</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 3 5 " >C o r i p e</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 3 6 " > C o r o n i l

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 3 7 " > C o r r a l e s

( l o s )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 9 0 3 " >C u e r v o

de

sevilla

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 2 0 1 " >D e s c o n o c i d o</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 3 8 " >Dos

h e r m a n a s</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 3 9 " > E c i j a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 4 0 " > E s p a r t i n a s</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 4 1 " >E s t e p a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 4 2 " >F u e n t e s

de

a n d a l u c i a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 4 3 " >G a r r o b o

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 4 4 " >G e l v e s</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 4 5 " >G e r e n a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 4 6 " >G i l e n a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 4 7 " >G i n e s</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 4 8 " >G u a d a l c a n a l</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 4 9 " > G u i l l e n a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 5 0 " >H e r r e r a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 5 1 " >H u e v a r</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 9 0 2 " > I s l a

mayor</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 5 2 " > L a n t e j u e l a

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 5 3 " > L e b r i j a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 5 4 " >L o r a

de

e s t e p a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 5 5 " >L o r a

del

r i o</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 5 6 " > L u i s i a n a

( l a )</ o p t i o n>

262

Apndice B. Ficheros desarrollados para la aplicacin

1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870

<o p t i o n

v a l u e=" 4 1 0 5 7 " >Madroo

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 5 8 " >M a i r e n a

del

a l c o r</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 5 9 " >M a i r e n a

del

a l j a r a f e </ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 6 0 " >Marchena</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 6 1 " >M a r i n a l e d a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 6 2 " >M a r t i n

de

la

j a r a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 6 3 " >M o l a r e s

( l o s )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 6 4 " >M o n t e l l a n o</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 6 5 " >Moron

de

la

f r o n t e r a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 6 6 " >Navas

de

la

concepcion

( l a s )</

o p t i o n>

<o p t i o n

v a l u e=" 4 1 2 0 2 " >No

d e f i n i d o</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 6 7 " > O l i v a r e s</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 6 8 " >Osuna</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 6 9 " > P a l a c i o s

villafranca

( l o s )</

o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 7 0 " >P a l o m a r e s

del

r i o</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 7 1 " >P a r a d a s</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 7 2 " >P e d r e r a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 7 3 " >P e d r o s o

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 7 4 " > P e a f l o r</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 7 5 " > P i l a s</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 7 6 " >Pruna</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 7 7 " >P u e b l a

de

cazalla

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 7 8 " >P u e b l a

de

los

infantes

( l a )</

o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 7 9 " >P u e b l a

del

rio

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 8 0 " >R e a l

de

la

jara

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 8 1 " >R i n c o n a d a

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 8 2 " >Roda

de

andalucia

( l a )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 8 3 " > R o n q u i l l o

( e l )</ o p t i o n>

B.3. Directorio de gestin del canal de retorno

263

1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922

<o p t i o n

v a l u e=" 4 1 3 3 0 " > R o s a l e s

( l o s )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 8 4 " >R u b i o

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 8 5 " > S a l t e r a s</ o p t i o n>

<o p t i o n >

v a l u e=" 4 1 0 8 6 " >San

juan

de

a z n a l f a r a c h e</ o p t i o n

<o p t i o n

v a l u e=" 4 1 0 8 8 " >San

nicolas

del

p u e r t o</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 8 7 " >S a n l u c a r

la

mayor</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 8 9 " >S a n t i p o n c e</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 9 0 " >S a u c e j o

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 9 1 " > S e v i l l a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 1 0 3 " >S i n

d e t e r m i n a r</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 9 2 " >T o c i n a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 9 3 " >Tomares</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 9 4 " >Umbrete</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 9 5 " >U t r e r a</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 9 6 " >V a l e n c i n a

de

la

c o n c e p c i o n</

o p t i o n>

<o p t i o n

v a l u e=" 4 1 3 1 9 " >V i a r

( e l )</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 9 7 " > V i l l a m a n r i q u e

de

la

c o n d e s a</

o p t i o n>

<o p t i o n

v a l u e=" 4 1 1 0 0 " > V i l l a n u e v a

de

san

j u a n</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 9 8 " > V i l l a n u e v a

del

a r i s c a l </ o p t i o n>

<o p t i o n

v a l u e=" 4 1 0 9 9 " > V i l l a n u e v a

del

rio

m i n a s</

o p t i o n>

<o p t i o n

v a l u e=" 4 1 1 0 1 " > V i l l a v e r d e

del

r i o</ o p t i o n>

<o p t i o n

v a l u e=" 4 1 1 0 2 " >V i s o

del

alcor

( e l )</ o p t i o n>

</ p r o v i n c i a>

</ p r o v i n c i a s>

cursos_formacion.xpl

<? xml

version

=" 1 . 0 "

encoding

="UTF

8" ?>

264

Apndice B. Ficheros desarrollados para la aplicacin

<p : c o n f i g

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

x m l n s : t m g=" h t t p :

/ /www . t m i r a . com/ o p s / p r o c e s s o r s " pipeline "

x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f /

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

<p : p a r a m

type

=" i n p u t "

name=" i n s t a n c e " />

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : r e q u e s t "> name=" c o n f i g "> stream

config

XMLSchema">

type

=" x s : a n y U R I "

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 /

< i n c l u d e>/ r e q u e s t / s e r v e r

</

</ p : i n p u t> <p : o u t p u t

config

< i n c l u d e>/ r e q u e s t / s e r v e r >

name</ i n c l u d e> p o r t</ i n c l u d e>

name=" d a t a "

i d=" s e r v e r " />

</ p : p r o c e s s o r>

<!

Procesador

para

generar

el

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a "

config

necesario

para

el

mtodo

HTTP

>

h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config method preaction


< <

version
>

=" 2 . 0 ">

match=" / ">

>u r l

h t t p</ o f

method

>

<x s l : v a l u e

s e l e c t =" c o n c a t ( ' h t t p : / /www .

j u n t a d e a n d a l u c i a . e s / s e r v i c i o a n d a l u z d e e m p l e o / web / websae / p o r t a l / e s / empleo / f o r m a c i o n / ofertasFPE / ' , / s u b m i s s i o n / t i p o C u r s o T e x t , ' / d i s p a t c h e r . h t m l ? s t e p=

26 27 28

</ <

preaction action
>

s t o r e F i l t e r &amp ; t i c k e t =n o c a s ' ) " /> >

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( ' h t t p : / /www .

j u n t a d e a n d a l u c i a . e s / s e r v i c i o a n d a l u z d e e m p l e o / web / websae / p o r t a l / e s / empleo / f o r m a c i o n / ofertasFPE / ' , / s u b m i s s i o n / t i p o C u r s o T e x t , ' / l i s t a d o C u r s o s . h t m l ? s t e p=

29 30 31 32 33 34 35

</ <

< x s l : c h o o s e> <x s l : w h e n <

action cookies

p a g i n a r&amp ; pg = ' , / s u b m i s s i o n / p a g ) " /> > >y e s</

cookies
>

>

parameters parameter
< </ <

t e s t =" / s u b m i s s i o n / t i p o C u r s o ! = 'AMP' ">

name=" t i p o C u r s o "> name=" v a l u e "> <x s l : v a l u e

<x s l : a t t r i b u t e

o f

s e l e c t =" / s u b m i s s i o n / t i p o C u r s o " /> </

36 37 38

parameter parameter parameter parameter parameter parameter parameter parameter

x s l : a t t r i b u t e> > name=" t i p o P r o g r a m a "> name=" v a l u e "> <x s l : v a l u e

<x s l : a t t r i b u t e

o f

s e l e c t =" / s u b m i s s i o n / i n i c i o " /> </ x s l : a t t r i b u t e> > name=" p r o v i n c i a "> name=" v a l u e "> <x s l : v a l u e

39 40 41

</ <

<x s l : a t t r i b u t e

o f

s e l e c t =" / s u b m i s s i o n / p r o v i n c i a " /> </ x s l : a t t r i b u t e> > name=" c o d M u n i c i p i o "> name=" v a l u e "> <x s l : v a l u e

42 43 44

</ <

<x s l : a t t r i b u t e

o f

s e l e c t =" / s u b m i s s i o n / m u n i c i p i o " /> </ x s l : a t t r i b u t e> > name=" c p " v a l u e=" "> </

45 46

</ <

parameter

>

B.3. Directorio de gestin del canal de retorno

265

47 48 49 50 51

<

< < <

parameter parameter parameter parameter parameter parameter parameter


>

name=" d e n o m i n a c i o n " >

v a l u e=" "> </

name=" numero " name=" e n t i d a d "

v a l u e=" "> </

v a l u e=" "> </

name=" c o d C o l e c t i v o ">

parameter parameter
o f

> >

<x s l : a t t r i b u t e

name=" v a l u e "> <x s l : v a l u e

s e l e c t =" / s u b m i s s i o n / c o l e c t i v o " /> </ x s l : a t t r i b u t e>

52 53 54

</ <

name=" p r a c t i c a "> name=" v a l u e "> <x s l : v a l u e

<x s l : a t t r i b u t e

o f

s e l e c t =" / s u b m i s s i o n / p r a c t i c a s " /> </

55 56 57 58

</ <

<

parameter parameter parameter parameter


> > >

x s l : a t t r i b u t e>

name=" l i n e a s x p a g i n a " >

v a l u e=" 1 0 "> </

name=" f a m i l i a "> name=" v a l u e "> <x s l : v a l u e

<x s l : a t t r i b u t e

o f

s e l e c t =" / s u b m i s s i o n / f a m i l i a " /> </

59 60 61 62 63 64 65

</

</ x s l : w h e n>

parameter parameters
</ > <

x s l : a t t r i b u t e>

< x s l : o t h e r w i s e> <

parameters parameter
</ <

name=" t i p o C u r s o "> name=" v a l u e "> <x s l : v a l u e

<x s l : a t t r i b u t e

o f

s e l e c t =" / s u b m i s s i o n / t i p o C u r s o " /> </

66 67 68

parameter parameter parameter parameter parameter parameter

x s l : a t t r i b u t e> > name=" t i p o P r o g r a m a "> name=" v a l u e "> <x s l : v a l u e

<x s l : a t t r i b u t e

o f

s e l e c t =" / s u b m i s s i o n / i n i c i o " /> </ x s l : a t t r i b u t e> > name=" p r o v i n c i a "> name=" v a l u e "> <x s l : v a l u e

69 70 71

</ <

<x s l : a t t r i b u t e

o f

s e l e c t =" / s u b m i s s i o n / p r o v i n c i a " /> </ x s l : a t t r i b u t e> > name=" c o d M u n i c i p i o "> name=" v a l u e "> <x s l : v a l u e

72 73 74

</ <

<x s l : a t t r i b u t e

o f

s e l e c t =" / s u b m i s s i o n / m u n i c i p i o " /> </

75 76 77 78 79

</ <

< <

parameter parameter parameter parameter parameter


>

x s l : a t t r i b u t e>

name=" d e n o m i n a c i o n " >

v a l u e=" "> </

name=" numero " name=" c o d i g o ">

v a l u e=" "> </

parameter
o f

>

<x s l : a t t r i b u t e

name=" v a l u e "> <x s l : v a l u e

s e l e c t =" t r a n s l a t e ( / s u b m i s s i o n / c o d i g o , '

80 81 82 83 84

</ < <

<

parameter parameter parameter parameter parameter


> > >

' , ' + ' ) " /> </ x s l : a t t r i b u t e>

name=" e n t i d a d "

v a l u e=" "> </

name=" l i n e a s x p a g i n a " >

v a l u e=" 1 0 "> </

parameter
o f

>

name=" f a m i l i a "> name=" v a l u e "> <x s l : v a l u e

<x s l : a t t r i b u t e

s e l e c t =" / s u b m i s s i o n / f a m i l i a " /> </

85 86 87 88

</

</ x s l : o t h e r w i s e> </ x s l : c h o o s e>

parameter parameters
</

x s l : a t t r i b u t e>

266

Apndice B. Ficheros desarrollados para la aplicacin

89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

timeout timeout contenttype contenttype encoding encoding config


< < < >4 0</ > > t e x t / h t m l</ 8 </ >u t f > > i d=" m e t o d o _ h t t p " />

>

</ p : p r o c e s s o r>

<!

Mtodo

POST + GET

(HTTP)

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

> h t t p ">
h r e f="#m e t o d o _ h t t p " /> i d=" p a g e " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

<!

Seleccin

de

informacin

de

inters

en

el

fichero

H T M L

recibido

>

<p : p r o c e s s o r <p : i n p u t <i t e m s

name=" o x f : u n s a f e name=" c o n f i g ">

x s l t ">
xsl:version

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

=" 2 . 0 "> < c u r s o s> <x s l : f o r

e a c h

s e l e c t =" / / t a b l e / t r ">

<x s l : i f

t e s t =" p o s i t i o n ( ) ! = 1 ">

< c u r s o> name=" nombre "> < x s l : v a l u e o f s e l e c t =" s p a c e ( . / t d [ 1 ] / a ) " /></ x s l : a t t r i b u t e> < x s l : a t t r i b u t e name=" e n t i d a d "> < x s l : v a l u e o f s e l e c t =" <x s l : a t t r i b u t e normalize . / t d [ 2 ] " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" p r o v i n c i a "> <x s l : v a l u e

o f o f

select

=" . / t d [ 3 ] " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" m u n i c i p i o "> <x s l : v a l u e select

=" . / t d [ 4 ] " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e substring name=" i d C u r s o "> <x s l : v a l u e

o f

s e l e c t ="

b e f o r e ( s u b s t r i n g a f t e r
name=" p a g "> <x s l : v a l u e

( . / td [ 1 ] / a / @href

, ' i d C u r s o = ' ) , ' &amp ; pg = ' ) " /> </ x s l : a t t r i b u t e>

118

<x s l : a t t r i b u t e substring

o f

s e l e c t ="

a f t e r

( . / t d [ 1 ] / a / @ h r e f , ' & amp ; pg = ' ) " /> </

x s l : a t t r i b u t e>

119

<x s l : a t t r i b u t e substring

name=" l e t r a "> <x s l : v a l u e

o f

s e l e c t ="

b e f o r e ( s u b s t r i n g a f t e r

( . / td [ 1 ] / a / @href

, ' d e t a l l e C u r s o ' ) , ' . h t m l ' ) " /> </ x s l : a t t r i b u t e>

120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138

</ c u r s o> </ x s l : i f > </ x s l : f o r </ c u r s o s> <p a g i n a s> <x s l : v a r i a b l e name=" t o t a l _ p a g i n a s "> name=" m o s t r a n d o X d e " s e l e c t =" / / d i v [ @ c l a s s = '

e a c h>

<x s l : v a r i a b l e

c e n t r a d o P a g i n a c i o n ' ] / p [ 1 ] " /> < x s l : c h o o s e> <x s l : w h e n t e s t =" $ m o s t r a n d o X d e != ' ' ">

<x s l : v a l u e , ' de </ x s l : w h e n>

o f

s e l e c t =" s u b s t r i n g

a f t e r ( $ mostrandoXde

' ) " />

< x s l : o t h e r w i s e> < x s l : t e x t>1</ x s l : t e x t > </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : v a r i a b l e>

<p a g i n a> <x s l : a t t r i b u t e name=" a c t u a l ">1</ x s l : a t t r i b u t e>

B.3. Directorio de gestin del canal de retorno

267

139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189

<x s l : v a r i a b l e

name="num_pag"

s e l e c t =" d o c ( ' i n p u t : d a t

i n s t a n c e ' ) / s u b m i s s i o n / p a g " /> <x s l : a t t r i b u t e name=" numero "> <x s l : v a l u e

o f

s e l e c t =" $

num_pag" /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" t o t a l "> <x s l : v a l u e

o f

s e l e c t =" $

t o t a l _ p a g i n a s " /> </ x s l : a t t r i b u t e> </ p a g i n a> <x s l : f o r

e a c h

s e l e c t =" / / u l [ @ c l a s s = ' p a g i n a c i o n ' ] / l i / s p a n / a ">

<p a g i n a> <x s l : a t t r i b u t e <x s l : a t t r i b u t e name=" a c t u a l ">0</ x s l : a t t r i b u t e> name=" numero "> <x s l : v a l u e

o f

s e l e c t =" t e x t

( ) " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" t o t a l "> <x s l : v a l u e

o f

s e l e c t =" $

t o t a l _ p a g i n a s " /> </ x s l : a t t r i b u t e> </ p a g i n a> </ x s l : f o r </ p a g i n a s> </ i t e m s> </ p : i n p u t> <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t name=" d a t a " h r e f="#p a g e " /> h r e f="#s e r v e r " /> h r e f="#i n s t a n c e " />

e a c h>

name=" s e r v e r " name=" d a t

i n s t a n c e "

name=" d a t a "

i d=" r e s u l t D e s o r d e n a d o " />

</ p : p r o c e s s o r>

<!

Procesador

para

ordenar

las

pginas

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a " h r e f="#r e s u l t D e s o r d e n a d o " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e <i t e m s>

version

=" 2 . 0 ">

match=" / ">

< c u r s o s> <x s l : a p p l y </ c u r s o s> <p a g i n a s> <x s l : a p p l y

t e m p l a t e s

s e l e c t =" / i t e m s / c u r s o s / c u r s o " />

t e m p l a t e s

s e l e c t =" / i t e m s / p a g i n a s / p a g i n a "> data

<x s l : s o r t

s e l e c t =" @numero "

" a s c e n d i n g " /> </ x s l : a p p l y </ p a g i n a s> </ i t e m s> </ x s l : t e m p l a t e>

type

=" number "

o r d e r=

t e m p l a t e s>

<x s l : t e m p l a t e < c u r s o>

match=" / i t e m s / c u r s o s / c u r s o ">

<x s l : a t t r i b u t e

name=" nombre "> <x s l : v a l u e

o f o f

s e l e c t =" @nombre

" /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" e n t i d a d "> <x s l : v a l u e s e l e c t ="

@ e n t i d a d " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" p r o v i n c i a "> <x s l : v a l u e

o f o f

s e l e c t ="

@ p r o v i n c i a " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" m u n i c i p i o "> <x s l : v a l u e s e l e c t ="

@ m u n i c i p i o " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" i d C u r s o "> <x s l : v a l u e

o f

s e l e c t ="

@ i d C u r s o " /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" p a g "> <x s l : v a l u e

o f

s e l e c t =" @pag " /> </

x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" l e t r a "> <x s l : v a l u e

o f

s e l e c t =" @ l e t r a " /

> </ x s l : a t t r i b u t e> </ c u r s o> </ x s l : t e m p l a t e> <x s l : t e m p l a t e <p a g i n a> match=" / i t e m s / p a g i n a s / p a g i n a ">

268

Apndice B. Ficheros desarrollados para la aplicacin

190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222

<x s l : a t t r i b u t e

name=" a c t u a l "> <x s l : v a l u e

o f o f

s e l e c t =" @ a c t u a l

" /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" numero "> <x s l : v a l u e s e l e c t =" @numero

" /> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" t o t a l "> <x s l : v a l u e

o f

s e l e c t =" @ t o t a l " /

> </ x s l : a t t r i b u t e> </ p a g i n a> </ x s l : t e m p l a t e>

</ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a " i d=" r e s u l t " />

</ p : p r o c e s s o r>

<!

Generacin

del

fichero

X M L

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t

name=" o x f : x s l t "> name=" c o n f i g " name=" d a t a " name=" d a t h r e f=" c u r s o s _ f o r m a c i o n . x s l " />

h r e f="#r e s u l t " /> h r e f="#i n s t a n c e " />

i n s t a n c e "

name=" s e r v e r " name=" d a t a "

h r e f="#s e r v e r " /> i d=" l i s t " />

</ p : p r o c e s s o r>

<!

Serializacin

del

fichero

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : x m l

X M L > s e r i a l i z e r ">

</

</ p : i n p u t> <p : i n p u t

config contenttype encoding encoding version version config


name=" c o n f i g "> > < < < >u t f 8 </ > 1 . 0</ > > name=" d a t a "

> a p p l i c a t i o n / xml</ >

contenttype

>

h r e f="# l i s t " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

cursos_formacion.xsl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

<? xml

<x s l : s t y l e s h e e t

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 1 . 0 ">

encoding

="UTF

8" ?>

x m l n s : x a l a n=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />

<x s l : t e m p l a t e < >

page help
< <! <

match=" i t e m s ">

>c _ h e l p</

help

>

container image image image image


" 214 " < < < <

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=

i d=" c _ i n d i c e _ l a t e r a l " s i z e x =" 1 1 8 "

v i s =" 1 "

s i z e y =" 1 6 8 ">

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png " s i z e y =" 2 8 "> </ >

118 "

p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ >

image

p o s y=" 0 "

p o s x=" 0 "

s i z e x ="

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o n . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

image image image

p o s y=" 2 8 "

p o s x=" 0 "

p o s y=" 5 6 "

p o s x=" 0 "

p o s y=" 8 4 "

p o s x=" 0 "

B.3. Directorio de gestin del canal de retorno

269

17 18 19 20 21 22 23
</

image image container


< < 118 " 215 " <

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ w e b _ o f f . png " s i z e y =" 2 8 "> </ >

>

image

image

p o s y=" 1 1 2 "

p o s x=" 0 "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x ="

<! <

container menu
"

Contenedor

del

men

horizontal

( paginacin ) s i z e y =" 3 5 "

>
s i z e x =" 5 3 0 " p o s y="

a l p h a=" 0 "

i d=" c_menu_hor "

p o s x=" 3 0 "

v i s =" 1 "> p o s x=" 1 0 " p o s y=" 0 " s i z e x =" 5 3 0 " s t y l e =" s i z e y =" 2 5

t y p e=" h o r i z o n t a l "

i t e m x=" 3 6 "

i t e m y=" 2 5 "

s e p x=" 5 "

s e p y=" 0 "

s _ m e n u h o r C e n t r a d o ">

24 25 26 27 28 29 30 31 32 33 34

<x s l : v a r i a b l e

name=" t o t a l _ p a g "

s e l e c t =" / i t e m s / p a g i n a s / p a g i n a

[ 1 ] / @ t o t a l " /> <x s l : v a r i a b l e name=" p r i m e r a _ p a g " s e l e c t =" / i t e m s / p a g i n a s /

p a g i n a [ 1 ] / @numero " /> <x s l : v a r i a b l e name=" u l t i m a _ p a g " s e l e c t =" / i t e m s / p a g i n a s / p a g i n a

[ l a s t ( ) ] / @numero " /> <x s l : v a r i a b l e name="num_pag" s e l e c t =" d o c ( ' i n p u t : d a t

instance

' ) / s u b m i s s i o n / p a g " />

< x s l : c h o o s e> <x s l : w h e n t e s t =" $ p r i m e r a _ p a g = ' 1 ' "> name=" c u r s o r x "> <x s l : v a l u e

<x s l : a t t r i b u t e

of

s e l e c t ="

number ( $ num_pag </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : a t t r i b u t e

1 ) " /> </ x s l : a t t r i b u t e>

name=" c u r s o r x "> <x s l : v a l u e

of

s e l e c t ="

number ( $ num_pag

$ primera_pag

1 ) " /> </

35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

<

menuitem

x s l : a t t r i b u t e> img=" i m a g e s / b o t _ m a t r i x _ o f f . png " i m g f o c u s="

i m a g e s / b o t _ m a t r i x _ o n . png "

s t r =" &#60;&#60; " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e>

<x s l : a p p l y

templates

s e l e c t =" p a g i n a s / p a g i n a " />

<x s l : i f

t e s t =" $ u l t i m a _ p a g

!=

$ total_pag

and

$ ultima_pag

!=

<

menuitem
' 1 ' "> >

img=" i m a g e s / b o t _ m a t r i x _ o f f . png " s t r =" &#62;&#62; " />

i m g f o c u s=" i m a g e s

/ b o t _ m a t r i x _ o n . png "

</

menu container
</ >

</ x s l : i f >

<! <

container

Contenedor

del

men

vertical

( cursos )

>
s i z e x =" 5 1 0 " p o s y=" 2 5 0 "

i d="c_menu" v i s =" 1 ">

a l p h a=" 0 "

s i z e y =" 3 0 0 "

p o s x=" 3 0 "

< x s l : c h o o s e> <x s l : w h e n <

menu
<

t e s t =" c o u n t ( / / c u r s o ) ! = 0 "> t y p e=" v e r t i c a l " i t e m x=" 5 1 0 " p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 1 0 " s e p y=" 0 " s i z e y= s t y l e ="

" 300 "

i t e m y=" 2 7 "

s e p x=" 0 "

s _ m e n u v e r C u r s o s ">

52 53 54 55 56 57 58

<x s l : a p p l y

templates
s t r ="

s e l e c t =" c u r s o s / c u r s o " />

menuitem action
<

R e a l i z a r

nueva

bsqueda

"

>

k e y="O K"

a c t=" h i d e p a g e (

, showpage (

f o r m a c i o n _ e m p l e o ) "> name=" a c t b a c k "> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : a t t r i b u t e

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server

270

Apndice B. Ficheros desarrollados para la aplicacin

59

<x s l : v a r i a b l e input:dat

name=" t e x t o C u r s o "

s e l e c t =" d o c ( '

instance

' ) / submission /

t i p o C u r s o T e x t " />

60

<x s l : v a r i a b l e input:dat />

name=" t i p o C u r s o "

s e l e c t =" d o c ( '

instance

' ) / submission / tipoCurso "

61 62

<x s l : v a r i a b l e input:dat

name=" i n i c i o "

s e l e c t =" d o c ( '

instance instance

' ) / s u b m i s s i o n / i n i c i o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat />

name=" m u n i c i p i o "

' ) / submission / municipio "

63 64

<x s l : v a r i a b l e input:dat

name=" pg "

s e l e c t =" d o c ( '

instance instance

' ) / s u b m i s s i o n / p a g " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat />

name=" p r o v "

' ) / submission / provincia "

65

<x s l : v a r i a b l e hidepage (

name=" comun "

s e l e c t =" c o n c a t ( '

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / c u r s o s _ f o r m a c i o n ? t i p o C u r s o = ' ,$ tipoCurso , '& amp ; t i p o C u r s o T e x t = ' , $ t e x t o C u r s o , ' & amp ; i n i c i o = ' , $ i n i c i o , ' & amp ; m u n i c i p i o = ' , $ m u n i c i p i o , ' & amp ; p a g = ' , $ pg , ' & amp ; ' ) " />

66 67 68

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

') /

s u b m i s s i o n / t i p o C u r s o ! = 'AMP' "> <x s l : v a r i a b l e name=" c o l e c t i v o " s e l e c t ="

doc ( ' i n p u t : d a t / c o l e c t i v o " />

instance

' ) / submission

69

<x s l : v a r i a b l e

name=" f a m i l i a "

s e l e c t =" d o c

( ' input:dat f a m i l i a " />

instance

' ) / submission /

70

<x s l : v a r i a b l e

name=" p r a c t i c a s "

s e l e c t ="

doc ( ' i n p u t : d a t / p r a c t i c a s " />

instance

' ) / submission

71

<x s l : v a l u e

of

s e l e c t =" c o n c a t ( $ comun , '

c o l e c t i v o = ' , $ c o l e c t i v o , ' & amp ; f a m i l i a = ' , $ f a m i l i a , ' & amp ; c o d i g o= & amp ; p r a c t i c a s = ' , $ p r a c t i c a s , ' & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

72 73 74

</ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a r i a b l e name=" c o d i g o " s e l e c t =" d o c

( ' input:dat c o d i g o " />

instance

' ) / submission /

75

<x s l : v a r i a b l e

name=" f a m i l i a "

s e l e c t =" d o c

( ' input:dat f a m i l i a " />

instance

' ) / submission /

76

<x s l : v a l u e

of

s e l e c t =" c o n c a t ( $ comun , '

c o d i g o = ' , $ c o d i g o , ' & amp ; f a m i l i a = ' , $ f a m i l i a , ' c o l e c t i v o= & amp ; p r a c t i c a s= & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

77 78 79 80 81 82 83 84 85 86

</ x s l : o t h e r w i s e> </ x s l : c h o o s e>

</

</ x s l : w h e n>

action menuitem menu


</ </ > =" 9 0 " formacin

</ x s l : a t t r i b u t e> >

>

< x s l : o t h e r w i s e> < s t y l e =" s_body2 " p o s x=" 0 " se ha p o s y=" 2 5 " encontrado de s i z e x =" 5 1 0 " ningn curso sizey de

text

s c r o l l =" 0 ">No con los

parmetros

bsqueda

seleccionados

B.3. Directorio de gestin del canal de retorno

271

87

<

menu
. <

Pulse

"O K"

para

realizar p o s x=" 0 "

una

nueva

b s q u e d a .</

t y p e=" v e r t i c a l "

p o s y=" 1 1 5 "

s i z e x =" 5 1 0 "

text

>

s i z e y =" 2 7 "

i t e m x=" 5 1 0 "

i t e m y=" 2 7 "

s e p x=" 0 "

s e p y=" 0 "

88 89 90 91 92 93

menuitem action
<

s t y l e =" s _ m e n u v e r C u r s o s "> s t r ="

R e a l i z a r

nueva

bsqueda

"

>

k e y="O K"

a c t=" h i d e p a g e (

, showpage (

f o r m a c i o n _ e m p l e o ) "> name=" a c t b a c k "> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : a t t r i b u t e

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server <x s l : v a r i a b l e input:dat name=" t e x t o C u r s o "

s e l e c t =" d o c ( '

instance

' ) / submission /

t i p o C u r s o T e x t " />

94

<x s l : v a r i a b l e input:dat />

name=" t i p o C u r s o "

s e l e c t =" d o c ( '

instance

' ) / submission / tipoCurso "

95 96

<x s l : v a r i a b l e input:dat

name=" i n i c i o "

s e l e c t =" d o c ( '

instance instance

' ) / s u b m i s s i o n / i n i c i o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat />

name=" m u n i c i p i o "

' ) / submission / municipio "

97 98

<x s l : v a r i a b l e input:dat

name=" pg "

s e l e c t =" d o c ( '

instance instance

' ) / s u b m i s s i o n / p a g " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat />

name=" p r o v "

' ) / submission / provincia "

99

<x s l : v a r i a b l e hidepage (

name=" comun "

s e l e c t =" c o n c a t ( '

, showpage ( h t t p : / / ' , $ s e r v I p , ' :

' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / c u r s o s _ f o r m a c i o n ? t i p o C u r s o = ' ,$ tipoCurso , '& amp ; t i p o C u r s o T e x t = ' , $ t e x t o C u r s o , ' & amp ; i n i c i o = ' , $ i n i c i o , ' & amp ; m u n i c i p i o = ' , $ m u n i c i p i o , ' & amp ; p a g = ' , $ pg , ' & amp ; ' ) " />

100 101 102

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

') /

s u b m i s s i o n / t i p o C u r s o ! = 'AMP' "> <x s l : v a r i a b l e name=" c o l e c t i v o " s e l e c t ="

doc ( ' i n p u t : d a t / c o l e c t i v o " />

instance

' ) / submission

103

<x s l : v a r i a b l e

name=" f a m i l i a "

s e l e c t =" d o c

( ' input:dat f a m i l i a " />

instance

' ) / submission /

104

<x s l : v a r i a b l e

name=" p r a c t i c a s "

s e l e c t ="

doc ( ' i n p u t : d a t / p r a c t i c a s " />

instance

' ) / submission

105

<x s l : v a l u e

of

s e l e c t =" c o n c a t ( $ comun , '

c o l e c t i v o = ' , $ c o l e c t i v o , ' & amp ; f a m i l i a = ' , $ f a m i l i a , ' & amp ; c o d i g o= & amp ; p r a c t i c a s = ' , $ p r a c t i c a s , ' & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

106 107 108

</ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a r i a b l e name=" c o d i g o " s e l e c t =" d o c

( ' input:dat c o d i g o " />

instance

' ) / submission /

109

<x s l : v a r i a b l e

name=" f a m i l i a "

s e l e c t =" d o c

( ' input:dat f a m i l i a " />

instance

' ) / submission /

110

<x s l : v a l u e

of

s e l e c t =" c o n c a t ( $ comun , '

c o d i g o = ' , $ c o d i g o , ' & amp ; f a m i l i a = ' , $ f a m i l i a , ' c o l e c t i v o= & amp ; p r a c t i c a s= & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

272

Apndice B. Ficheros desarrollados para la aplicacin

111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135

</ x s l : o t h e r w i s e> </ x s l : c h o o s e>

</

</ x s l : o t h e r w i s e>

action menuitem menu


</ </ >

</ x s l : a t t r i b u t e> >

>

</

</ x s l : t e m p l a t e>

container page
</ >

</ x s l : c h o o s e> >

<x s l : t e m p l a t e <

menuitem

match=" p a g i n a s / p a g i n a "> img=" i m a g e s / b o t _ m a t r i x _ o f f . png " i m g f o c u s=" i m a g e s /

b o t _ m a t r i x _ o n . png "> name=" s t r "> <x s l : v a l u e

<x s l : a t t r i b u t e

of

s e l e c t =" @numero " /> </

x s l : a t t r i b u t e> <x s l : i f t e s t =" @ a c t u a l = ' 0 ' "> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) / r e q u e s t /

<x s l : v a r i a b l e server

n a m e " />
name=" s e r v P o r t " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) /

<x s l : v a r i a b l e

request / server <x s l : v a r i a b l e

p o r t " />
s e l e c t =" d o c ( ' i n p u t : d a t

name=" t e x t o C u r s o "

instance
')

' ) / s u b m i s s i o n / t i p o C u r s o T e x t " /> <x s l : v a r i a b l e name=" t i p o C u r s o " s e l e c t =" d o c ( ' i n p u t : d a t

instance
') /

/ s u b m i s s i o n / t i p o C u r s o " /> <x s l : v a r i a b l e name=" i n i c i o " s e l e c t =" d o c ( ' i n p u t : d a t

instance

s u b m i s s i o n / i n i c i o " /> <x s l : v a r i a b l e name=" m u n i c i p i o " s e l e c t =" d o c ( ' i n p u t : d a t

instance

')

/ s u b m i s s i o n / m u n i c i p i o " /> <x s l : v a r i a b l e <x s l : v a r i a b l e name=" pg " s e l e c t =" @numero " /> s e l e c t =" d o c ( ' i n p u t : d a t

name=" p r o v "

instance )

') /

s u b m i s s i o n / p r o v i n c i a " /> <x s l : v a r i a b l e name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e ( , showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / c u r s o s _ f o r m a c i o n ? t i p o C u r s o = ' , $ t i p o C u r s o , ' & amp ; t i p o C u r s o T e x t = ' , $ t e x t o C u r s o , ' & amp ; i n i c i o = ' , $ i n i c i o , ' & amp ; m u n i c i p i o = ' , $ m u n i c i p i o , ' & amp ; p a g = ' , $ pg , ' & amp ; ' ) " />

136 137 138 139 140 141 142

<x s l : a t t r i b u t e

name=" o n o v e r ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission /

t i p o C u r s o ! = 'AMP' "> <x s l : v a r i a b l e input:dat name=" c o l e c t i v o " s e l e c t =" d o c ( '

instance instance instance

' ) / s u b m i s s i o n / c o l e c t i v o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" f a m i l i a "

' ) / s u b m i s s i o n / f a m i l i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat <x s l : v a l u e

name=" p r a c t i c a s "

' ) / s u b m i s s i o n / p r a c t i c a s " />

of

s e l e c t =" c o n c a t ( $ comun , ' c o l e c t i v o = ' , $

c o l e c t i v o , ' & amp ; f a m i l i a = ' , $ f a m i l i a , ' & amp ; c o d i g o= & amp ; p r a c t i c a s = ' , $ p r a c t i c a s , ' & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

143 144 145 146 147

</ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a r i a b l e input:dat name=" c o d i g o " s e l e c t =" d o c ( '

instance instance

' ) / s u b m i s s i o n / c o d i g o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat <x s l : v a l u e

name=" f a m i l i a "

' ) / s u b m i s s i o n / f a m i l i a " />

of

s e l e c t =" c o n c a t ( $ comun , ' c o d i g o = ' , $ c o d i g o

, ' & amp ; f a m i l i a = ' , $ f a m i l i a , ' c o l e c t i v o= & amp ; p r a c t i c a s = & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

148 149 150

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : a t t r i b u t e>

B.3. Directorio de gestin del canal de retorno

273

151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180

</

</ x s l : t e m p l a t e>

menuitem

</ x s l : i f > >

<x s l : t e m p l a t e < >

menuitem

match=" c u r s o s / c u r s o ">

<x s l : a t t r i b u t e

name=" s t r ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" @ m u n i c i p i o ! = ' ' ">

<x s l : v a l u e /> </ x s l : w h e n>

of

s e l e c t =" c o n c a t ( @nombre , '

( ' , @municipio , ' ) ' ) "

< x s l : o t h e r w i s e> <x s l : v a l u e

of

s e l e c t =" @nombre " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : a t t r i b u t e>

<

action

k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) / r e q u e s t /

<x s l : v a r i a b l e server

n a m e " />
name=" s e r v P o r t " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) /

<x s l : v a r i a b l e

request / server <x s l : v a r i a b l e

p o r t " />
s e l e c t =" d o c ( ' i n p u t : d a t

name=" t e x t o C u r s o "

instance
')

' ) / s u b m i s s i o n / t i p o C u r s o T e x t " /> <x s l : v a r i a b l e name=" t i p o C u r s o " s e l e c t =" d o c ( ' i n p u t : d a t

instance
') /

/ s u b m i s s i o n / t i p o C u r s o " /> <x s l : v a r i a b l e name=" i n i c i o " s e l e c t =" d o c ( ' i n p u t : d a t

instance

s u b m i s s i o n / i n i c i o " /> <x s l : v a r i a b l e name=" m u n i c i p i o " s e l e c t =" d o c ( ' i n p u t : d a t

instance

')

/ s u b m i s s i o n / m u n i c i p i o " /> <x s l : v a r i a b l e <x s l : v a r i a b l e name=" p a g " name=" p r o v " s e l e c t =" @pag " /> s e l e c t =" d o c ( ' i n p u t : d a t

instance

') /

s u b m i s s i o n / p r o v i n c i a " /> <x s l : v a r i a b l e name=" f a m i l i a " s e l e c t =" d o c ( ' i n p u t : d a t

instance

') /

s u b m i s s i o n / f a m i l i a " /> <x s l : v a r i a b l e <x s l : v a r i a b l e <x s l : v a r i a b l e name=" i d C u r s o " name=" l e t r a " name=" comun " s e l e c t =" @ i d C u r s o " />

s e l e c t =" @ l e t r a " /> s e l e c t =" c o n c a t ( ' h i d e p a g e (

, showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / c u r s o s _ d e t a l l e ? t i p o C u r s o = ' , $ t i p o C u r s o , ' & amp ; t i p o C u r s o T e x t = ' , $ t e x t o C u r s o , ' & amp ; i n i c i o = ' , $ i n i c i o , ' & amp ; m u n i c i p i o = ' , $ m u n i c i p i o , ' & amp ; p a g = ' , $ pag , ' & amp ; f a m i l i a = ' , $ f a m i l i a , ' & amp ; i d C u r s o = ' , $ i d C u r s o , ' & amp ; l e t r a = ' , $ l e t r a , ' & amp ; ' ) " />

181

<x s l : v a r i a b l e

name=" comun2 "

s e l e c t =" c o n c a t ( ' h i d e p a g e (

, showpage

( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / c u r s o s _ f o r m a c i o n ? t i p o C u r s o = ' , $ t i p o C u r s o , ' & amp ; t i p o C u r s o T e x t = ' , $ t e x t o C u r s o , ' & amp ; i n i c i o = ' , $ i n i c i o , ' & amp ; m u n i c i p i o = ' , $ m u n i c i p i o , ' & amp ; p a g = ' , $ pag , ' & amp ; f a m i l i a = ' , $ f a m i l i a , ' & amp ; ' ) " />

182 183 184 185 186 187

<x s l : a t t r i b u t e

name=" a c t ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission /

t i p o C u r s o ! = 'AMP' "> <x s l : v a r i a b l e input:dat name=" c o l e c t i v o " s e l e c t =" d o c ( '

instance instance

' ) / s u b m i s s i o n / c o l e c t i v o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat <x s l : v a l u e

name=" p r a c t i c a s "

' ) / s u b m i s s i o n / p r a c t i c a s " />

of

s e l e c t =" c o n c a t ( $ comun , ' c o l e c t i v o = ' , $

c o l e c t i v o , ' & amp ; p r a c t i c a s = ' , $ p r a c t i c a s , ' & amp ; c o d i g o = & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

188 189

</ x s l : w h e n> < x s l : o t h e r w i s e>

274

Apndice B. Ficheros desarrollados para la aplicacin

190 191

<x s l : v a r i a b l e input:dat <x s l : v a l u e

name=" c o d i g o "

s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / c o d i g o " />

of

s e l e c t =" c o n c a t ( $ comun , ' c o l e c t i v o= & amp ;

p r a c t i c a s= & amp ; c o d i g o = ' , $ c o d i g o , ' & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

192 193 194 195 196 197 198 199 200

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" a c t b a c k ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t

instance

' ) / submission /

t i p o C u r s o ! = 'AMP' "> <x s l : v a r i a b l e input:dat name=" c o l e c t i v o " s e l e c t =" d o c ( '

instance instance

' ) / s u b m i s s i o n / c o l e c t i v o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat <x s l : v a l u e

name=" p r a c t i c a s "

' ) / s u b m i s s i o n / p r a c t i c a s " />

of

s e l e c t =" c o n c a t ( $ comun2 , ' c o l e c t i v o = ' , $

c o l e c t i v o , ' & amp ; p r a c t i c a s = ' , $ p r a c t i c a s , ' & amp ; c o d i g o = & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

201 202 203 204

</ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a r i a b l e input:dat <x s l : v a l u e name=" c o d i g o " s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / c o d i g o " />

of

s e l e c t =" c o n c a t ( $ comun2 , ' c o l e c t i v o= & amp ;

p r a c t i c a s= & amp ; c o d i g o = ' , $ c o d i g o , ' & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

205 206 207 208 209 210 211 212

</ x s l : o t h e r w i s e> </ x s l : c h o o s e>

</

</ x s l : t e m p l a t e>

action menuitem
</

</ x s l : a t t r i b u t e> >

>

</ x s l : s t y l e s h e e t >

cursos_detalle.xpl

1 2

<? xml

<p : c o n f i g

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

encoding

="UTF

8" ?>
x m l n s : t m g=" h t t p : x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f /

/ /www . t m i r a . com/ o p s / p r o c e s s o r s " pipeline "

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

<p : p a r a m

type

=" i n p u t "

name=" i n s t a n c e " />

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : r e q u e s t "> name=" c o n f i g "> stream

config

XMLSchema">

type

=" x s : a n y U R I "

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 /

< i n c l u d e>/ r e q u e s t / s e r v e r

</

</ p : i n p u t> <p : o u t p u t

config

< i n c l u d e>/ r e q u e s t / s e r v e r >

name</ i n c l u d e> p o r t</ i n c l u d e>

name=" d a t a "

i d=" s e r v e r " />

</ p : p r o c e s s o r>

<!

Procesador

para

generar

el

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a "

config

necesario

para

el

mtodo

HTTP

>

h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e

version

=" 2 . 0 ">

match=" / ">

B.3. Directorio de gestin del canal de retorno

275

22 23 24 25

<

config method action


> < <

>u r l

h t t p</ o f

>

method

>

<x s l : v a l u e

s e l e c t =" c o n c a t ( ' h t t p : / /www .

j u n t a d e a n d a l u c i a . e s / s e r v i c i o a n d a l u z d e e m p l e o / web / websae / p o r t a l / e s / empleo / f o r m a c i o n / ofertasFPE / ' , / submission / tipoCursoText , ' / d e t a l l e C u r s o ' , / s u b m i s s i o n / l e t r a , ' . h t m l ? s t e p=o b t e n e r C u r s o&amp ; i d C u r s o = ' , / s u b m i s s i o n / i d C u r s o , ' & amp ; pg = ' , /

26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

action cookies cookies timeout timeout contenttype contenttype encoding encoding config
</ < < < < > >y e s</ >4 0</ > > > t e x t / h t m l</ 8 </ >u t f > > i d=" m e t o d o _ h t t p " />

s u b m i s s i o n / pag , ' & amp ; t i c k e t =n o c a s ' ) " />

>

</ p : p r o c e s s o r>

<!

Mtodo GET

(HTTP)

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

> h t t p ">
h r e f="#m e t o d o _ h t t p " /> i d=" p a g e " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

<!

Seleccin

de

informacin

de

inters

en

el

fichero

H T M L

recibido

>

<p : p r o c e s s o r

name=" o x f : u n s a f e

x s l t ">

<p : i n p u t <i t e m s

name=" c o n f i g "> x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

x s l : v e r s i o n =" 2 . 0 ">

< t i t u l o>

e a c h s e l e c t =" / / h4 [ @ c l a s s = ' t i t b t n B u s c a r E m p l e o b t n B u s c a r E m p l e o 0 2 ' ] "> < x s l : v a l u e o f s e l e c t =" t e x t ( ) " /> </ x s l : f o r e a c h>
<x s l : f o r </ t i t u l o>

des

< t e x t o s> <x s l : f o r

e a c h

s e l e c t =" / /

">

< x s l : c h o o s e> <x s l : w h e n <x s l : i f t e s t =" name ( ) = ' h4 ' "> t e s t =" . / @ c l a s s = ' t i t

b t n B u s c a r E m p l e o

' ">

< t e x t o> <x s l : v a l u e , ' </ t e x t o> </ x s l : i f > </ x s l : w h e n> <x s l : w h e n <x s l : i f t e s t =" name ( ) = ' t d ' or name ( ) = ' l i ' ">

o f s e l e c t =" c o n c a t ( ' ' , t e x t ( ) ' ) " />

t e s t =" t e x t ( ) ! = ' ' ">

< t e x t o> <x s l : v a r i a b l e normalize < x s l : c h o o s e> <x s l : w h e n t e s t =" c o n t a i n s ( $ c a d e n a , ' name=" c a d e n a " s e l e c t ="

s p a c e ( t e x t ( ) ) " />

p i n c h a n d o ' ) "> <x s l : v a l u e

o f

s e l e c t =" s u b s t r i n g

b e f o r e ( $ c a d e n a , ' p i n c h a n d o ' ) " /> < x s l : t e x t>e n x s l : t e x t> el men de b s q u e d a .</

276

Apndice B. Ficheros desarrollados para la aplicacin

73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

</ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

o f

s e l e c t =" $ c a d e n a " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ t e x t o> </ x s l : i f > </ x s l : w h e n> </ x s l : c h o o s e> </ x s l : f o r </ t e x t o s>

e a c h>

</ i t e m s> </ p : i n p u t> <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t a " h r e f="#p a g e " /> i d=" r e s u l t " />

</ p : p r o c e s s o r>

<!

Generacin

del

fichero

X M L

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t

name=" o x f : x s l t "> name=" c o n f i g " name=" d a t a " name=" d a t h r e f=" c u r s o s _ d e t a l l e . x s l " />

h r e f="#r e s u l t " /> h r e f="#i n s t a n c e " />

i n s t a n c e "

name=" s e r v e r " name=" d a t a "

h r e f="#s e r v e r " /> i d=" l i s t " />

</ p : p r o c e s s o r>

<!

Serializacin

del

fichero

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : x m l

X M L > s e r i a l i z e r ">

</

</ p : i n p u t> <p : i n p u t

config contenttype encoding encoding version version config


name=" c o n f i g "> > < < < >u t f 8 </ > 1 . 0</ > > name=" d a t a "

> a p p l i c a t i o n / xml</ >

contenttype

>

h r e f="# l i s t " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

cursos_detalle.xsl

1 2 3 4 5 6 7 8 9 10 11 12 13

<? xml

<x s l : s t y l e s h e e t

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 1 . 0 ">

encoding

=" u t f

8 " ?>

x m l n s : x a l a n=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />

<x s l : t e m p l a t e < >

page help
< <! <

match=" i t e m s ">

>c _ h e l p</

help

>

container image image


" 214 " < <

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=

i d=" c _ i n d i c e _ l a t e r a l " s i z e x =" 1 1 8 "

v i s =" 1 "

s i z e y =" 1 6 8 ">

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png " s i z e y =" 2 8 "> </ >

118 "

p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ >

image

p o s y=" 0 "

p o s x=" 0 "

s i z e x ="

s i z e x =" 1 1 8 "

image

p o s y=" 2 8 "

p o s x=" 0 "

B.3. Directorio de gestin del canal de retorno

277

14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
</

image image image image container


< < < < 118 " <

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o n . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ w e b _ o f f . png " s i z e y =" 2 8 "> </ >

>

image
de

image image image

p o s y=" 5 6 "

p o s x=" 0 "

p o s y=" 8 4 "

p o s x=" 0 "

p o s y=" 1 1 2 "

p o s x=" 0 "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x ="

<! <

container text
<

Contenedor

del

texto

informacin

>
p o s x=" 3 0 " p o s y=" 2 1 4 "

i d=" c _ t e x t o "

v i s =" 1 "

a l p h a=" 0 "

s i z e x =" 5 2 0 "

s i z e y =" 2 7 0 "> p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 "

s t y l e =" s_body "

s c r o l l =" 0 "> <x s l : v a l u e

of

s e l e c t =" t i t u l o " /> </

text

text

s i z e y =" 2 5 " >

s t y l e =" s _ b o d y D e t a l l e " s c r o l l =" 1 ">

p o s x=" 0 "

p o s y=" 3 5 "

s i z e x =" 5 2 0 "

sizey

=" 2 4 5 "

<x s l : f o r

each

s e l e c t =" t e x t o s / t e x t o "> &g t ; 2 ">

<x s l : i f

t e s t =" p o s i t i o n ( )

<x s l : v a l u e

of

s e l e c t =" t e x t ( ) " />

< x s l : t e x t>

</ x s l : t e x t>

29 30 31 32 33 34 35 36

</ x s l : i f >

</

text container
</ > <

</ x s l : f o r

e a c h>

>

<! <

container menu
> <

Contenedor

del

men

>
a l p h a=" 0 " p o s x=" 1 4 5 " p o s y=" 4 9 0 "

i d="c_menu"

v i s =" 1 "

s i z e x =" 2 9 0 "

s i z e y =" 4 5 "> p o s x=" 0 " p o s y=" 0 " s i z e x =" 2 9 0 " s i z e y =" 4 5 "

t y p e=" h o r i z o n t a l "

i t e m x=" 1 3 0 "

i t e m y=" 4 5 "

s e p x=" 3 0 "

s e p y=" 0 "

s t y l e =" s_menuhor "

37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

menuitem action
<

s t r =" V o l v e r " > k e y="O K"> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

<x s l : v a r i a b l e

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server <x s l : v a r i a b l e input:dat

p o r t " />
s e l e c t =" d o c ( ' ' ) / s u b m i s s i o n / t i p o C u r s o T e x t " /> s e l e c t =" d o c ( '

name=" t e x t o C u r s o "

instance instance instance instance

<x s l : v a r i a b l e input:dat

name=" t i p o C u r s o "

' ) / s u b m i s s i o n / t i p o C u r s o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" i n i c i o "

' ) / s u b m i s s i o n / i n i c i o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" m u n i c i p i o "

' ) / s u b m i s s i o n / m u n i c i p i o " /> s e l e c t =" d o c ( ' i n p u t : d a t

<x s l : v a r i a b l e

name=" pg "

instance

' ) / s u b m i s s i o n / p a g " /> <x s l : v a r i a b l e input:dat name=" p r o v " s e l e c t =" d o c ( '

instance instance instance instance instance instance

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" c o l e c t i v o "

' ) / s u b m i s s i o n / c o l e c t i v o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" f a m i l i a "

' ) / s u b m i s s i o n / f a m i l i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r a c t i c a s "

' ) / s u b m i s s i o n / p r a c t i c a s " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" c o d i g o "

' ) / s u b m i s s i o n / c o d i g o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" i d C u r s o "

' ) / s u b m i s s i o n / i d C u r s o " />

278

Apndice B. Ficheros desarrollados para la aplicacin

52 53 54

<x s l : v a r i a b l e input:dat

name=" l e t r a "

s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / l e t r a " />

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e (

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / apps /16003/800/ r c / c u r s o s _ f o r m a c i o n ? t i p o C u r s o = ' , $ t i p o C u r s o , ' & amp ; t i p o C u r s o T e x t = ' , $ t e x t o C u r s o , ' & amp ; i n i c i o = ' , $ i n i c i o , ' & amp ; m u n i c i p i o = ' , $ m u n i c i p i o , ' & amp ; p a g = ' , $ pg , ' & amp ; f a m i l i a = ' , $ f a m i l i a , ' & amp ; c o l e c t i v o = ' , $ c o l e c t i v o , ' & amp ; p r a c t i c a s = ' , $ p r a c t i c a s , ' & amp ; c o d i g o = ' , $ c o d i g o , ' & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />

55 56 57 58 59

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

<x s l : a t t r i b u t e

name=" a c t b a c k "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e (

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / apps /16003/800/ r c / c u r s o s _ d e t a l l e ? t i p o C u r s o = ' , $ t i p o C u r s o , ' & amp ; t i p o C u r s o T e x t = ' , $ t e x t o C u r s o , ' & amp ; i n i c i o = ' , $ i n i c i o , ' & amp ; m u n i c i p i o = ' , $ m u n i c i p i o , ' & amp ; p a g = ' , $ pg , ' & amp ; f a m i l i a = ' , $ f a m i l i a , ' & amp ; c o l e c t i v o = ' , $ c o l e c t i v o , ' & amp ; p r a c t i c a s = ' , $ p r a c t i c a s , ' & amp ; c o d i g o = ' , $ c o d i g o , ' & amp ; p r o v i n c i a = ' , $ p r o v , ' & amp ; i d C u r s o = ' , $ i d C u r s o , ' & amp ; l e t r a = ' , $ l e t r a , ' ) ' ) " />

60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</

<

action menuitem menuitem action


</ <

</ x s l : a t t r i b u t e> >

>

s t r =" Nueva k e y="O K"

bsqueda " > a c t=" h i d e p a g e (

, showpage (

f o r m a c i o n _ e m p l e o ) "> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' )

<x s l : v a r i a b l e

/ r e q u e s t / server <x s l : v a r i a b l e

n a m e " />
s e l e c t =" d o c ( ' i n p u t : s e r v e r

name=" s e r v P o r t "

' ) / request / server <x s l : v a r i a b l e input:dat

p o r t " />
s e l e c t =" d o c ( ' ' ) / s u b m i s s i o n / t i p o C u r s o T e x t " /> s e l e c t =" d o c ( '

name=" t e x t o C u r s o "

instance instance instance instance

<x s l : v a r i a b l e input:dat

name=" t i p o C u r s o "

' ) / s u b m i s s i o n / t i p o C u r s o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" i n i c i o "

' ) / s u b m i s s i o n / i n i c i o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" m u n i c i p i o "

' ) / s u b m i s s i o n / m u n i c i p i o " /> s e l e c t =" d o c ( ' i n p u t : d a t

<x s l : v a r i a b l e

name=" pg "

instance

' ) / s u b m i s s i o n / p a g " /> <x s l : v a r i a b l e input:dat name=" p r o v " s e l e c t =" d o c ( '

instance instance instance instance instance instance instance

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" c o l e c t i v o "

' ) / s u b m i s s i o n / c o l e c t i v o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" f a m i l i a "

' ) / s u b m i s s i o n / f a m i l i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r a c t i c a s "

' ) / s u b m i s s i o n / p r a c t i c a s " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" c o d i g o "

' ) / s u b m i s s i o n / c o d i g o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" i d C u r s o "

' ) / s u b m i s s i o n / i d C u r s o " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" l e t r a "

' ) / s u b m i s s i o n / l e t r a " />

<x s l : a t t r i b u t e

name=" a c t b a c k ">

B.3. Directorio de gestin del canal de retorno

279

83

<x s l : v a r i a b l e (

name=" comun "

s e l e c t =" c o n c a t ( ' h i d e p a g e

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / apps /16003/800/ r c / c u r s o s _ d e t a l l e ? t i p o C u r s o = ' , $ t i p o C u r s o , ' & amp ; t i p o C u r s o T e x t = ' , $ t e x t o C u r s o , ' & amp ; i n i c i o = ' , $ i n i c i o , ' & amp ; m u n i c i p i o = ' , $ m u n i c i p i o , ' & amp ; p a g = ' , $ pg , ' & amp ; f a m i l i a = ' , $ f a m i l i a , ' & amp ; c o l e c t i v o = ' , $ c o l e c t i v o , ' & amp ; p r a c t i c a s = ' , $ p r a c t i c a s , ' & amp ; c o d i g o = ' , $ c o d i g o , ' & amp ; p r o v i n c i a = ' , $ p r o v , ' & amp ; i d C u r s o = ' , $ i d C u r s o , ' & amp ; l e t r a = ' , $ l e t r a , ' ) ' ) " />

84 85 86 87 88 89 90 91 92 93 94 95

<x s l : v a l u e

of

s e l e c t =" $ comun " />

</ x s l : a t t r i b u t e>

</

</ x s l : t e m p l a t e>

action menuitem menu container page


</ </ </ > </ > >

>

>

</ x s l : s t y l e s h e e t >

B.3.5. Directorio del SAE


directorio_SAE.xpl

1 2

<? xml

<p : c o n f i g

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

encoding

="UTF

8" ?>
x m l n s : t m g=" h t t p : x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f /

/ /www . t m i r a . com/ o p s / p r o c e s s o r s " pipeline "

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

<p : p a r a m

type

=" i n p u t "

name=" i n s t a n c e " />

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : r e q u e s t "> name=" c o n f i g "> stream

config

XMLSchema">

type

=" x s : a n y U R I "

x m l n s : x s=" h t t p : / /www . w3 . o r g / 2 0 0 1 /

< i n c l u d e>/ r e q u e s t / s e r v e r

</

</ p : i n p u t> <p : o u t p u t

config

< i n c l u d e>/ r e q u e s t / s e r v e r >

name</ i n c l u d e> p o r t</ i n c l u d e>

name=" d a t a "

i d=" s e r v e r " />

</ p : p r o c e s s o r>

<!

Procesador

para

generar

el

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a "

config

necesario

para

el

mtodo

HTTP

>

h r e f="#i n s t a n c e " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config method action


< <

version

=" 2 . 0 ">

match=" / ">

>u r l

h t t p</

>

method
o f

>

< x s l : c h o o s e> <x s l : w h e n t e s t =" / s u b m i s s i o n / o p c i o n = ' a r e a s ' "> s e l e c t =" c o n c a t ( ' h t t p : / /www .

<x s l : v a l u e

juntadeandalucia . es / servicioandaluzdeempleo / web / w e b s a e / p o r t a l / e s / i n s t i t u c i o n a l / c o n t a c t a r / directorioSAE / ate ' , / submission / p r o v i n c i a , ' / ?

280

Apndice B. Ficheros desarrollados para la aplicacin

t i c k e t =n o c a s ' ) " />

28 29 30

</ x s l : w h e n> <x s l : w h e n t e s t =" / s u b m i s s i o n / o p c i o n = ' d i r e c c i o n e s ' ">

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( ' h t t p : / /www .

juntadeandalucia . es / servicioandaluzdeempleo / web / w e b s a e / p o r t a l / e s / i n s t i t u c i o n a l / c o n t a c t a r / directorioSAE / ' ,/ submission / provincia , '/? t i c k e t =n o c a s ' ) " />

31 32 33

</ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

o f

s e l e c t =" c o n c a t ( ' h t t p : / /www .

juntadeandalucia . es / servicioandaluzdeempleo / web / w e b s a e / p o r t a l / e s / i n s t i t u c i o n a l / c o n t a c t a r / d i r e c t o r i o S A E / ' , / s u b m i s s i o n / o p c i o n , ' / ? t i c k e t= n o c a s ' ) " />

34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77

</ x s l : o t h e r w i s e>

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

action cookies cookies timeout timeout contenttype contenttype encoding encoding config
</ x s l : c h o o s e> > </ < < < < >y e s</ >4 0</ > > > t e x t / h t m l</ 8 </ >u t f > > i d=" m e t o d o _ h t t p " />

>

</ p : p r o c e s s o r>

<!

Mtodo GET

(HTTP)

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" tmg:tm

> h t t p ">
h r e f="#m e t o d o _ h t t p " /> i d=" p a g e " />

name=" c o n f i g " name=" d a t a "

</ p : p r o c e s s o r>

<!

Seleccin

de

informacin

de

inters

en

el

fichero

H T M L

recibido

>

<p : p r o c e s s o r <p : i n p u t <i t e m s

name=" o x f : u n s a f e name=" c o n f i g ">

x s l t ">
xsl:version

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

=" 2 . 0 "> < x s l : c h o o s e>

<!

reas

territoriales

> i n s t a n c e
' ) / s u b m i s s i o n / o p c i o n ='

<x s l : w h e n

t e s t =" d o c ( ' i n p u t : d a t

a r e a s ' "> <nombre> <x s l : f o r

e a c h

s e l e c t =" / / h3 [ @ c l a s s = ' b t n I n s t i t u c i o n a l ' ] /

s p a n "> <x s l : v a l u e </ x s l : f o r </ nombre> < a r e a s> <x s l : f o r

o f e a c h>

s e l e c t =" t e x t ( ) " />

e a c h

s e l e c t =" / / h4 [ @ c l a s s = ' t i t

b t n I n s t i t u c i o n a l

' ] "> <x s l : v a r i a b l e <a r e a> <x s l : a t t r i b u t e <x s l : v a l u e name=" numero "> s e l e c t =" $ p o s i c i o n " /> name=" p o s i c i o n " s e l e c t =" p o s i t i o n ( ) " />

o f

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" a c t u a l ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" $ p o s i c i o n=d o c ( ' i n p u t : d a t

i n s t a n c e ' ) / s u b m i s s i o n / p a g ">1</ x s l : w h e n> < x s l : o t h e r w i s e>0</ x s l : o t h e r w i s e>

B.3. Directorio de gestin del canal de retorno

281

78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134

</ x s l : c h o o s e> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : v a l u e name=" nombre "> s e l e c t =" t e x t ( ) " />

o f

</ x s l : a t t r i b u t e> < f i l a s> <x s l : f o r

e a c h

s e l e c t =" . . / t a b l e [ $ p o s i c i o n ] /

t b o d y / t r "> < f i l a> <x s l : f o r

e a c h

s e l e c t =" . / t d ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" t e x t ( ) ! = ' ' ">

<e l e m e n t o> <x s l : v a l u e " /> </ e l e m e n t o> </ x s l : w h e n> < x s l : o t h e r w i s e> <e l e m e n t o> <x s l : v a l u e

o f

s e l e c t =" t e x t ( )

o f

s e l e c t =" . /

s t r o n g / t e x t ( ) " /> </ e l e m e n t o> </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : f o r </ f i l a > </ x s l : f o r </ f i l a s > </ a r e a> </ x s l : f o r </ a r e a s> </ x s l : w h e n>

e a c h>

e a c h>

e a c h>

<!

Direcciones

provinciales

<x s l : w h e n

t e s t =" d o c ( ' i n p u t : d a t

> i n s t a n c e

' ) / s u b m i s s i o n / o p c i o n ='

d i r e c c i o n e s ' "> <nombre> <x s l : f o r

e a c h

s e l e c t =" / / h3 [ @ c l a s s = ' b t n I n s t i t u c i o n a l ' ] /

s p a n "> <x s l : v a l u e </ x s l : f o r </ nombre> < a r e a s> <x s l : f o r

o f e a c h>

s e l e c t =" t e x t ( ) " />

e a c h

s e l e c t =" / / t a b l e "> name=" p o s i c i o n " s e l e c t =" p o s i t i o n ( ) " />

<x s l : v a r i a b l e <a r e a>

<x s l : a t t r i b u t e <x s l : v a l u e

name=" numero "> s e l e c t =" $ p o s i c i o n " />

o f

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" a c t u a l ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" $ p o s i c i o n=d o c ( ' i n p u t : d a t

i n s t a n c e ' ) / s u b m i s s i o n / p a g ">1</ x s l : w h e n> < x s l : o t h e r w i s e>0</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : v a l u e ) " /> </ x s l : a t t r i b u t e> < f i l a s> <x s l : f o r name=" nombre "> s e l e c t =" c o n c a t ( ' S e d e ' ,$ posicion

o f

e a c h

s e l e c t =" . / t b o d y / t r ">

< f i l a> <x s l : f o r

e a c h

s e l e c t =" . / t d ">

282

Apndice B. Ficheros desarrollados para la aplicacin

135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196

< x s l : c h o o s e> <x s l : w h e n t e s t =" t e x t ( ) ! = ' ' ">

<e l e m e n t o> <x s l : v a l u e " /> </ e l e m e n t o> </ x s l : w h e n> < x s l : o t h e r w i s e> <e l e m e n t o> <x s l : v a l u e

o f

s e l e c t =" t e x t ( )

o f

s e l e c t =" . /

s t r o n g / t e x t ( ) " /> </ e l e m e n t o> </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : f o r </ f i l a > </ x s l : f o r </ f i l a s > </ a r e a> </ x s l : f o r </ a r e a s> </ x s l : w h e n>

e a c h>

e a c h>

e a c h>

<!

Servicios

centrales

>

< x s l : o t h e r w i s e> <nombre> <x s l : f o r

e a c h

s e l e c t =" / / meta [ @name= ' D e s c r i p t i o n ' ] ">

<x s l : v a l u e </ x s l : f o r </ nombre> < f i l a s> <x s l : f o r

o f

s e l e c t =" @ c o n t e n t " />

e a c h>

e a c h

s e l e c t =" / / t a b l e / t b o d y / t r ">

< f i l a> <x s l : f o r

e a c h

s e l e c t =" . / t d ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" t e x t ( ) ! = ' ' ">

<e l e m e n t o> <x s l : v a l u e </ e l e m e n t o> </ x s l : w h e n> < x s l : o t h e r w i s e> <e l e m e n t o> <x s l : v a l u e </ e l e m e n t o> </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : f o r </ f i l a > </ x s l : f o r </ f i l a s > </ x s l : o t h e r w i s e>

o f

s e l e c t =" t e x t ( ) " />

o f

s e l e c t =" . / b / t e x t ( ) " />

e a c h>

e a c h>

</ x s l : c h o o s e> </ i t e m s> </ p : i n p u t> <p : i n p u t <p : i n p u t <p : o u t p u t name=" d a t a " name=" d a t h r e f="#p a g e " /> h r e f="#i n s t a n c e " />

i n s t a n c e "

name=" d a t a "

i d=" r e s u l t " />

</ p : p r o c e s s o r>

<!

Generacin

del

fichero

X M L

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" c o n f i g " name=" d a t a " h r e f=" d i r e c t o r i o _ S A E . x s l " />

h r e f="#r e s u l t " />

B.3. Directorio de gestin del canal de retorno

283

197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214

<p : i n p u t <p : i n p u t <p : o u t p u t

name=" d a t

i n s t a n c e "

h r e f="#i n s t a n c e " />

name=" s e r v e r " name=" d a t a "

h r e f="#s e r v e r " /> i d=" l i s t " />

</ p : p r o c e s s o r>

<!

Serializacin

del

fichero

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : x m l

X M L > s e r i a l i z e r ">

</

</ p : i n p u t> <p : i n p u t

config contenttype encoding encoding version version config


name=" c o n f i g "> > < < < >u t f 8 </ > 1 . 0</ > > name=" d a t a "

> a p p l i c a t i o n / xml</ >

contenttype

>

h r e f="# l i s t " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

directorio_SAE.xsl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

<? xml

<x s l : s t y l e s h e e t

version

=" 1 . 0 "

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 1 . 0 ">

encoding

=" u t f

8 " ?>

x m l n s : x a l a n=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />

<x s l : t e m p l a t e < >

page help
< <! <

match=" i t e m s ">

>c _ h e l p</

help

>

</

container image image image image image image container


" 214 " < 118 " < < < < < 118 "

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=

i d=" c _ i n d i c e _ l a t e r a l "

v i s =" 1 "

s i z e x =" 1 1 8 "

s i z e y =" 1 6 8 ">

p a t h=" i m a g e s / i n d _ g u i a _ o f f . png " s i z e y =" 2 8 "> </ >

p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ >

image

p o s y=" 0 "

p o s x=" 0 "

s i z e x ="

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o n . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ w e b _ o f f . png " s i z e y =" 2 8 "> </ >

>

image

image image image image

p o s y=" 2 8 "

p o s x=" 0 "

p o s y=" 5 6 "

p o s x=" 0 "

p o s y=" 8 4 "

p o s x=" 0 "

p o s y=" 1 1 2 "

p o s x=" 0 "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x ="

<! <

container text
< </

Contenedor

del

ttulo

>
a l p h a=" 0 " p o s x=" 3 0 " p o s y=" 2 2 4 "

i d=" c _ t i t u l o "

v i s =" 1 "

s i z e x =" 5 2 0 "

s i z e y =" 2 5 "> p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 " s i z e y =" 2 5 "

s t y l e =" s_body "

s c r o l l =" 0 ">

</

text container
> or <!

<x s l : v a l u e

of

s e l e c t =" nombre " />

>

<x s l : i f

t e s t =" d o c ( ' i n p u t : d a t doc ( ' i n p u t : d a t Contenedor

i n s t a n c e ' ) / s u b m i s s i o n / o p c i o n =' a r e a s ' i n s t a n c e ' ) / s u b m i s s i o n / o p c i o n = ' d i r e c c i o n e s ' "> d e l men h o r i z o n t a l ( d e p a g i n a c i n ) >

284

Apndice B. Ficheros desarrollados para la aplicacin

29 30

<

container menu
=" 2 5 4 " <

a l p h a=" 0 " p o s x=" 3 0 "

i d=" c_menu_hor " v i s =" 1 "> p o s x=" 1 0 "

s i z e y =" 3 5 "

s i z e x =" 5 3 0 "

posy

t y p e=" h o r i z o n t a l " i t e m x=" 3 6 "

p o s y=" 0 "

s i z e x =" 5 3 0 "

s i z e y=

" 25 "

i t e m y=" 2 5 "

s e p x=" 5 "

s e p y=" 0 "

s t y l e ="

s _ m e n u h o r C e n t r a d o ">

31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
</ </

<x s l : v a r i a b l e input:dat

name="num_pag"

s e l e c t =" d o c ( '

instance

' ) / s u b m i s s i o n / p a g " />

<x s l : a t t r i b u t e ( $ num_pag <x s l : a p p l y

name=" c u r s o r x "> <x s l : v a l u e 1 ) " /> </ x s l : a t t r i b u t e>

of

s e l e c t =" number

templates

s e l e c t =" a r e a s / a r e a "

mode=" p a g i n a c i o n "

</

menu container
> 290 " <

/>

>

<! <

container text
"

Contenedor

del

subttulo

>
a l p h a=" 0 " p o s x=" 3 0 " p o s y="

i d=" c _ s u b t i t u l o "

v i s =" 1 "

s i z e x =" 5 2 0 "

s i z e y =" 2 0 "> p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 " s i z e y =" 2 5

s t y l e =" s_body2 "

s c r o l l =" 0 ">

<x s l : a p p l y

templates

s e l e c t =" a r e a s / a r e a "

mode=" s u b t i t u l o " /

</

</ x s l : i f >

text container
>

>

>

<! <

container

Contenedor

de

la ( s )

tabla ( s ) v i s =" 1 "

>
p o s x=" 4 0 " s i z e x =" 5 0 0 "

i d=" c _ t a b l a "

a l p h a=" 0 "

s i z e y =" 2 4 5 "> name=" p o s y ">

<x s l : a t t r i b u t e

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t or

o p c i o n =' a r e a s '

doc ( ' i n p u t : d a t

instance ' ) / submission / instance ' ) / submission

/ o p c i o n = ' d i r e c c i o n e s ' ">3 1 5</ x s l : w h e n>

50 51 52 53 54 55

< x s l : o t h e r w i s e>2 5 4</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : a t t r i b u t e> < s t y l e 1 =" s _ t a b l a _ i m p a r e s " c e l l y =" 3 5 " s i z e x =" 1 0 0 " s t y l e 0 =" s _ t a b l a _ p a r e s " s i z e y =" 2 4 5 " p o s x=" 0 " c e l l x ="

table

100 "

p o s y=" 0 ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t or

o p c i o n =' a r e a s '

doc ( ' i n p u t : d a t

instance ' ) / submission / instance ' ) / submission


mode=" t a b l a 1 " /

/ o p c i o n = ' d i r e c c i o n e s ' ">

56 57 58 59 60 61 62 63 64 65

<x s l : a p p l y > </ x s l : w h e n>

templates

s e l e c t =" a r e a s / a r e a "

< x s l : o t h e r w i s e> <x s l : a p p l y

templates

s e l e c t =" f i l a s / f i l a "

mode=" c o l 1 " />

</ x s l : o t h e r w i s e>

</ <

table table

</ x s l : c h o o s e> > s t y l e 1 =" s _ t a b l a _ i m p a r e s " c e l l y =" 3 5 " s i z e x =" 4 0 0 " s t y l e 0 =" s _ t a b l a _ p a r e s " s i z e y =" 2 4 5 " p o s x=" 1 0 0 " c e l l x =" p o s y=" 0 ">

400 "

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : d a t or

o p c i o n =' a r e a s '

doc ( ' i n p u t : d a t

instance ' ) / submission / instance ' ) / submission


mode=" t a b l a 2 " /

/ o p c i o n = ' d i r e c c i o n e s ' ">

66 67 68 69 70 71 72

<x s l : a p p l y > </ x s l : w h e n>

templates

s e l e c t =" a r e a s / a r e a "

< x s l : o t h e r w i s e> <x s l : a p p l y

templates

s e l e c t =" f i l a s / f i l a "

mode=" c o l 2 " />

</ x s l : o t h e r w i s e>

</

table

</ x s l : c h o o s e> >

B.3. Directorio de gestin del canal de retorno

285

73 74 75 76 77

</

container
<

>

<! <

container menu
<

Contenedor

del

botn

" Volver "

>
p o s x=" 5 5 8 " p o s y=" 4 4 5 "

i d="c_menu"

v i s =" 1 "

a l p h a=" 0 "

s i z e x =" 1 2 2 "

s i z e y =" 7 9 "> p o s x=" 0 " p o s y=" 0 " s i z e x =" 1 2 2 " s t y l e =" s i z e y =" 7 9 "

t y p e=" v e r t i c a l "

i t e m x=" 1 2 2 "

i t e m y=" 7 9 "

s e p x=" 0 "

s e p y=" 0 "

78 79 80 81 82 83 84 85 86

menuitem action
< ">

s_menuSinFondo "> img=" i m a g e s / b o t _ v o l v e r _ o f f . png " i m g f o c u s=" i m a g e s /

b o t _ v o l v e r _ o n . png "> k e y="O K" a c t=" h i d e p a g e (

, showpage ( d i r e c t o r i o _ S A E )

<x s l : a t t r i b u t e

name=" a c t b a c k "> name=" s e r v I p " s e l e c t =" d o c ( '

<x s l : v a r i a b l e

i n p u t : s e r v e r ' ) / r e q u e s t / server <x s l : v a r i a b l e name=" s e r v P o r t "

n a m e " /> p o r t " />

s e l e c t =" d o c ( '

input:server ' ) / request / server <x s l : v a r i a b l e input:dat name=" p a g "

s e l e c t =" d o c ( '

instance instance instance

' ) / s u b m i s s i o n / p a g " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" p r o v "

' ) / s u b m i s s i o n / p r o v i n c i a " /> s e l e c t =" d o c ( '

<x s l : v a r i a b l e input:dat

name=" o p c i o n "

' ) / s u b m i s s i o n / o p c i o n " /> s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e (

name=" r u t a "

, showpage ( h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' /

i t v / apps /16003/800/ r c / directorio_SAE ? o p c i o n = ' ,$ o p c i o n , ' & amp ; p r o v i n c i a = ' , $ p r o v , ' & amp ; p a g = ' , $ pag , ' ) ' ) " />

87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107

<x s l : v a l u e

of

s e l e c t =" $ r u t a " />

</

</ x s l : t e m p l a t e>

action menuitem menu container page


</ </ </ > </ > > Plantilla de

</ x s l : a t t r i b u t e> >

>

<!

<

paginacin

para

cada

rea

>
i m g f o c u s=" i m a g e s /

<x s l : t e m p l a t e

menuitem

match=" a r e a s / a r e a "

mode=" p a g i n a c i o n ">

img=" i m a g e s / b o t _ m a t r i x _ o f f . png "

b o t _ m a t r i x _ o n . png "> name=" s t r "> <x s l : v a l u e

<x s l : a t t r i b u t e

of

s e l e c t =" @numero " /> </

x s l : a t t r i b u t e> <x s l : i f t e s t =" @ a c t u a l = ' 0 ' "> name=" s e r v I p " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) / r e q u e s t /

<x s l : v a r i a b l e server

n a m e " />
name=" s e r v P o r t " s e l e c t =" d o c ( ' i n p u t : s e r v e r ' ) /

<x s l : v a r i a b l e

request / server <x s l : v a r i a b l e <x s l : v a r i a b l e

p o r t " />
s e l e c t =" @numero " /> s e l e c t =" d o c ( ' i n p u t : d a t

name=" p a g " name=" p r o v "

instance

') /

s u b m i s s i o n / p r o v i n c i a " /> <x s l : v a r i a b l e name=" o p c i o n " s e l e c t =" d o c ( ' i n p u t : d a t

instance )

') /

s u b m i s s i o n / o p c i o n " /> <x s l : v a r i a b l e name=" r u t a " s e l e c t =" c o n c a t ( ' h i d e p a g e ( , showpage (

h t t p : / / ' , $ s e r v I p , ' : ' , $ s e r v P o r t , ' / i t v / apps /16003/800/ r c / d i r e c t o r i o _ S A E ? o p c i o n = ' , $ o p c i o n , ' & amp ; p r o v i n c i a = ' , $ p r o v , ' & amp ; p a g = ' , $ pag , ' ) ' ) " />

108 109 110 111 112 113

<x s l : a t t r i b u t e <x s l : v a l u e

name=" o n o v e r "> s e l e c t =" $ r u t a " />

of

</ x s l : a t t r i b u t e>

</

</ x s l : t e m p l a t e>

menuitem

</ x s l : i f > >

286

Apndice B. Ficheros desarrollados para la aplicacin

114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155

<!

Plantilla

de

subttulo

para

el

rea

>

<x s l : t e m p l a t e <x s l : i f

match=" a r e a s / a r e a "

mode=" s u b t i t u l o ">

t e s t =" @ a c t u a l = ' 1 ' ">

<x s l : v a l u e </ x s l : i f > </ x s l : t e m p l a t e>

of

s e l e c t =" @nombre " />

<!

Plantilla

de

la

tabla

para

el

rea

>

<x s l : t e m p l a t e <x s l : i f

match=" a r e a s / a r e a "

mode=" t a b l a 1 ">

t e s t =" @ a c t u a l = ' 1 ' ">

<x s l : a p p l y </ x s l : i f > </ x s l : t e m p l a t e> <x s l : t e m p l a t e <x s l : i f

templates

s e l e c t =" f i l a s / f i l a "

mode=" c o l 1 " />

match=" a r e a s / a r e a "

mode=" t a b l a 2 ">

t e s t =" @ a c t u a l = ' 1 ' ">

<x s l : a p p l y </ x s l : i f > </ x s l : t e m p l a t e>

templates

s e l e c t =" f i l a s / f i l a "

mode=" c o l 2 " />

<!

<

Plantilla

para

cada

fila

>
mode=" c o l 1 ">

<x s l : t e m p l a t e > <x s l : f o r < >

tr

match=" f i l a s / f i l a "

</

</

</ x s l : t e m p l a t e> <x s l : t e m p l a t e < > <x s l : f o r < > <x s l : v a l u e >

tr

</ x s l : f o r >

td td

each

s e l e c t =" e l e m e n t o [ 1 ] ">

<x s l : v a l u e >

of

s e l e c t =" . " />

e a c h>

tr

match=" f i l a s / f i l a "

mode=" c o l 2 ">

</

</

</ x s l : t e m p l a t e>

tr

</ x s l : f o r >

td td

each

s e l e c t =" e l e m e n t o [ 2 ] ">

of

s e l e c t =" . " />

e a c h>

</ x s l : s t y l e s h e e t >

B.4. Directorio de gestin de las actualizaciones automticas


B.4.1. Ficheros generales
cong.xml

1 2 3 4 5 6 7 8

<? xml

< c o n f i g>

version

=" 1 . 0 "

encoding

=" u t f

8" ?>

<h t t p _ e n a b l e d> f a l s e </ h t t p _ e n a b l e d> <h t t p _ u r l> h t t p : / /</ h t t p _ u r l> <h t t p _ r e n e w> f a l s e </ h t t p _ r e n e w> <f t p _ e n a b l e d> f a l s e </ f t p _ e n a b l e d> < f t p _ s e r v e r> f t p : / /</ f t p _ s e r v e r> <f t p _ p o r t>2 1</ f t p _ p o r t>

B.4. Directorio de gestin de las actualizaciones automticas

287

9 10 11 12 13

<f t p _ u s e r n a m e /> <f t p _ p a s s w o r d /> < f t p _ f i l e /> <f t p _ r e n e w> f a l s e </ f t p _ r e n e w> </ c o n f i g>

main.xpl

<p : c o n f i g

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

x m l n s : t m g=" h t t p :

/ /www . t m i r a . com/ o p s / p r o c e s s o r s " pipeline "

x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f /

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s ">

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

<!

Encuentra

la

ruta

del

directorio

de

emisin

>

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : d i r e c t o r y name=" c o n f i g "> >

s c a n n e r ">

</

</ p : i n p u t> <p : o u t p u t

config directory config


<b a s e > la ruta

> . / . . / e m i s s i o n /</ b a s e

directory

>

name=" d a t a "

i d=" d i r _ e m i s s i o n " />

</ p : p r o c e s s o r>

<!

Encuentra

del

directorio

de

contenido

>

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : d i r e c t o r y name=" c o n f i g "> >

s c a n n e r ">

</

</ p : i n p u t> <p : o u t p u t

config directory config


<b a s e > de la

> . / . . / c o n t e n t /</ b a s e

directory

>

name=" d a t a "

i d=" d i r _ c o n t e n t " />

</ p : p r o c e s s o r>

<!

Comienzo

actualizacin

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a " h r e f="#d i r _ e m i s s i o n " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t

<

config timeout timeout key config


<x s l : t e m p l a t e < > >1 2 0</ < </ > </ x s l : s t y l e s h e e t > name=" d a t a "

version
>

=" 2 . 0 ">

match=" / ">

> <x s l : v a l u e

o f

s e l e c t =" / d i r e c t o r y / @path " /> </

key

>

</ x s l : t e m p l a t e>

</ p : i n p u t> <p : o u t p u t i d=" d a t a

u p d a t e " />

</ p : p r o c e s s o r>

<p : p r o c e s s o r <p : i n p u t

name=" tmg:tm

name=" c o n f i g "

appu p d a t e s t a r t "> h r e f="#d a t a u p d a t e " />

</ p : p r o c e s s o r>

<!

Recupera

las

opciones

para

cada

una

de

las

pginas

de

" gua

para

la

bsqueda " <p : p r o c e s s o r <p : i n p u t <p : o u t p u t

>
name=" o x f : i d e n t i t y "> h r e f=" d a t o s

name=" d a t a " name=" d a t a "

g u i a B u s q u e d a . xml " />

i d=" o p c i o n e s " />

</ p : p r o c e s s o r>

<!

Pipelines Internet

para

recuperar

los

datos

de

" gua

para

la

bsqueda "

de

>

288

Apndice B. Ficheros desarrollados para la aplicacin

50 51 52 53 54 55 56 57 58 59 60 61 62 63

<p : f o r

e a c h

h r e f="#o p c i o n e s "

s e l e c t =" / g u i a b u s q u e d a / d a t o s ">

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t

name=" o x f : p i p e l i n e "> name=" c o n f i g " h r e f=" g u i a B u s q u e d a . x p l " /> h r e f="#d i r _ e m i s s i o n " />

name=" d i r _ e m i s s i o n " name=" o p c i o n e s "

h r e f=" c u r r e n t ( ) " />

</ p : p r o c e s s o r> </ p : f o r

e a c h>
de

<!

Fin

<p : p r o c e s s o r <p : i n p u t

> appu p d a t e e n d "> name=" c o n f i g " h r e f="#d a t a u p d a t e " />


la actualizacin name=" tmg:tm

</ p : p r o c e s s o r>

</ p : c o n f i g>

B.4.2. Gua para la bsqueda de empleo


datos-guiaBusqueda.xml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

<? xml

version

=" 1 . 0 "

encoding

="UTF

8" ?>

<g u i a b u s q u e d a> <!

TU EMPLEO

>

<d a t o s> < t i p o>t u E m p l e o</ t i p o> <n o m b r e F i c h e r o>_11 </ n o m b r e F i c h e r o> < u r l>t u E m p l e o / c o n o c e r t e A T i M i s m o /</ u r l> <!

<i m a g e n I d>HombrePensando</ i m a g e n I d> <i m a g e n>_11 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>t u E m p l e o</ t i p o> <n o m b r e F i c h e r o>_12 </ n o m b r e F i c h e r o> < u r l>t u E m p l e o / c o n o c e r M e r c a d o L a b o r a l /</ u r l> <!

<i m a g e n I d>M u j e r P e n s a n d o</ i m a g e n I d> <i m a g e n>_12 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>t u E m p l e o</ t i p o> <n o m b r e F i c h e r o>_13 </ n o m b r e F i c h e r o> < u r l>t u E m p l e o / d e f i n i r P l a n B u s q u e d a /</ u r l> <!

<i m a g e n I d>HombrePensando</ i m a g e n I d> <i m a g e n>_13 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<!

C M O BUSCAR EMPLEO

>

<d a t o s> < t i p o>c o m o B u s c a r</ t i p o> <n o m b r e F i c h e r o>_21 </ n o m b r e F i c h e r o> < u r l>c o m o B u s c a r E m p l e o / i n t r o d u c c i o n /</ u r l> <!

<i m a g e n I d>HombrePensando</ i m a g e n I d> <i m a g e n>_21 </ i m a g e n>

>

B.4. Directorio de gestin de las actualizaciones automticas

289

42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>c o m o B u s c a r</ t i p o> <n o m b r e F i c h e r o>_22 </ n o m b r e F i c h e r o> < u r l>c o m o B u s c a r E m p l e o / c u r r i c u l u m V i t a e /</ u r l> <i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>c o m o B u s c a r</ t i p o> <n o m b r e F i c h e r o>_23 </ n o m b r e F i c h e r o> < u r l>c o m o B u s c a r E m p l e o / c a r t a P r e s e n t a c i o n /</ u r l> <!

<i m a g e n I d>C a r t a s E n c i m a M e s a</ i m a g e n I d> <i m a g e n>_23 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>c o m o B u s c a r</ t i p o> <n o m b r e F i c h e r o>_241</ n o m b r e F i c h e r o> < u r l>c o m o B u s c a r E m p l e o / c o m o O f r e c e r t e A E m p r e s a / c o m o O f r e c e r t a A E m p r e s a _ 1 . h t m l</ u r l> <!

<i m a g e n I d>O f r e c e r t e E m p r e s a</ i m a g e n I d> <i m a g e n>_24 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>c o m o B u s c a r</ t i p o> <n o m b r e F i c h e r o>_242</ n o m b r e F i c h e r o> < u r l>c o m o B u s c a r E m p l e o / c o m o O f r e c e r t e A E m p r e s a / c o m o O f r e c e r t e A E m p r e s a _ 2 . h t m l</ u r l> <i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>c o m o B u s c a r</ t i p o> <n o m b r e F i c h e r o>_25 </ n o m b r e F i c h e r o> < u r l>c o m o B u s c a r E m p l e o / b u s q u e d a E m p l e o I n t e r n e t /</ u r l> <!

<i m a g e n I d>A g e n d a E l e c t r o n i c a</ i m a g e n I d> <i m a g e n>_25 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>c o m o B u s c a r</ t i p o> <n o m b r e F i c h e r o>_261</ n o m b r e F i c h e r o> < u r l>c o m o B u s c a r E m p l e o / a f r o n t a r P r o c e s o S e l e c c i o n / a f r o n t a r P r o c e s o S e l e c c i o n _ 1 . h t m l</ u r l> <!

<i m a g e n I d>HombrePensando</ i m a g e n I d> <i m a g e n>_26 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s>

290

Apndice B. Ficheros desarrollados para la aplicacin

103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165

< t i p o>c o m o B u s c a r</ t i p o> <n o m b r e F i c h e r o>_262</ n o m b r e F i c h e r o> < u r l>c o m o B u s c a r E m p l e o / a f r o n t a r P r o c e s o S e l e c c i o n / a f r o n t a r P r o c e s o S e l e c c i o n _ 2 . h t m l</ u r l> <i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<!

A U T O E M P L E O

>

<d a t o s> < t i p o>a u t o e m p l e o</ t i p o> <n o m b r e F i c h e r o>_31 </ n o m b r e F i c h e r o> < u r l>a u t o e m p l e o / i n t r o d u c c i o n /</ u r l> <!

<i m a g e n I d>M u j e r S o n r i e n d o</ i m a g e n I d> <i m a g e n>_31 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>a u t o e m p l e o</ t i p o> <n o m b r e F i c h e r o>_32 </ n o m b r e F i c h e r o> < u r l>a u t o e m p l e o / c u l t u r a E m p r e n d e d o r a /</ u r l> <!

<i m a g e n I d>HombreMuro</ i m a g e n I d> <i m a g e n>_32 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>a u t o e m p l e o</ t i p o> <n o m b r e F i c h e r o>_33 </ n o m b r e F i c h e r o> < u r l>a u t o e m p l e o / p r e g u n t a s E m p r e n d e r /</ u r l> <!

<i m a g e n I d>HombrePensando</ i m a g e n I d> <i m a g e n>_33 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>a u t o e m p l e o</ t i p o> <n o m b r e F i c h e r o>_34 </ n o m b r e F i c h e r o> < u r l>a u t o e m p l e o / a n a l i s i s P r e v i o s /</ u r l> <i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>a u t o e m p l e o</ t i p o> <n o m b r e F i c h e r o>_35 </ n o m b r e F i c h e r o> < u r l>a u t o e m p l e o / t r a m i t e s A d m i n i s t r a t i v o s /</ u r l> <i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>a u t o e m p l e o</ t i p o> <n o m b r e F i c h e r o>_36 </ n o m b r e F i c h e r o> < u r l>a u t o e m p l e o / f r a n q u i c i a s /</ u r l> <!

<i m a g e n I d> F r a n q u i c i a s</ i m a g e n I d> <i m a g e n>_36 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

B.4. Directorio de gestin de las actualizaciones automticas

291

166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208

<!

FORMACIN

>

<d a t o s> < t i p o>f o r m a c i o n</ t i p o> <n o m b r e F i c h e r o>_41 </ n o m b r e F i c h e r o> < u r l>f o r m a c i o n / i n t r o d u c c i o n /</ u r l> <!

<i m a g e n I d>M u j e r T r a b a j a n d o P o r t a t i l</ i m a g e n I d> <i m a g e n>_41 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>f o r m a c i o n</ t i p o> <n o m b r e F i c h e r o>_42 </ n o m b r e F i c h e r o> < u r l>f o r m a c i o n / f o r m a c i o n A c a d e m i c a /</ u r l> <!

<i m a g e n I d> S a l a A s i e n t o s</ i m a g e n I d> <i m a g e n>_42 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>f o r m a c i o n</ t i p o> <n o m b r e F i c h e r o>_43 </ n o m b r e F i c h e r o> < u r l>f o r m a c i o n / f o r m a c i o n O c u p a c i o n a l /</ u r l> <!

<i m a g e n I d>O b r e r o T r a b a j a n d o</ i m a g e n I d> <i m a g e n>_43 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

<d a t o s> < t i p o>f o r m a c i o n</ t i p o> <n o m b r e F i c h e r o>_44 </ n o m b r e F i c h e r o> < u r l>f o r m a c i o n / o t r a s V i a s F o r m a c i o n /</ u r l> <!

<i m a g e n I d>H o m b r e T r a b a j a n d o P o r t a t i l</ i m a g e n I d> <i m a g e n>_44 </ i m a g e n>

>

<i m a g e n I d> </ i m a g e n I d> <i m a g e n> </ i m a g e n> </ d a t o s>

</ g u i a b u s q u e d a>

guiaBusqueda.xpl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

<p : c o n f i g

x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f / p i p e l i n e "

x m l n s : o x f=" h t t p : / /www . o r b e o n . com/ o x f / p r o c e s s o r s " x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " x m l n s : t m g=" h t t p : / /www . t m i r a . com/ o p s / p r o c e s s o r s ">

<p : p a r a m <p : p a r a m

name=" d i r _ e m i s s i o n " name=" o p c i o n e s "

type

=" i n p u t " />

type
el

=" i n p u t " />

<!

Procesador

para

generar

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a "

config

necesario

para

el

mtodo

HTTP

>

h r e f="#o p c i o n e s " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config

version

=" 2 . 0 ">

match=" / ">

292

Apndice B. Ficheros desarrollados para la aplicacin

16 17

<

url

>

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( ' h t t p : / /www .

j u n t a d e a n d a l u c i a . e s / s e r v i c i o a n d a l u z d e e m p l e o / web / websae / p o r t a l / e s / empleo / b u s c a r T r a b a j o / guiaEmpleo

18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

url contenttype config


</ < > >

/ ' , / d a t o s / u r l , ' ? t i c k e t =n o c a s ' ) " />

> t e x t / h t m l</

contenttype

>

i d=" m e t o d o _ h t t p " />

</ p : p r o c e s s o r>

<!

Procesador

para

obtener

el

fichero

H T M L

necesario

>

<p : p r o c e s s o r

name=" tmg:tm

u r l g e n e r a t o r "

x m l n s : p=" h t t p : / /www . o r b e o n . com/

o x f / p i p e l i n e "> <p : i n p u t <p : o u t p u t name=" c o n f i g " name=" d a t a " h r e f="#m e t o d o _ h t t p " /> i d=" p a g e " />

</ p : p r o c e s s o r>

<!

Procesador

para

obtener

la

informacin

til

del

fichero

H T M L

>

<p : p r o c e s s o r <p : i n p u t <i t e m s

name=" o x f : u n s a f e name=" c o n f i g ">

x s l t ">
xsl:version

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

=" 2 . 0 "> <!

Ttulo

de

la

pgina

> s p a c e ( / / h3 / s p a n / t e x t ( ) ) " />

< t i t u l o> <x s l : v a l u e </ t i t u l o>

o f

s e l e c t =" n o r m a l i z e

<x s l : f o r

e a c h

s e l e c t =" / / d i v [ @id = ' d o s name=" t e x t o "

c o l u m n a s d c h a

']/

">

<x s l : v a r i a b l e < x s l : c h o o s e> <!

s e l e c t =" . " />

Ttulo

>
and normalize

<x s l : w h e n ! = ' ' "> < t e x t o>

t e s t =" name ( ) = ' h4 '

s p a c e ( t e x t ( ) )

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( '

' , n o r m a l i z e s p a c e (

t e x t ( ) ) ) " /> < x s l : t e x t> </ x s l : t e x t> < x s l : t e x t> </ x s l : t e x t> </ t e x t o> </ x s l : w h e n> <!

Prrafo

de

texto

>
or c o u n t ( . / / s t r o n g ) ! = 0 ">

<x s l : w h e n <x s l : i f

t e s t =" name ( ) = 'p ' "> t e s t =" t e x t ( ) ! = ' '

< t e x t o> <x s l : v a l u e

o f

s e l e c t =" n o r m a l i z e

s p a c e ( $ t e x t o ) " />

< x s l : t e x t> </ x s l : t e x t> < x s l : t e x t> </ x s l : t e x t> </ t e x t o> </ x s l : i f > </ x s l : w h e n> <!

Tabla

>
t e s t =" name ( ) = ' t a b l e ' ">

<x s l : w h e n < t e x t o>

< x s l : t e x t> [ NOTA: de la derecha

Para el

ver

la

tabla , de a veces este

pulse que

la sean

flecha

nmero volver

necesarias .

Para

texto ,

pulse

la

B.4. Directorio de gestin de las actualizaciones automticas

293

flecha

de

la

izquierda

el

mismo

nmero

de

veces ]

</ x s l : t e x t>

71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98

< x s l : t e x t> </ x s l : t e x t> < x s l : t e x t> </ x s l : t e x t> </ t e x t o> < t a b l a> <x s l : f o r

e a c h

s e l e c t =" . / t b o d y / t r ">

< f i l a> <x s l : f o r

e a c h

s e l e c t =" . / t h ">

<e l e m e n t o C a b> <x s l : v a r i a b l e . " /> <x s l : v a l u e name=" t e x t o C e l d a " s e l e c t ="

o f

s e l e c t =" n o r m a l i z e

s p a c e ( $

t e x t o C e l d a ) " /> </ e l e m e n t o C a b> </ x s l : f o r <x s l : f o r

e a c h> e a c h s e l e c t =" . / t d ">


name=" n u m F i l a s "> s e l e c t =" @rowspan " />

<e l e m e n t o> <x s l : a t t r i b u t e <x s l : v a l u e

o f

</ x s l : a t t r i b u t e> <x s l : v a r i a b l e . " /> < x s l : c h o o s e> <x s l : w h e n t e s t =" $ t e x t o C e l d a ! = ' ' "> name=" t e x t o C e l d a " s e l e c t ="

<x s l : v a l u e

o f

s e l e c t =" n o r m a l i z e

s p a c e ( $ t e x t o C e l d a ) " /> </ x s l : w h e n> <x s l : w h e n t e s t =" c o u n t ( . / u l / / l i ) ! = 0 ">

<x s l : f o r

e a c h

s e l e c t =" . / u l / l i "> name=" t e x t o T a b L I "

<x s l : v a r i a b l e

s e l e c t =" . " /> <x s l : v a l u e ( '

o f

s e l e c t =" c o n c a t

' , normalize

s p a c e ( $
' ) " />

textoTabLI ) , '

99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114

</ x s l : f o r </ x s l : w h e n>

e a c h>

< x s l : o t h e r w i s e> <x s l : v a l u e

o f

s e l e c t =" . / s t r o n g /

t e x t ( ) " /> </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ e l e m e n t o> </ x s l : f o r </ f i l a > </ x s l : f o r </ t a b l a> </ x s l : w h e n> <!

e a c h>

e a c h>

Tabla

( dentro

de

' div ' )

>
and c o u n t ( . / / t a b l e ) ! = 0 ">

<x s l : w h e n < t e x t o>

t e s t =" name ( ) = ' d i v '

< x s l : t e x t> [ NOTA: de la derecha

Para el

ver

la

tabla , de a veces este mismo

pulse que

la sean

flecha

nmero volver

necesarias . flecha de la

Para

texto , nmero

pulse de

la

izquierda

el

veces ]

</ x s l : t e x t>

115 116 117 118 119 120

< x s l : t e x t> </ x s l : t e x t> < x s l : t e x t> </ x s l : t e x t> </ t e x t o> < t a b l a>

294

Apndice B. Ficheros desarrollados para la aplicacin

121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142

<x s l : f o r

e a c h

s e l e c t =" . / t a b l e / t b o d y / t r ">

< f i l a> <x s l : f o r

e a c h

s e l e c t =" . / t h ">

<e l e m e n t o C a b> <x s l : v a r i a b l e . " /> <x s l : v a l u e name=" t e x t o C e l d a " s e l e c t ="

o f

s e l e c t =" n o r m a l i z e

s p a c e ( $

t e x t o C e l d a ) " /> </ e l e m e n t o C a b> </ x s l : f o r <x s l : f o r

e a c h> e a c h s e l e c t =" . / t d ">


name=" n u m F i l a s "> s e l e c t =" @rowspan " />

<e l e m e n t o> <x s l : a t t r i b u t e <x s l : v a l u e

o f

</ x s l : a t t r i b u t e> <x s l : v a r i a b l e . " /> < x s l : c h o o s e> <x s l : w h e n t e s t =" $ t e x t o C e l d a ! = ' ' "> name=" t e x t o C e l d a " s e l e c t ="

<x s l : v a l u e

o f

s e l e c t =" n o r m a l i z e

s p a c e ( $ t e x t o C e l d a ) " /> </ x s l : w h e n> <x s l : w h e n t e s t =" c o u n t ( . / u l / / l i ) ! = 0 ">

<x s l : f o r

e a c h

s e l e c t =" . / u l / l i "> name=" t e x t o T a b L I "

<x s l : v a r i a b l e

s e l e c t =" . " /> <x s l : v a l u e ( '

o f

s e l e c t =" c o n c a t

' , normalize

s p a c e ( $
' ) " />

textoTabLI ) , '

143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168

</ x s l : f o r </ x s l : w h e n>

e a c h>

< x s l : o t h e r w i s e> <x s l : v a l u e

o f

s e l e c t =" . / s t r o n g /

t e x t ( ) " /> </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ e l e m e n t o> </ x s l : f o r </ f i l a > </ x s l : f o r </ t a b l a> </ x s l : w h e n> <!

e a c h>

e a c h>

Lista

>
t e s t =" name ( ) = ' u l ' or name ( ) = ' o l ' ">

<x s l : w h e n

<x s l : f o r

e a c h

s e l e c t =" . / l i ">

< t e x t o> < x s l : t e x t>&#9; < x s l : c h o o s e> <x s l : w h e n t e s t =" c o u n t ( . / / a ) =0"> name=" t e x t o L I " s e l e c t =" . " />

</ x s l : t e x t>

<x s l : v a r i a b l e <x s l : v a l u e

o f

s e l e c t =" n o r m a l i z e

s p a c e ( $

t e x t o L I ) " /> </ x s l : w h e n> <x s l : w h e n > <x s l : v a r i a b l e name=" n o m b r e L i n k " s e l e c t =" . / a t e s t =" c o n t a i n s ( . / a [ 1 ] / @ h r e f , ' . g i f ' ) "

[ 1 ] / t e x t ( ) " /> <x s l : v a l u e

o f

s e l e c t =" n o r m a l i z e

s p a c e ( $
pulse de

n o m b r e L i n k ) " /> < x s l : t e x t> la [ NOTA: de sean Para la ver la imagen , el nmero Para de

flecha que

derecha

veces a este

necesarias . pulse la

volver la

texto , el

flecha de

izquierda

mismo

nmero

v e c e s ]</

B.4. Directorio de gestin de las actualizaciones automticas

295

x s l : t e x t>

169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226

</ x s l : w h e n> </ x s l : c h o o s e> < x s l : t e x t> </ x s l : t e x t> <x s l : i f =0"> < x s l : t e x t> </ x s l : t e x t> </ x s l : i f > </ t e x t o> <x s l : i f t e s t =" c o u n t ( . / / a ) ! = 0 and contains (./ a [1]/ t e s t =" p o s i t i o n ( )= l a s t ( ) and count ( . / / l i )

@ h r e f , ' . g i f ' ) "> <e n l _ i m a g e n> <x s l : a t t r i b u t e name=" t i t u l o "> name=" n o m b r e L i n k " s e l e c t =" . / a

<x s l : v a r i a b l e

[ 1 ] / t e x t ( ) " /> <x s l : v a l u e

o f

s e l e c t =" n o r m a l i z e

s p a c e ( $

n o m b r e L i n k ) " /> </ x s l : a t t r i b u t e> <x s l : v a l u e

o f

s e l e c t =" . / a [ 1 ] / @ h r e f " />

</ e n l _ i m a g e n> </ x s l : i f > </ x s l : f o r </ x s l : w h e n> </ x s l : c h o o s e> </ x s l : f o r <x s l : i f

e a c h>

e a c h>
name=" i m a g e n I d " s e l e c t =" d o c ( ' i n p u t : o p c i o n e s ' ) /

t e s t =" d o c ( ' i n p u t : o p c i o n e s ' ) / d a t o s / i m a g e n I d ! = ' ' ">

<x s l : v a r i a b l e

d a t o s / i m a g e n I d " /> <x s l : f o r

e a c h

s e l e c t =" / / img [ @id=$ i m a g e n I d ] ">

<i m a g e n _ u r l> <x s l : v a l u e

o f

s e l e c t =" @ s r c " />

</ i m a g e n _ u r l> </ x s l : f o r </ x s l : i f > </ i t e m s> </ p : i n p u t> <p : i n p u t <p : i n p u t <p : o u t p u t name=" d a t a " h r e f="#p a g e " /> h r e f="#o p c i o n e s " />

e a c h>

name=" o p c i o n e s " name=" d a t a "

i d=" r e s u l t " />

</ p : p r o c e s s o r>

<!

Procesador

para

extraer

las

tablas

de

la

informacin

recuperada

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : x s l t "> name=" d a t a " h r e f="#r e s u l t " />

name=" c o n f i g ">

<x s l : s t y l e s h e e t

version

=" 2 . 0 ">

<x s l : t e m p l a t e <i t e m s>

match=" / ">

<x s l : a p p l y </ i t e m s> </ x s l : t e m p l a t e>

t e m p l a t e s

s e l e c t =" / i t e m s / t a b l a " />

<x s l : t e m p l a t e < t a b l e> <x s l : f o r

match=" / i t e m s / t a b l a ">

e a c h

s e l e c t =" f i l a ">

<x s l : i f < t r>

t e s t =" c o u n t ( . / / e l e m e n t o C a b ) =0">

<x s l : f o r <t d>

e a c h

s e l e c t =" e l e m e n t o ">

<x s l : i f

t e s t =" @ n u m F i l a s ! = ' ' "> name=" r o w s p a n ">

<x s l : a t t r i b u t e

296

Apndice B. Ficheros desarrollados para la aplicacin

227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285

<x s l : v a l u e

o f

s e l e c t =" @ n u m F i l a s " />

</ x s l : a t t r i b u t e> </ x s l : i f > <x s l : v a l u e </ t d> </ x s l : f o r </ t r> </ x s l : i f > </ x s l : f o r </ t a b l e> </ x s l : t e m p l a t e>

o f

s e l e c t =" . " />

e a c h>

e a c h>

</ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a " i d=" t a b l a s " />

</ p : p r o c e s s o r>

<!

Procesador ')

para

normalizar

las

tablas

( eliminar

el

atributo

' rowspan

>
name=" o x f : x s l t "> name=" c o n f i g " name=" d a t a " name=" d a t a " h r e f=" n o r m a l i z a r _ t a b l a s . x s l " />

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : o u t p u t

h r e f="#t a b l a s " /> i d=" t a b l a s _ n o r m " />

</ p : p r o c e s s o r>

<!

Procesador

para

dar

formato

al

fichero

X M L de

salida

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t <p : o u t p u t

name=" o x f : x s l t "> name=" c o n f i g " name=" d a t a " h r e f=" g u i a B u s q u e d a . x s l " />

h r e f="#r e s u l t " /> h r e f="#t a b l a s _ n o r m " /> h r e f="#o p c i o n e s " />

name=" t a b l a s "

name=" o p c i o n e s " name=" d a t a "

i d=" g u i a B u s q u e d a _ x m l " />

</ p : p r o c e s s o r>

<!

P r o c e s a d o r >
<p : i n p u t <p : i n p u t <p : i n p u t

para

definir

el

nombre

ruta

del

fichero

X M L de

salida

<p : p r o c e s s o r

name=" o x f : x s l t "> name=" d a t a " h r e f="#d i r _ e m i s s i o n " /> h r e f="#o p c i o n e s " />

name=" o p c i o n e s " name=" c o n f i g ">

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config
<

version

=" 2 . 0 ">

match=" / ">

<x s l : v a r i a b l e > <x s l : v a r i a b l e

name=" d i r e c t o r i o "

s e l e c t =" / d i r e c t o r y / @path " /

name=" n o m b r e F i c h "

s e l e c t =" d o c ( '

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

directory directory file file contenttype config


> <x s l : v a l u e > </ < > <x s l : v a l u e > </ < >

i n p u t : o p c i o n e s ' ) / d a t o s / n o m b r e F i c h e r o " />

of

s e l e c t =" $ d i r e c t o r i o " />

of

s e l e c t =" c o n c a t ( $ n o m b r e F i c h , ' . xml ' ) " />

> t e x t / xml</

contenttype

>

i d=" r u t a F i c h e r o " />

</ p : p r o c e s s o r>

<!

Procesador salida

para

definir

las

propiedades

contenido

del

fichero

X M L

de

>
name=" o x f : x m l

<p : p r o c e s s o r

c o n v e r t e r ">

B.4. Directorio de gestin de las actualizaciones automticas

297

286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327

<p : i n p u t <

</

</ p : i n p u t> <p : i n p u t <p : o u t p u t

config contenttype encoding encoding version version config


name=" c o n f i g "> > < < < >u t f 8 </ > 1 . 0</ > > name=" d a t a " name=" d a t a "

> a p p l i c a t i o n / xml</ >

contenttype

>

h r e f="#g u i a B u s q u e d a _ x m l " /> i d=" g u i a B u s q u e d a _ f i c h " />

</ p : p r o c e s s o r>

<!

Procesador

para

serializar

el

fichero

X M L de

salida

>

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : f i l e name=" c o n f i g " name=" d a t a "

s e r i a l i z e r ">

h r e f="#r u t a F i c h e r o " />

h r e f="#g u i a B u s q u e d a _ f i c h " />

</ p : p r o c e s s o r>

<!

Procesadores

para

recuperar

guardar

las

imgenes

de

bienvenida

>

<p : c h o o s e <p : w h e n

h r e f="#o p c i o n e s "> t e s t =" / d a t o s / i m a g e n I d ! = ' ' "> name=" o x f : p i p e l i n e "> name=" c o n f i g " h r e f=" g u i a B u s q u e d a _ i m a g e s B i e n v . x p l " /> h r e f="#d i r _ e m i s s i o n " />

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t

name=" d i r _ e m i s s i o n " name=" o p c i o n e s " name=" r e s u l t "

h r e f="#o p c i o n e s " />

h r e f="#r e s u l t " />

</ p : p r o c e s s o r> </ p : w h e n> < p : o t h e r w i s e> </ p : o t h e r w i s e> </ p : c h o o s e>

<!

>

Procesadores

para

recuperar

guardar

las

imgenes

de

informacin

<p : f o r

e a c h

h r e f="#r e s u l t "

s e l e c t =" / i t e m s / e n l _ i m a g e n ">

<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t

name=" o x f : p i p e l i n e "> name=" c o n f i g " h r e f=" g u i a B u s q u e d a _ i m a g e s I n f o . x p l " /> h r e f="#d i r _ e m i s s i o n " />

name=" d i r _ e m i s s i o n " name=" o p c i o n e s " name=" r e s u l t "

h r e f="#o p c i o n e s " />

h r e f=" c u r r e n t ( ) " />

</ p : p r o c e s s o r> </ p : f o r

e a c h>

</ p : c o n f i g>

normalizar_tablas.xsl

1 2 3 4 5 6 7 8 9 10 11 12

<? xml

<x s l : s t y l e s h e e t

version

=' 1.0 '

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 2 . 0 ">

encoding

= ' utf

' ?> xmlns:xalan

=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />


es decir , eliminar

<!

Este los

fichero atributos

tiene

por

funcin y

normalizar

tablas ;

' rowspan ' para las

' colspan ' celdas tengan mltiples , el y formar una tabla

empleados en mismo la

en H T M L que

definir celdas

todas

tamao

>

<x s l : v a r i a b l e <x s l : a p p l y

name=" t a b l e _ w i t h _ n o _ c o l s p a n s "> mode=" c o l s p a n " />

templates

</ x s l : v a r i a b l e>

298

Apndice B. Ficheros desarrollados para la aplicacin

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74

<x s l : v a r i a b l e <x s l : f o r

name=" t a b l e _ w i t h _ n o _ r o w s p a n s ">

e a c h s e l e c t =" $ t a b l e _ w i t h _ n o _ c o l s p a n s "> < x s l : a p p l y t e m p l a t e s mode=" r o w s p a n " /> </ x s l : f o r e a c h>


</ x s l : v a r i a b l e>

<x s l : t e m p l a t e <x s l : a p p l y

match=" / "> s e l e c t =" $ t a b l e _ w i t h _ n o _ r o w s p a n s " mode=" f i n a l " />

templates

</ x s l : t e m p l a t e>

<x s l : t e m p l a t e < x s l : c o p y>

match="@

| "

mode="# a l l ">

<x s l : a p p l y </ x s l : c o p y> </ x s l : t e m p l a t e>

templates

s e l e c t ="@

| "

mode="#c u r r e n t "

/>

<x s l : t e m p l a t e

match=" t d "

mode=" c o l s p a n ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" @ c o l s p a n "> name=" t h i s " s e l e c t =" 1 to s e l e c t =" . " @ c o l s p a n "> a s=" e l e m e n t ( ) " />

<x s l : v a r i a b l e <x s l : f o r < >

td

each

<x s l : c o p y

of
=

s e l e c t =" $ t h i s /@ ' width ' ) ] " />

[ n o t ( name ( )
/>

' colspan ' ) ] [ not

( name ( )

</

</ x s l : f o r </ x s l : w h e n>

td

<x s l : c o p y >

of

s e l e c t =" $ t h i s / n o d e ( ) "

e a c h>

< x s l : o t h e r w i s e> <x s l : c o p y

of

s e l e c t =" . "

/>

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : t e m p l a t e>

<!

Debe

funcionar

tanto

para

<x s l : t e m p l a t e < x s l : c o p y>

match=" t b o d y | t a b l e [ n o t ( t b o d y ) ] "

table tr
/

como

para

mode=" r o w s p a n ">

table

/ tbody /

tr

>

o f s e l e c t =" t r [ 1 ] " /> t e m p l a t e s s e l e c t =" t r [ 2 ] " mode=" r o w s p a n "> <x s l : w i t h p a r a m name=" p r e v i o u s R o w " s e l e c t =" t r [ 1 ] " </ x s l : a p p l y t e m p l a t e s>
<x s l : c o p y <x s l : a p p l y </ x s l : c o p y> </ x s l : t e m p l a t e>

/>

<x s l : t e m p l a t e <x s l : p a r a m

match=" t r "

mode=" r o w s p a n "> a s=" e l e m e n t ( ) " />

name=" p r e v i o u s R o w "

<x s l : v a r i a b l e

name=" c u r r e n t R o w "

s e l e c t =" . "

/>

<x s l : v a r i a b l e <x s l : f o r

name=" n o r m a l i z e d T D s "> s e l e c t =" $ p r e v i o u s R o w / t d ">

each

< x s l : c h o o s e> <x s l : w h e n t e s t =" @rowspan &g t ; 1 ">

< x s l : c o p y> <x s l : a t t r i b u t e <x s l : v a l u e name=" r o w s p a n "> s e l e c t =" @rowspan

of

1"

/>

</ x s l : a t t r i b u t e> <x s l : c o p y <x s l : c o p y </ x s l : c o p y> </ x s l : w h e n> < x s l : o t h e r w i s e>

of of

s e l e c t ="@

[ n o t ( name ( )
/>

' rowspan ' ) ] "

/>

s e l e c t =" n o d e ( ) "

B.4. Directorio de gestin de las actualizaciones automticas

299

75

<x s l : c o p y

of
/>

s e l e c t =" $ c u r r e n t R o w / t d [ 1

count ( c u r r e n t ( ) / or ( @rowspan = 1)

preceding ]) ]"

sibling::td

[ n o t ( @rowspan )

76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : f o r

e a c h>

</ x s l : v a r i a b l e>

<x s l : v a r i a b l e < x s l : c o p y>

name="newRow"

a s=" e l e m e n t ( t r ) ">

<x s l : c o p y <x s l : c o p y </ x s l : c o p y>

of of

s e l e c t =" $ c u r r e n t R o w /@

"

/> />

s e l e c t =" $ n o r m a l i z e d T D s "

</ x s l : v a r i a b l e>

<x s l : c o p y

of

s e l e c t =" $newRow"

/>

t e m p l a t e s s e l e c t =" f o l l o w i n g s i b l i n g : : t r [ 1 ] " p a r a m name=" p r e v i o u s R o w " s e l e c t =" $newRow" </ x s l : a p p l y t e m p l a t e s>


<x s l : a p p l y <x s l : w i t h </ x s l : t e m p l a t e>

mode=" r o w s p a n "> />

<x s l : t e m p l a t e

match=" t d "

mode=" f i n a l ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" @rowspan ">

< x s l : c o p y> <x s l : c o p y <x s l : c o p y </ x s l : c o p y> </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : c o p y

of of

s e l e c t ="@

[ n o t ( name ( )
/>

' rowspan ' ) ] "

/>

s e l e c t =" n o d e ( ) "

of

s e l e c t =" . "

/>

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : t e m p l a t e>

</ x s l : s t y l e s h e e t >

guiaBusqueda.xsl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

<? xml

<x s l : s t y l e s h e e t

version

=' 1.0 '

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m " =" 2 . 0 ">

encoding

= ' utf

' ?> xmlns:xalan

=" h t t p : / / xml . a p a c h e . o r g / x s l t "

version

<x s l : o u t p u t

method=" xml "

i n d e n t=" y e s "

xalan:indent

a m o u n t=" 4 " />

<x s l : v a r i a b l e

name=" n o m b r e F i c h e r o "

s e l e c t =" d o c ( ' i n p u t : o p c i o n e s ' ) / d a t o s /

n o m b r e F i c h e r o " />

<x s l : v a r i a b l e <x s l : v a l u e

name=" t o t a l T a b l a s "> s e l e c t =" c o u n t ( / / t a b l a ) " />

of

</ x s l : v a r i a b l e>

<x s l : t e m p l a t e < >

page help
< <! <

match=" i t e m s ">

>c _ h e l p</

help

>

container
" 214 "

Contenedor

del

ndice

lateral

>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=

i d=" c _ i n d i c e _ l a t e r a l " s i z e x =" 1 1 8 "

v i s =" 1 "

s i z e y =" 1 6 8 ">

300

Apndice B. Ficheros desarrollados para la aplicacin

19 20 21 22 23 24 25 26 27 28 29
</

image image image image image image container


< 118 " < < < < < 118 " 215 " <

p a t h=" i m a g e s / i n d _ g u i a _ o n . png " s i z e y =" 2 8 "> </ >

p a t h=" i m a g e s / i n d _ a n u n c i o s _ o f f . png " s i z e y =" 2 8 "> </ >

image

p o s y=" 0 "

p o s x=" 0 "

s i z e x ="

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ e m p r e s a s _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ f o r m a c i o n _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ d i r e c t o r i o _ o f f . png " s i z e y =" 2 8 "> </ >

s i z e x =" 1 1 8 "

p a t h=" i m a g e s / i n d _ w e b _ o f f . png " s i z e y =" 2 8 "> </ >

>

image

image image image image

p o s y=" 2 8 "

p o s x=" 0 "

p o s y=" 5 6 "

p o s x=" 0 "

p o s y=" 8 4 "

p o s x=" 0 "

p o s y=" 1 1 2 "

p o s x=" 0 "

p o s y=" 1 4 0 "

p o s x=" 0 "

s i z e x ="

<! <

container menu
" <

Contenedor

del

men

horizontal

( paginacin ) s i z e y =" 3 5 "

>
s i z e x =" 5 3 0 " p o s y="

a l p h a=" 0 "

i d=" c_menu_hor "

p o s x=" 3 0 "

v i s =" 1 "> p o s x=" 1 0 " p o s y=" 0 " s i z e x =" 5 3 0 " s t y l e =" s i z e y =" 2 5

t y p e=" h o r i z o n t a l "

i t e m x=" 3 6 "

i t e m y=" 2 5 "

s e p x=" 5 "

s e p y=" 0 "

30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

menuitem

s_menuhorCentrado "

c u r s o r x=" 0 "> i m g f o c u s=" i m a g e s /

img=" i m a g e s / b o t _ m a t r i x _ o f f . png " s t r =" 1 ">

b o t _ m a t r i x _ o n . png "

<x s l : a t t r i b u t e <x s l : v a l u e

name=" o n o v e r "> s e l e c t =" c o n c a t ( ' s h o w c o n t ( ' , $ n o m b r e F i c h e r o

of

, ' . c _ b i e n v ) ' ) " />

</

<

menuitem menuitem menuitem


> >

</ x s l : a t t r i b u t e> >

img=" i m a g e s / b o t _ m a t r i x _ o f f . png " s t r =" 2 ">

i m g f o c u s=" i m a g e s /

b o t _ m a t r i x _ o n . png "

<x s l : a t t r i b u t e <x s l : v a l u e

name=" o n o v e r "> s e l e c t =" c o n c a t ( ' s h o w c o n t ( ' , $ n o m b r e F i c h e r o

of

, ' . c _ t e x t o ) ' ) " /> </ x s l : a t t r i b u t e> >

</

<x s l : a p p l y

</

menu container
</

<x s l : a p p l y

templates templates

s e l e c t =" t a b l a "

mode=" p a g i n a c i o n " /> mode=" p a g i n a c i o n " />

s e l e c t =" e n l _ i m a g e n "

<! <

container

Contenedor

del

ttulo

de

la

pgina

>
p o s y=" 2 5 0 " s i z e x =" 5 2 0 "

i d=" c _ t i t u l o " a l p h a=" 0 ">

v i s =" 1 "

p o s x=" 3 0 "

s i z e y =" 2 5 "

<x s l : v a r i a b l e <x s l : v a r i a b l e

name=" t i t u l o 2 " name=" t i t u l o ">

s e l e c t =" t i t u l o " />

< x s l : c h o o s e> <x s l : w h e n ' "> <x s l : v a l u e </ x s l : w h e n> <x s l : w h e n t e s t =" d o c ( ' i n p u t : o p c i o n e s ' ) / d a t o s / t i p o = ' t e s t =" d o c ( ' i n p u t : o p c i o n e s ' ) / d a t o s / t i p o = ' t u E m p l eo

of

s e l e c t =" c o n c a t ( ' Tu

empleo:

' , $ t i t u l o 2 ) " />

c o m o B u s c a r ' "> <x s l : v a l u e

of

s e l e c t =" c o n c a t ( ' Cmo

buscar

empleo:

' ,$

t i t u l o 2 ) " /> </ x s l : w h e n> <x s l : w h e n t e s t =" d o c ( ' i n p u t : o p c i o n e s ' ) / d a t o s / t i p o = '

a u t o e m p l e o ' "> <x s l : v a l u e > </ x s l : w h e n> <x s l : w h e n t e s t =" d o c ( ' i n p u t : o p c i o n e s ' ) / d a t o s / t i p o = '

of

s e l e c t =" c o n c a t ( ' A u t o e m p l e o :

' ,$ t i t u l o 2 ) "/

f o r m a c i o n ' "> <x s l : v a l u e

of

s e l e c t =" c o n c a t ( ' F o r m a c i n :

' , $ t i t u l o 2 ) " />

B.4. Directorio de gestin de las actualizaciones automticas

301

63 64 65 66 67 68 69 70 71 72 73

</ x s l : w h e n> </ x s l : c h o o s e> </ x s l : v a r i a b l e> < s t y l e =" s_body " p o s x=" 0 " p o s y=" 0 " s i z e x =" 5 2 0 " s i z e y =" 2 5 "

text

s c r o l l =" 0 ">

</

text container
</ >

<x s l : v a l u e

of

s e l e c t =" $ t i t u l o " />

>

<! <

container

Contenedor

del

texto

(e

imagen ,

en

su

caso )

de

bienvenida

>

i d=" c _ b i e n v "

v i s =" 0 "

p o s x=" 3 0 "

p o s y=" 2 7 5 "

s i z e x =" 5 2 0 "

s i z e y =" 2 5 5 "

a l p h a=" 0 "> name=" t e x t o E n t r a d a " pulse el la flecha con s e l e c t =" ' P a r a de las la derecha de consultar una sola la y

<x s l : v a r i a b l e

informacin , luego Para

vez

desplace volver al

texto

flechas

a r r i b a / abajo . &#34;O K&#34; en

men

anterior ,

puede

pulsar

74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

<

text

cualquier

momento . ' " /> p o s y=" 0 " s i z e x =" 3 2 0 " s i z e y =" 2 5 5 " s c r o l l =" 0

s t y l e =" s_body2 "

"> name=" p o s x ">

<x s l : a t t r i b u t e

< x s l : c h o o s e> <x s l : w h e n t e s t =" d o c ( ' i n p u t : o p c i o n e s ' ) / d a t o s / i m a g e n I d

! = ' ' ">1 9 0</ x s l : w h e n> < x s l : o t h e r w i s e>1 0</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : a t t r i b u t e>

</

<x s l : i f <

text image
>

<x s l : v a l u e

of

s e l e c t =" $ t e x t o E n t r a d a " />

t e s t =" d o c ( ' i n p u t : o p c i o n e s ' ) / d a t o s / i m a g e n I d ! = ' ' "> p o s x=" 0 " p o s y=" 1 0 "> name=" n o m b r e _ f i c h 1 " s e l e c t =" d o c ( '

<x s l : v a r i a b l e

i n p u t : o p c i o n e s ' ) / d a t o s / i m a g e n " /> <x s l : v a r i a b l e name=" n o m b r e _ f i c h 2 " s e l e c t =" d o c ( '

i n p u t : o p c i o n e s ' ) / d a t o s / i m a g e n I d " /> <x s l : a t t r i b u t e <x s l : v a l u e name=" p a t h "> s e l e c t =" c o n c a t ( ' i m a g e s / ' , $ n o m b r e _ f i c h 1 , $

of

n o m b r e _ f i c h 2 , ' . j p g ' ) " />

</

image container
</ </ x s l : i f > > <

</ x s l : a t t r i b u t e> >

<! <

container menu
<

Contenedor

del

botn

" Volver "

>
p o s x=" 5 5 8 " p o s y=" 4 4 5 "

i d="c_menu"

v i s =" 1 "

a l p h a=" 0 "

s i z e x =" 1 2 2 "

s i z e y =" 7 9 "> p o s x=" 0 " p o s y=" 0 " s i z e x =" 1 2 2 " s t y l e =" s i z e y =" 7 9 "

t y p e=" v e r t i c a l "

i t e m x=" 1 2 2 "

i t e m y=" 7 9 "

s e p x=" 0 "

s e p y=" 0 "

97 98 99 100 101 102 103 104 105 106 107 108

menuitem action
<

s_menuSinFondo "> img=" i m a g e s / b o t _ g r a n d e _ o f f . png " s t r ="& # xD ; V o l v e r "> i m g f o c u s=" i m a g e s /

b o t _ g r a n d e _ o n . png " k e y="O K">

<x s l : a t t r i b u t e

name=" a c t "> name=" comun " s e l e c t =" c o n c a t ( ' h i d e p a g e

<x s l : v a r i a b l e

( ' , $ n o m b r e F i c h e r o , ' ) ' ) " /> <x s l : v a r i a b l e name=" comun2 ">

< x s l : c h o o s e> <x s l : w h e n > <x s l : v a l u e </ x s l : w h e n> <x s l : w h e n > <x s l : v a l u e </ x s l : w h e n> t e s t =" c o n t a i n s ( $ n o m b r e F i c h e r o , ' 2 6 ' ) " t e s t =" c o n t a i n s ( $ n o m b r e F i c h e r o , ' 2 4 ' ) "

of

s e l e c t =" ' , s h o w p a g e ( 2 4 ) ' " />

of

s e l e c t =" ' , s h o w p a g e ( 2 6 ) ' " />

302

Apndice B. Ficheros desarrollados para la aplicacin

109 110

< x s l : o t h e r w i s e> <x s l : v a l u e

of

s e l e c t =" c o n c a t ( ' , s h o w p a g e (

guia_busqueda ' , s u b s t r i n g ( $ nombreFichero , 2 , 1 ) , ' ) ' ) " />

111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : v a r i a b l e> <x s l : v a l u e

of

s e l e c t =" c o n c a t ( $ comun , $ comun2 ) " />

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" a c t b a c k ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" c o n t a i n s ( $ n o m b r e F i c h e r o , ' 2 4 ' ) ">

<x s l : v a l u e

of

s e l e c t =" c o n c a t ( ' h i d e p a g e ( 2 4 ) ,

s h o w p a g e ( ' , $ n o m b r e F i c h e r o , ' ) ' ) " /> </ x s l : w h e n> <x s l : w h e n t e s t =" c o n t a i n s ( $ n o m b r e F i c h e r o , ' 2 6 ' ) ">

<x s l : v a l u e

of

s e l e c t =" c o n c a t ( ' h i d e p a g e ( 2 6 ) ,

s h o w p a g e ( ' , $ n o m b r e F i c h e r o , ' ) ' ) " /> </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

of

s e l e c t =" c o n c a t ( ' h i d e p a g e (

guia_busqueda ' , s u b s t r i n g ( $ nombreFichero , 2 , 1 ) , ' ) , s h o w p a g e ( ' , $ n o m b r e F i c h e r o , ' ) ' ) " />

126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

</ x s l : o t h e r w i s e> </ x s l : c h o o s e>

</

action menuitem menu container


</ </ </ > > Contenedor s i z e x =" 5 2 0 " <

</ x s l : a t t r i b u t e> >

>

<! <

container text
</

del

texto

de

informacin

>
p o s x=" 3 0 " p o s y=" 2 7 5 "

i d=" c _ t e x t o "

v i s =" 0 "

a l p h a=" 0 "

s i z e y =" 2 5 5 "> p o s x=" 0 " p o s y=" 7 " s i z e x =" 5 2 0 " s i z e y=

s t y l e =" s _ b o d y D e t a l l e " s c r o l l =" 1 ">

" 245 "

</

text container
>

<x s l : a p p l y

templates

s e l e c t =" t e x t o " />

>

<x s l : a p p l y

templates templates

s e l e c t =" t a b l a "

mode=" c o n t e n e d o r e s " />

<x s l : a p p l y

s e l e c t =" e n l _ i m a g e n "

mode=" c o n t e n e d o r e s " />

</

</ x s l : t e m p l a t e>

page

>

<!

Plantilla

para

el

texto

de

informacin

>
') ) and not ( c o n t a i n s ( t e x t

<x s l : t e m p l a t e <x s l : i f

match=" t e x t o ">

t e s t =" n o t ( c o n t a i n s ( t e x t ( ) , ' D e s c a r g a r click en ' ) ) ">

( ) , ' haz

< x s l : c h o o s e> <x s l : w h e n "> <x s l : v a l u e </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a r i a b l e <x s l : i f name=" p o s i c i o n " &l t ; s e l e c t =" p o s i t i o n ( ) " /> 5 "> t e s t =" d o c ( ' i n p u t : o p c i o n e s ' ) / d a t o s / n o m b r e F i c h e r o ! = ' _43 '

of

s e l e c t =" . " />

t e s t =" $ p o s i c i o n

<x s l : v a l u e </ x s l : i f >

of

s e l e c t =" . " />

</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : i f >

B.4. Directorio de gestin de las actualizaciones automticas

303

163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196

</ x s l : t e m p l a t e>

<!

Plantilla

para

los

contenedores

de

las

tablas

>

<x s l : t e m p l a t e

match=" t a b l a "

mode=" c o n t e n e d o r e s ">

<x s l : v a r i a b l e <x s l : v a l u e

name=" p o s i c i o n "> s e l e c t =" p o s i t i o n ( ) " />

of

</ x s l : v a r i a b l e> <x s l : v a r i a b l e name=" h a y C a b e c e r a ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" c o u n t ( . / f i l a [ 1 ] / / e l e m e n t o C a b ) ! = 0 ">1</ x s l : w h e n>

< x s l : o t h e r w i s e>0</ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : v a r i a b l e>

<

container
2 6 5 ">

v i s =" 0 "

a l p h a=" 0 "

p o s x=" 3 0 "

p o s y=" 2 7 5 "

s i z e x =" 5 3 0 "

s i z e y ="

<x s l : a t t r i b u t e <x s l : v a l u e

name=" i d "> s e l e c t =" c o n c a t ( ' c _ t a b l a _ ' , $ p o s i c i o n ) " />

of

</ x s l : a t t r i b u t e>

< x s l : c h o o s e> <!

Caso

de

que el

sea proc .

la de

pgina

262

( Cmo

buscar 2)

empleo

Afrontar <x s l : w h e n <

seleccin

Pg .

>
s i z e x =" 5 2 0 "

text

t e s t =" $ n o m b r e F i c h e r o = ' _262 ' "> s t y l e =" s _ b o d y D e t a l l e " s c r o l l =" 1 "> p o s x=" 0 " p o s y=" 7 "

s i z e y =" 2 4 5 "

< x s l : c h o o s e> <x s l : w h e n <x s l : f o r t e s t =" $ h a y C a b e c e r a = ' 1 ' ">

<x s l : v a l u e

e a c h s e l e c t =" . / f i l a [ 1 ] / e l e m e n t o C a b [ 1 ] "> o f s e l e c t =" c o n c a t ( ' ' , t e x t ( ) , ' :&#xA e a c h> e a c h s e l e c t =" . / of

;&#xD ; ' ) " /> </ x s l : f o r <x s l : f o r

f i l a ">

<x s l : v a r i a b l e <x s l : v a l u e

name=" p o s F i l a "> s e l e c t =" p o s i t i o n ( ) " />

</ x s l : v a r i a b l e> <x s l : i f t e s t =" $ p o s F i l a &g t ; 1 "> s e l e c t =" d o c ( '

<x s l : v a r i a b l e

name=" t e x t o "

i n p u t : t a b l a s ' ) / i t e m s / t a b l e [ number ( $ p o s i c i o n ) ] / t r [ number ( $ p o s F i l a h a y C a b e c e r a ) ] / t d [ 1 ] " />

197 198 199 200 201 202 203 204 205 206 207 208

<x s l : v a l u e

of

s e l e c t =" c o n c a t ( '

' , $ t e x t o , '&#xA

;&#xD ; ' ) " /> </ x s l : i f > </ x s l : f o r <x s l : f o r

e a c h> e a c h s e l e c t =" . / f i l a [ 1 ] / e l e m e n t o C a b [ 2 ] "> <x s l : v a l u e o f s e l e c t =" c o n c a t ('&#xA;&#xD ; ' , t e x t


( ) , ' :& # xA;&#xD ; ' ) " />

</ x s l : f o r <x s l : f o r

e a c h> e a c h s e l e c t =" . / of

f i l a ">

<x s l : v a r i a b l e <x s l : v a l u e

name=" p o s F i l a "> s e l e c t =" p o s i t i o n ( ) " />

</ x s l : v a r i a b l e> <x s l : i f t e s t =" $ p o s F i l a &g t ; 1 "> s e l e c t =" d o c ( '

<x s l : v a r i a b l e

name=" t e x t o "

i n p u t : t a b l a s ' ) / i t e m s / t a b l e [ number ( $ p o s i c i o n ) ] / t r [ number ( $ p o s F i l a h a y C a b e c e r a ) ] / t d [ 2 ] " />

209 210 211 212 213

<x s l : v a l u e

of

s e l e c t =" c o n c a t ( '

' , $ t e x t o , '&#xA

;&#xD ; ' ) " /> </ x s l : i f > </ x s l : f o r </ x s l : w h e n> < x s l : o t h e r w i s e>

e a c h>

304

Apndice B. Ficheros desarrollados para la aplicacin

214 215 216 217 218

<x s l : f o r

each

s e l e c t =" . / f i l a "> name=" p o s F i l a "> s e l e c t =" p o s i t i o n ( ) " />

<x s l : v a r i a b l e <x s l : v a l u e

of

</ x s l : v a r i a b l e> <x s l : v a l u e

of

s e l e c t =" c o n c a t ( '

' , doc ( '

i n p u t : t a b l a s ' ) / i t e m s / t a b l e [ number ( $ p o s i c i o n ) ] / t r [ number ( $ p o s F i l a [ 1 ] , ' & # xA;&#xD ; ' ) " />

$ hayCabecera ) ] / td

219

<x s l : v a l u e

of

s e l e c t =" c o n c a t ( d o c ( ' i n p u t : t a b l a s ' ) /

i t e m s / t a b l e [ number ( $ p o s i c i o n ) ] / t r [ number ( $ posFila $ h a y C a b e c e r a ) ] / t d [ 2 ] , ' & # xA;&#xD;&#

xA;&#xD ; ' ) " />

220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266

</ x s l : f o r

e a c h>

</ x s l : o t h e r w i s e>

</

text

</ x s l : c h o o s e> >

</ x s l : w h e n>

<!

<

Caso

estndar:

se

crea

la

tabla

de

forma

normal

>
s i z e x=

< x s l : o t h e r w i s e> s t y l e 1 =" s _ t a b l a _ i m p a r e s " s i z e y =" 2 6 0 " p o s x=" 0 " s t y l e 0 =" s _ t a b l a _ p a r e s " p o s y=" 0 ">

table

" 525 "

<x s l : i f

t e s t =" $ h a y C a b e c e r a = ' 1 ' "> name=" s t y l e h e a d e r ">s _ t a b l a _ c a b e c e r a</

<x s l : a t t r i b u t e

x s l : a t t r i b u t e> </ x s l : i f >

<x s l : v a r i a b l e

name=" numCol ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" c o u n t ( . / f i l a [ 1 ] / / e l e m e n t o C a b ) ! = 0 ">

<x s l : v a l u e

of

s e l e c t =" c o u n t ( . / f i l a [ 1 ] / /

e l e m e n t o C a b ) " /> </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e /> </ x s l : o t h e r w i s e> </ x s l : c h o o s e> </ x s l : v a r i a b l e> <x s l : v a r i a b l e name=" n u m F i l " s e l e c t =" c o u n t ( . / / f i l a ) " />

of

s e l e c t =" c o u n t ( . / f i l a [ 1 ] / / e l e m e n t o ) "

<x s l : a t t r i b u t e <x s l : v a l u e

name=" c e l l x "> s e l e c t =" number ( f l o o r ( 5 2 0 div $ numCol ) ) " />

of

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : v a l u e name=" c e l l y "> s e l e c t =" number ( f l o o r ( 2 5 5 div $ n u m F i l ) ) " />

of

</ x s l : a t t r i b u t e>

<x s l : f o r

each

s e l e c t =" f i l a "> name=" p o s F i l a "> s e l e c t =" p o s i t i o n ( ) " />

<x s l : v a r i a b l e <x s l : v a l u e

of

</ x s l : v a r i a b l e> < > < x s l : c h o o s e> <x s l : w h e n <x s l : f o r < > <x s l : v a l u e > t e s t =" c o u n t ( . / / e l e m e n t o C a b ) ! = 0 ">

tr

</

</ x s l : f o r </ x s l : w h e n>

th th

each

s e l e c t =" e l e m e n t o C a b ">

of

s e l e c t =" . " />

e a c h>

< x s l : o t h e r w i s e>

B.4. Directorio de gestin de las actualizaciones automticas

305

267

<x s l : f o r

each

s e l e c t =" d o c ( ' i n p u t : t a b l a s ' ) /

i t e m s / t a b l e [ number ( $ p o s i c i o n ) ] / t r [ number ( $

268 269 270 271 272

<

td

posFila >

$ h a y C a b e c e r a ) ] / t d ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" p o s i t i o n ( ) =4 and $

n o m b r e F i c h e r o = '_13 ' "> <x s l : i f t e s t =" $ p o s F i l a ! = ' 5 ' "> name=" t e x t o "

<x s l : v a r i a b l e

before ( after ( text () , c o n c a t ( number ( $ p o s F i l a $


s e l e c t =" s u b s t r i n g substring hayCabecera ) , ' . number ( $ p o s F i l a hayCabecera + ') ) , concat (

1 ) , ' . ' ) ) " />

273

<x s l : v a l u e

of

s e l e c t =" c o n c a t (

number ( $ p o s F i l a hayCabecera ) , ' . >

' ,$ texto ) "/

274 275 276

</ x s l : i f > <x s l : i f t e s t =" $ p o s F i l a = ' 5 ' "> name=" t e x t o "

<x s l : v a r i a b l e

s e l e c t =" s u b s t r i n g

after (

t e x t ( ) , c o n c a t ( number ( $ posFila ' ) ) " />

$ hayCabecera ) , ' .

277

<x s l : v a l u e

of

s e l e c t =" c o n c a t (

number ( $ p o s F i l a hayCabecera ) , ' . >

' ,$ texto ) "/

278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310

</ x s l : i f > </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

of

s e l e c t =" . " />

</ x s l : o t h e r w i s e>

</

</ x s l : f o r

td

</ x s l : c h o o s e> >

e a c h>

</ x s l : o t h e r w i s e>

</

</ x s l : f o r

tr

</ x s l : c h o o s e> >

e a c h>

</

</ x s l : o t h e r w i s e>

table

>

</ x s l : c h o o s e>

</

</ x s l : t e m p l a t e>

container
Plantilla

>

<!

de

paginacin

para

las

tablas

>

<x s l : t e m p l a t e

match=" t a b l a "

mode=" p a g i n a c i o n ">

<x s l : v a r i a b l e <x s l : v a l u e

name=" p o s i c i o n "> s e l e c t =" p o s i t i o n ( ) " />

of

</ x s l : v a r i a b l e> < img=" i m a g e s / b o t _ m a t r i x _ o f f . png " i m g f o c u s=" i m a g e s /

menuitem

b o t _ m a t r i x _ o n . png "> name=" s t r "> s e l e c t =" number ( $ p o s i c i o n + 2 ) " />

<x s l : a t t r i b u t e <x s l : v a l u e

of

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e name=" o n o v e r ">

< x s l : c h o o s e> <x s l : w h e n t e s t =" $ n o m b r e F i c h e r o = ' _262 ' ">

306

Apndice B. Ficheros desarrollados para la aplicacin

311 312 313 314

<x s l : v a l u e

of

s e l e c t =" c o n c a t ( ' s h o w c o n t ( ' , $ n o m b r e F i c h e r o , ' .

c _ t a b l a _ ' , $ p o s i c i o n , ' ) ' ) " /> </ x s l : w h e n> < x s l : o t h e r w i s e> <x s l : v a l u e

of

s e l e c t =" c o n c a t ( ' s h o w c o n t ( ' , $ n o m b r e F i c h e r o , ' .

c_tabla_ ' , $ p o s i c i o n , ' ) , l o c k c o n t ( ' , $ n o m b r e F i c h e r o , ' . c _ t a b l a _ ' , $ p o s i c i o n , ' ) ' ) " />

315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355

</ x s l : o t h e r w i s e> </ x s l : c h o o s e>

</

</ x s l : t e m p l a t e>

menuitem

</ x s l : a t t r i b u t e> >

<!

Plantilla

para

los

contenedores

de

las

imgenes

de

informacin

>

<x s l : t e m p l a t e

match=" e n l _ i m a g e n "

mode=" c o n t e n e d o r e s ">

<x s l : v a r i a b l e <x s l : v a l u e

name=" p o s i c i o n "> s e l e c t =" p o s i t i o n ( ) " />

of

</ x s l : v a r i a b l e> < v i s =" 0 " a l p h a=" 0 " p o s x=" 3 0 " p o s y=" 2 7 5 " s i z e x =" 5 2 0 " s i z e y ="

container
2 5 5 "> <

<x s l : a t t r i b u t e <x s l : v a l u e

name=" i d "> s e l e c t =" c o n c a t ( ' c_imag_info_ ' , $ p o s i c i o n ) " />

of

</ x s l : a t t r i b u t e> p o s x=" 1 0 " p o s y=" 0 "> name=" n o m b r e _ f i c h 1 " s e l e c t =" d o c ( ' i n p u t : o p c i o n e s ' ) /

image

<x s l : v a r i a b l e

d a t o s / n o m b r e F i c h e r o " /> <x s l : v a r i a b l e name=" n o m b r e _ f i c h 2 " s e l e c t =" s u b s t r i n g

after ( text ()

, ' g a l e r i a I m a g e n e s / ' ) " /> <x s l : a t t r i b u t e <x s l : v a l u e name=" p a t h "> s e l e c t =" c o n c a t ( ' i m a g e s / ' , $ n o m b r e _ f i c h 1 , $

of

n o m b r e _ f i c h 2 ) " />

</

</ x s l : t e m p l a t e>

image container
</ Plantilla

</ x s l : a t t r i b u t e> > >

<!

de

paginacin

para

las

imgenes

de

informacin

>

<x s l : t e m p l a t e

match=" e n l _ i m a g e n "

mode=" p a g i n a c i o n ">

<x s l : v a r i a b l e <x s l : v a l u e

name=" p o s i c i o n "> s e l e c t =" p o s i t i o n ( ) " />

of

</ x s l : v a r i a b l e> < img=" i m a g e s / b o t _ m a t r i x _ o f f . png " i m g f o c u s=" i m a g e s /

menuitem

b o t _ m a t r i x _ o n . png "> name=" s t r "> s e l e c t =" number ( $ p o s i c i o n + $ totalTablas + 2 ) " />

<x s l : a t t r i b u t e <x s l : v a l u e

of

</ x s l : a t t r i b u t e> <x s l : a t t r i b u t e <x s l : v a l u e name=" o n o v e r "> s e l e c t =" c o n c a t ( ' s h o w c o n t ( ' , $ n o m b r e F i c h e r o , ' .

of

c_imag_info_ ' , $ p o s i c i o n , ' ) ' ) " />

</

</ x s l : t e m p l a t e>

menuitem

</ x s l : a t t r i b u t e> >

</ x s l : s t y l e s h e e t >

guiaBusqueda_imagesBienv.xpl

<p : c o n f i g

x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f / p i p e l i n e "

x m l n s : o x f=" h t t p : / /www

. o r b e o n . com/ o x f / p r o c e s s o r s " T r a n s f o r m ">

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/

B.4. Directorio de gestin de las actualizaciones automticas

307

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

<p : p a r a m <p : p a r a m <p : p a r a m

name=" d i r _ e m i s s i o n " name=" o p c i o n e s " name=" r e s u l t "

type type

=" i n p u t " />

type
la

=" i n p u t " />

=" i n p u t " />

<!

Procesador

para

definir

URL

en

la

que

se

encuentra

la

imagen

>

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : x s l t "> name=" c o n f i g "> x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

config url
< </ < <

x s l : v e r s i o n =" 2 . 0 "> >

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( ' h t t p : / /www . j u n t a d e a n d a l u c i a . e s

</

</ p : i n p u t> <p : i n p u t <p : o u t p u t

url contenttype validating config


> >

' , / i t e m s / i m a g e n _ u r l ) " />

>i m a g e / j p e g</

> t r u e</

contenttype validating
>

>

name=" d a t a " name=" d a t a "

h r e f="#r e s u l t " /> i d=" c o n f i g

u r l " />

</ p : p r o c e s s o r>

<!

Procesador

para

definir

el

nombre

directorio

del

fichero

de

salida

>
<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t name=" o x f : x s l t "> name=" d a t a " h r e f="#r e s u l t " /> h r e f="#d i r _ e m i s s i o n " />

name=" d i r _ e m i s s i o n " name=" o p c i o n e s " name=" c o n f i g ">

h r e f="#o p c i o n e s " />

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config

version

=" 2 . 0 ">

match=" / ">

<x s l : v a r i a b l e

name=" s a l v a r _ d i r "

s e l e c t =" d o c ( '

i n p u t : d i r _ e m i s s i o n ' ) / d i r e c t o r y / @path " /> <x s l : v a r i a b l e name=" s a l v a r _ f i c h 1 " s e l e c t =" d o c ( '

i n p u t : o p c i o n e s ' ) / d a t o s / i m a g e n " /> <x s l : v a r i a b l e name=" s a l v a r _ f i c h 2 " s e l e c t =" d o c ( '

<

</ <

directory directory file


> > >

i n p u t : o p c i o n e s ' ) / d a t o s / i m a g e n I d " /> >

<x s l : v a l u e >

o f

s e l e c t =" c o n c a t ( $ s a l v a r _ d i r , ' / i m a g e s ' ) " />

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( $ s a l v a r _ f i c h 1 , $

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

file contenttype config


</ <

s a l v a r _ f i c h 2 , ' . j p g ' ) " />

>i m a g e / j p e g</

contenttype

>

i d=" c o n f i g

f i c h s a l " />

</ p : p r o c e s s o r>

<!

Procesador

para

recuperar

la

imagen

>

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" o x f : u r l name=" c o n f i g " name=" d a t a "

g e n e r a t o r ">
h r e f="#c o n f i g

u r l " />

i d=" i m a g e n " />

</ p : p r o c e s s o r>

<!

Procesador

para

serializar

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : f i l e name=" c o n f i g " name=" d a t a "

l a i m a g e n > s e r i a l i z e r "> h r e f="#c o n f i g f i c h s a l " />

h r e f="#i m a g e n " />

</ p : p r o c e s s o r>

308

Apndice B. Ficheros desarrollados para la aplicacin

60

</ p : c o n f i g>

guiaBusqueda_imagesInfo.xpl

<p : c o n f i g

x m l n s : p=" h t t p : / /www . o r b e o n . com/ o x f / p i p e l i n e "

x m l n s : o x f=" h t t p : / /www

. o r b e o n . com/ o x f / p r o c e s s o r s " T r a n s f o r m ">

x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

<p : p a r a m <p : p a r a m <p : p a r a m

name=" d i r _ e m i s s i o n " name=" o p c i o n e s " name=" r e s u l t "

type type

=" i n p u t " />

type
la

=" i n p u t " />

=" i n p u t " />

<!

Procesador

para

definir

URL

en

la

que

se

encuentra

la

imagen

>

<p : p r o c e s s o r <p : i n p u t <

name=" o x f : x s l t "> name=" c o n f i g "> x m l n s : x s l=" h t t p : / /www . w3 . o r g / 1 9 9 9 /XSL/ T r a n s f o r m "

config url
< </ < <

x s l : v e r s i o n =" 2 . 0 "> >

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( ' h t t p : / /www . j u n t a d e a n d a l u c i a . e s

</

</ p : i n p u t> <p : i n p u t <p : o u t p u t

url contenttype validating config


> >

' , / e n l _ i m a g e n ) " />

>i m a g e / g i f </

> t r u e</

contenttype validating
>

>

name=" d a t a " name=" d a t a "

h r e f="#r e s u l t " /> i d=" c o n f i g

u r l " />

</ p : p r o c e s s o r>

<!

Procesador

para

definir

el

nombre

directorio

del

fichero

de

salida

>
<p : p r o c e s s o r <p : i n p u t <p : i n p u t <p : i n p u t <p : i n p u t name=" o x f : x s l t "> name=" d a t a " h r e f="#r e s u l t " /> h r e f="#d i r _ e m i s s i o n " />

name=" d i r _ e m i s s i o n " name=" o p c i o n e s " name=" c o n f i g ">

h r e f="#o p c i o n e s " />

<x s l : s t y l e s h e e t <x s l : t e m p l a t e < >

config

version

=" 2 . 0 ">

match=" / ">

<x s l : v a r i a b l e

name=" s a l v a r _ d i r "

s e l e c t =" d o c ( '

i n p u t : d i r _ e m i s s i o n ' ) / d i r e c t o r y / @path " /> <x s l : v a r i a b l e name=" s a l v a r _ f i c h 1 " s e l e c t =" d o c ( '

i n p u t : o p c i o n e s ' ) / d a t o s / n o m b r e F i c h e r o " /> <x s l : v a r i a b l e name=" s a l v a r _ f i c h 2 " s e l e c t =" s u b s t r i n g

a f t e r

<

</ <

directory directory file


> > >

( / e n l _ i m a g e n , ' g a l e r i a I m a g e n e s / ' ) " /> >

<x s l : v a l u e >

o f

s e l e c t =" c o n c a t ( $ s a l v a r _ d i r , ' / i m a g e s ' ) " />

<x s l : v a l u e

o f

s e l e c t =" c o n c a t ( $ s a l v a r _ f i c h 1 , $

</

</ x s l : t e m p l a t e> </ x s l : s t y l e s h e e t > </ p : i n p u t> <p : o u t p u t name=" d a t a "

file contenttype config


</ <

s a l v a r _ f i c h 2 ) " />

>i m a g e / g i f </

contenttype

>

i d=" c o n f i g

f i c h s a l " />

</ p : p r o c e s s o r>

<!

Procesador

para

recuperar

la

imagen

>

B.5. Relacin de cheros adicionales

309

49 50 51 52 53 54 55 56 57 58 59 60

<p : p r o c e s s o r <p : i n p u t <p : o u t p u t

name=" o x f : u r l name=" c o n f i g " name=" d a t a "

g e n e r a t o r ">
h r e f="#c o n f i g

u r l " />

i d=" i m a g e n " />

</ p : p r o c e s s o r>

<!

Procesador

para

serializar

<p : p r o c e s s o r <p : i n p u t <p : i n p u t

name=" o x f : f i l e name=" c o n f i g " name=" d a t a "

l a i m a g e n > s e r i a l i z e r "> h r e f="#c o n f i g f i c h s a l " />

h r e f="#i m a g e n " />

</ p : p r o c e s s o r>

</ p : c o n f i g>

B.5. Relacin de cheros adicionales


Adems de todos los anteriormente enumerados, en el directorio de emisin hay una serie de cheros adicionales necesarios para la ejecucin de la aplicacin. Salvo por el chero por pantalla. A continuacin se listarn todos estos cheros:

background.mpg,

el resto corresponden a imgenes que se muestran

Fondo de la aplicacin: Fichero

background.mpg.

Imgenes del men de ayuda: Todos estos cheros estn contenidos dentro
del subdirectorio

help:

help.png help_ok.png help_flechas.png help_amarillo.png help_azul.png help_rojo.png help_verde.png


Botones de los mens: Todas estas imgenes se encuentran dentro del
subdirectorio

images:

bot_grande_on.png bot_grande_off.png bot_buscar_on.png bot_buscar_off.png bot_volver_on.png bot_volver_off.png bot_nuevaBusqueda_on.png bot_nuevaBusqueda_off.png

310

Apndice B. Ficheros desarrollados para la aplicacin

Imgenes del ndice lateral: Todas estas imgenes tambin se encuentran


en el subdirectorio

images:

ind_guia_on.png ind_guia_off.png ind_anuncios_on.png ind_anuncios_off.png ind_empresas_on.png ind_empresas_off.png ind_formacion_on.png ind_formacion_off.png ind_directorio_on.png ind_directorio_off.png ind_web_on.png ind_web_off.png
Imgenes de paginacin: Al igual que los anteriores, estos dos cheros se
hallan en el subdirectorio

images:

bot_matrix_on.png bot_matrix_off.png
Cuadro del ndice principal: Esta imagen, de nombre
bin se encuentra en el subdirectorio

images.

mp_ayuda.png, tam-

Imgenes del mapa: Por ltimo, las imgenes correspondientes a la creacin


del mapa de Andaluca tambin se encuentran en el subdirectorio

images:

mapa_almeria_on.png mapa_almeria_off.png mapa_cadiz_on.png mapa_cadiz_off.png mapa_cordoba_on.png mapa_cordoba_off.png mapa_granada_on.png mapa_granada_off.png mapa_huelva_on.png mapa_huelva_off.png mapa_jaen_on.png mapa_jaen_off.png

B.5. Relacin de cheros adicionales

311

mapa_malaga_on.png mapa_malaga_off.png mapa_sevilla_on.png mapa_sevilla_off.png mapa_todas_on.png mapa_todas_off.png

Bibliografa
[1] DVB. Documentacin del proyecto DVB. 2010. Disponible en

dvb.org

http://www. http://www.

(ltimo acceso, Septiembre 2010).

[2] DVB. Documentacin sobre MHP y GEM. 2010. Disponible en

mhp.org

(ltimo acceso, Septiembre 2010). Documentacin sobre MPEG. 2010. Disponible en

[3] MPEG.

chiariglione.org
ponible en

http://mpeg.
2010. Dis-

(ltimo acceso, Septiembre 2010).

[4] SAE.

Pgina de la Gua para la bsqueda de empleo.

http://www.juntadeandalucia.es/servicioandaluzdeempleo/ web/websae/portal/es/empleo/buscarTrabajo/guiaEmpleo (ltimo acceso,


Agosto 2010). Pgina de Empresas andaluzas. 2010. Disponible en

[5] SAE.

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/inicializaBusqueda.do (ltimo acceso, Agosto 2010).


Pgina de Formacin para el empleo. 2010. Disponi-

[6] SAE.

ble en http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/empleo/formacion/ofertasFPE (ltimo acceso, Agosto 2010).

[7] SAE.

Pgina

de

Ofertas

de

empleo

pblico.

2010.

Disponi-

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/empleo/ofertasEmpleo/ofertasPublicas (ltimo acceble en so, Agosto 2010). Pgina del Directorio del sae. 2010. Disponible en

[8] SAE.

http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/portal/es/institucional/contactar/directorioSAE (ltimo


acceso, Agosto 2010). Documentacin del XPath, versin 1.0. 2010. Disponible en

[9] W3C.

//www.w3.org/TR/xpath
en

http:

(ltimo acceso, Agosto 2010).

[10] W3C. Documentacin del espacio de nombres en XML 1.0. 2010. Disponible

http://www.w3.org/TR/REC-xml-names

(ltimo acceso, Agosto 2010). 313

314

Bibliografa

[11] W3C.

Documentacin del lenguaje XPL (

nible en

http://www.w3.org/Submission/2005/SUBM-xpl-20050411

draft,

versin 1.0).

2010.

Dispo(ltimo

acceso, Agosto 2010). [12] W3C. Documentacin del lenguaje XSLT, versin 2.0. 2010. Disponible en

http://www.w3.org/TR/xslt20 w3.org/People/Raggett/tidy

(ltimo acceso, Agosto 2010). 2010. Disponible en

[13] W3C. Documentacin sobre

HTML tidy.

http://www.

(ltimo acceso, Agosto 2010).

[14]

Code4TV .

Curso de MHP. 2010. Disponible en (ltimo acceso, Julio 2010).

c/tutorialmhp112

http://www.code4tv.com/

[15]

Ocinaempleo .
ponible en

Fuente para la Bsqueda de ofertas de empleo. 2010. Dis(ltimo acceso, Agosto 2010). 2010. Disponible

http://www.oficinaempleo.com

[16]

Orbeon .
en

Documentacin del lenguaje XPL, versin 1.0.

http://www.orbeon.com/orbeon/doc/reference-xpl-pipelines (ltimo

acceso, Agosto 2010).

Lista de acrnimos
AIT . . . . . . . . . . . API . . . . . . . . . . . ARIB . . . . . . . . . ASCII . . . . . . . . . ASI . . . . . . . . . . . ATSC . . . . . . . . . BNC . . . . . . . . . . CAT . . . . . . . . . . CBR . . . . . . . . . . CIF . . . . . . . . . . . DoS . . . . . . . . . . . DTMB . . . . . . . . DVB . . . . . . . . . . DVB-C . . . . . . . DVB-CPCM . .

Application Information Table Application Programming Interface Association of Radio Industries and Businesses American Standard Code for Information Interchange Asynchronous Serial Interface Advanced Television System Committee Bayonet Neill-Concelman Conditional Access Table Constant Bit Rate Common Intermediate Format Denial of Service Digital Terrestrial Multimedia Broadcast Digital Video Broadcasting Digital Video Broadcasting - Cable Digital Video Broadcasting - Content Protection and Copy Management Digital Video Broadcasting Handheld Digital Video Broadcasting Satellite Digital Video Broadcasting - Satellite services to Handhelds Digital Video Broadcasting - Service Information Digital Video Broadcasting - Subtitles Digital Video Broadcasting Terrestrial
315

DVB-H . . . . . . . DVB-S . . . . . . . . DVB-SH . . . . . . DVB-SI . . . . . . . DVB-SUB . . . . DVB-T . . . . . . .

316

Lista de acrnimos

DVD . . . . . . . . . . ELG . . . . . . . . . . EPG . . . . . . . . . . ES . . . . . . . . . . . . ETSI . . . . . . . . . . FBAS . . . . . . . . . FEC . . . . . . . . . . GEM . . . . . . . . . . GIF . . . . . . . . . . . GOP . . . . . . . . . . HTML . . . . . . . . HTTP . . . . . . . . HTTPS . . . . . . . IP . . . . . . . . . . . . . IPTV . . . . . . . . . ISDB-T . . . . . . . ISO . . . . . . . . . . . ITU . . . . . . . . . . . JPEG . . . . . . . . . JVM . . . . . . . . . .

Digital Video Disc European Launching Group Electronic Program Guide Elementary Stream European Telecommunications Standards Institute Farb, Bild, Austast, Synchrosignal Forward Error Correction Globally Executable MHP Graphics Interchange Format Group Of Pictures Hypertext Markup Language Hypertext Transfer Protocol Hypertext Transfer Protocol Secure Internet Protocol Internet Protocol Television Integrated Services Digital Broadcasting - Terrestrial International Organization for Standardization International Telecommunication Union Joint Picture Experts Group Java Virtual Machine Local Area Network Multimedia and Hypermedia Experts Group Multimedia Home Platform Moving Picture Experts Group Multi Program Transport Stream Network Information Table National Television System Committee

LAB-TDT . . . . Laboratorio para la Televisin Digital Terrestre LAN . . . . . . . . . . MHEG . . . . . . . . MHP . . . . . . . . . . MPEG . . . . . . . . MPTS . . . . . . . . NIT . . . . . . . . . . . NTSC . . . . . . . . .

Lista de acrnimos

317

OFDM . . . . . . . . OLMS . . . . . . . . PAL . . . . . . . . . . . PAT . . . . . . . . . . . PC . . . . . . . . . . . . PID . . . . . . . . . . . PMT . . . . . . . . . . PNG . . . . . . . . . . PS . . . . . . . . . . . . PSI . . . . . . . . . . . PVR . . . . . . . . . . QAM . . . . . . . . . QPSK . . . . . . . . . RAM . . . . . . . . . . RCA . . . . . . . . . . RF . . . . . . . . . . . . RJ . . . . . . . . . . . . RTP . . . . . . . . . .

Orthogonal Frequency-Division Multiplexing Open Loop Statistical Multiplexing Phase Alternating Line Program Association Table Personal Computer Packet Identier Program Map Table Portable Network Graphics Program Stream Program Specic Information Personal Video Recorder Quadrature Amplitude Modulation Quadrature Phase-Shift Keying Random Access Memory Radio Corporation of America Radio Frequency Registered Jack Real Time Protocol Sistema Brasileiro de Televiso Digital Standard Denition Television Single Frequency Network Service Information Source Input Format Single Program Transport Stream Secure Sockets Layer Set-Top-Box

SAE . . . . . . . . . . . Servicio Andaluz de Empleo SBTVD . . . . . . . SDTV . . . . . . . . . SFN . . . . . . . . . . . SI . . . . . . . . . . . . . SIF . . . . . . . . . . . . SPTS . . . . . . . . . SSL . . . . . . . . . . . STB . . . . . . . . . . .

TDT . . . . . . . . . . Televisin Digital Terrestre

318

Lista de acrnimos

TS . . . . . . . . . . . .

Transport Stream User Datagram Protocol Ultra High Frequency Uniform Resource Locator Unicode Transformation Format Virtual Machine Video On Demand World Wide Web Consortium Extensible Hypertext Markup Language Extensible Markup Language XML Path Language XML Pipeline Language Extensible Stylesheet Language Extensible Stylesheet Language Transformations

TV . . . . . . . . . . . . Televisin UDP . . . . . . . . . . UHF . . . . . . . . . . URL . . . . . . . . . . UTF . . . . . . . . . . VM . . . . . . . . . . . VOD . . . . . . . . . . W3C . . . . . . . . . . XHTML . . . . . . XML . . . . . . . . . . XPath . . . . . . . . XPL . . . . . . . . . . XSL . . . . . . . . . . . XSLT . . . . . . . . .

Vous aimerez peut-être aussi