Académique Documents
Professionnel Documents
Culture Documents
Desarrollo de una aplicacin interactiva para el Servicio Andaluz de Empleo (SAE) sobre una plataforma DVB-MHP
Departamento de Teora de la Seal y Comunicaciones Escuela Tcnica Superior de Ingenieros Universidad de Sevilla Julio 2010
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
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
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 (
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
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
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
7
7 8 8 9 10 11 12 12 13 14 15 16 18 18
2.1.4. 2.2.
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 . . . . . . . . . . . . . . . . . . . . . . .
(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
Codicador . . . . . . . . . . . . . . . . . . . . . . . Multiplexor . . . . . . . . . . . . . . . . . . . . . . .
26 27 28 28 30 31 32 32 33 33 34 34
Bridge
. . . . . . . . . . . . . . . . . . . . . . . . . .
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
. . . . . . . . .
. . . . . . . . . . . . . .
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
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.
Mtodo de trabajo
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Directorio de emisin . . . . . . . . . . . . . . . . . . . . . . .
ndice
xiii
. . . . . . . . . . . . . .
84 85 86 86 87 87 89 90 91 93 94
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
. . . . . . . . . . . . . . . . . . . .
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
99
99
. . . . . . . . . . . . . . . . . . . . . . . . . . 126
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.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
B.3.3. Empresas andaluzas que ofrecen empleo B.3.4. Formacin para el empleo
. . . . . . . . . . . . . . . . . . . . 227
xiv
ndice
. . . . . . . 286
. . . . . . . . . . . . . . . . . . . . . . . . 286
B.4.2. Gua para la bsqueda de empleo . . . . . . . . . . . . . . . . 288 B.5. Relacin de cheros adicionales . . . . . . . . . . . . . . . . . . . . . 309
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
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . .
4.3. 4.4.
Men principal del servicio Gua para la bsqueda de empleo en un navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.5.
4.6.
4.7.
4.8.
Una imagen dentro del servicio Gua para la bsqueda de empleo de la aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 45
4.9.
. . . . . . .
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
. . . . . . . . . . . . . . . . . . . . .
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.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.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.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.34. Detalles de un curso del servicio Formacin para el empleo en un navegador web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
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)
(pestaa
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 (pestaa
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 (pestaa
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 (pestaa
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 (pestaa
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
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
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.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:
2010
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 (
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.
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 (
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 (
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.
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
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.
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.
Axin
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.
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.
Captulo 2
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:
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.
(MHP)
2.1.1. Introduccin
Hacia nales de
1991,
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
Digital Video
Actualmente, el Proyecto DVB es un consorcio constituido por alrededor de instituciones, empresas y organismos reguladores de ms de
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
Mdulo Comercial
Mdulo Tcnico
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.
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).
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.
(MHP)
sin
3D,
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 (
1997,
y en los
150
millones de receptores
35
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
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 (
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]:
11
3 5 4
16QAM
64QAM).
tion ).
Opcin de
2048
(modo
2k)
8192
(modo
8k)
u
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
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.
500 millones de receptores DVB distribuidos por el mundo, al menos 100 150 millones son receptores terrestres
12
Captulo 2.
(MHP)
ATSC (
es el estndar de televisin
digital terrestre empleado en Estados Unidos, Mxico, Canad, Corea del Sur y algunos pases de Amrica Central.
Terrestrial ),
Por su parte, China (incluyendo Hong Kong y Macao) ha adoptado el estndar conocido como DTMB (
para terminales
jos y mviles, cuyo principal inconveniente es el hecho de no denir los estndares de codicacin de vdeo por defecto.
Set-Top-Boxes
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-
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
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
Blu-ray Disc, . . . ) a travs del desarrollo de GEM (Globally Executable MHP ). Actualmen-
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.
(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,
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:
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.
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
adems con carcter opcional. En la gura 2.3 se detalla qu aspectos se incluyen en cada versin de MHP.
16
Captulo 2.
(MHP)
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
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.
empezada
pausada
pausada,
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.
destruido
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.
Figura 2.4:
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.
(MHP)
MTV3 Oy
SkyLife
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 (
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
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.
(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
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
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:
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
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.
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.
23
danos mediante desarrollo de acciones encaminadas a la interactividad de la cadena con sus espectadores.
Prodetur, S.A.
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
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
cepcin (Sevilla) el espacio fsico necesario para el montaje del citado Laboratorio.
Giralda TV
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.
Home Platform ).
Multimedia
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:
T-mira. Dado
Philips
Radio FreSID-
que codica una seal externa de audio/vdeo (en este caso, la seal
24
de datos procedente del servidor de aplicacin en una nica seal MPEG-2 sobre IP (UDP/RTP).
SA) que tiene el objetivo de convertir a formato Interface ) la seal procedente del multiplexor. DekTec
ASI
SID(Asynchronous Serial
DTA-115-SP instalada en un
Frequency )
Ultra High
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.
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,
plitude Modulation )
STB, que acta como elemento receptor. El decodicador enva la seal analgica resultante mediante un Euroconector al televisor, para que pueda ser visionada.
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.
SIDSA,
bridge,
cuyo
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
SIDSA
SIDSA
3.3.1.1.
Codicador
EtherTV Karina
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:
D1: D1:
D1:
CIF/SIF:
27
800
kbps hasta
15
Mbps).
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:
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
Mltiples MPTS (
Salida IP con el MPTS generado. Gestin de tablas PSI/SI, ltrado de servicios y remapeado de PID. Multiplexin estadstica a bucle abierto (OLMS).
PolarPlus
28
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
bridge.
Transport Stream
213,7
Mbps.
50
Mbps.
75 .
PolarPlus Manager
instalada en el PC.
T-mira,
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
GB de memoria RAM.
Disco duro de
160
GB.
1,86
MB.
Tarjeta moduladora
DTA110-10.
Fedora Core ).
29
De las dos interfaces de red de las que dispone, una de ellas est conectada al equipo de
SIDSA,
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
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,
255.255.255.248.
DekTec
8k
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
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
T-mira
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
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 restringe la funcionalidad de Java-MHP, al tener que ajustarse el cdigo al lenguaje denido por
T-mira.
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
Lanzadera
y desarrollada por
T-
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.
T-mira
servicios (aplicaciones) a travs de la televisin digital. Todos estos productos se describen brevemente en este apartado.
32
tmBroadcast
se basa en
tmManager, tmCarousel
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.
tmLicense : Es el servidor de licencias, que controla la funcionalidad del sistema mostrando u ocultando determinados mdulos en funcin de las licencias adquiridas.
cast
tmInteractive.
tmBroad-
Program Guide ).
DekTec
rarla. Por otro, contiene el software de conguracin del equipo de cul es su utilidad.
SIDSA.
En los
3.3.3.1.
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
33
MHz.
1/4.
MHz (canal
578
34).
8k. 2/3.
38
dBm.
64-QAM.
Stream Xpress
3.3.3.2.
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
PolarPlus Manager,
excepto la del
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
Prodetur 3
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
bridge
en un nico componente.
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.
35
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
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
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
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
detur 2,
Pro-
PolarPlus Manager.
PYME Sevilla.
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
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
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
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 4
38
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
39
Figura 4.2: Men principal de la aplicacin, destacando en rojo las imgenes de ayuda a la navegacin
Prodetur
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
4.2.3.1.
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
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
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
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
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
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
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.
45
Figura 4.10: Formulario del servicio Bsqueda de ofertas de empleo en un navegador web
46
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
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
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
50
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
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
4.2.3.3.
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.
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].
53
Figura 4.24: Listado de empresas del servicio Empresas andaluzas en el navegador web
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
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
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
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.
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
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
59
Figura 4.35: Detalles de un curso del servicio Formacin para el empleo de la aplicacin
60
Figura 4.38: Detalles de una ocina del servicio Directorio del SAE en un navegador web
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.
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
Figura 4.40: Pantalla del servicio Pgina web del SAE de la aplicacin
Interactive Broadcast ),
como el
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
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.
tmPlayer
64
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
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>
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>
<help>,
<container>. help.xml
<help>,
y un
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:
index.xml
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.
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
sizex,sizey alpha
(sin transparencia) a
255
(completamente transparente)
tmPlayer
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:
<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
izquierda de la pantalla.
4.4.1.2.
Objetos
yer,
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
El texto mostrado debe especicarse como nodo de texto hijo del objeto. En la tabla 4.3 se muestran los atributos del objeto texto.
<image>, <menu>,
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>
<table>,
<tr> para cada la y <td> para cada columna, o <th> en el caso de tratarse de las columnas de la cabecera. Los atributos
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)
0:
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
67
Tabla 4.5: Atributos XML de un objeto men Atributo Descripcin Indica el tipo de men (puede tomar los valores
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
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
act,
68
Tabla 4.8: Lista de acciones XML Accin Descripcin Oculta el servicio Muestra el Oculta emplear la
hidepage(*)
la pgina
Muestra
Pa-
showpage(URL)
Oculta el contenedor de la pgina Muestra Bloquea nedor la
id_page
el
id_container
contenedor del conte-
id_container id_page
de la pgina
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
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)
<form>,
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
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:
<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>
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
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
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
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
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
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
71
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
tmInteractive
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.
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
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
formacin de inters y aplicarle las transformaciones oportunas para generar un chero XML con el formato de
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
73
tmInteractive ).
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.
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
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
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,
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,
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
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.
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
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
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
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
<timeout>
data
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>,
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.
77
Tabla 4.14: Parmetros de entrada del mtodo de envo de un mensaje POST Nodo Descripcin Nombre del mtodo, debe tomar el valor
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
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)
oxf:url-generator,
encontrado en la documentacin de
Orbeon
[16].
78
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
get
main.xpl
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].
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.
de los procesadores crea el chero nal a partir de los datos que recibe de los otros
4.4.3.2.
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.
xmlns:tmg="http://www.tmira.com/ops/processors"
Los procesadores que indican el inicio y nal de la actualizacin deben comenzar con las etiquetas
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
<config>
<timeout>
<key>.
80
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.
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
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.
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

Sin embargo, si se siguen estos mismos procedimientos con los cheros XSL contenidos en el directorio
rc
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
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>.
Se desconoce la funcionalidad de
insetx
Asimismo, se ha comprobado que los atributos surtir ningn efecto (vase la tabla 4.12).
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
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).
82
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
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.
/emission:
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:
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.
/xpl: /rc:
En este directorio han de incluirse todos los archivos XPL y XSL ne-
rc
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.
83
styles.xml:
el apartado 4.4.1.3.
service.xml: index.xml:
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.
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,
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).
emission,
images
help.
84
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.
tmInteractive
se realiza en el
page-flow.xpl:
chero
page-flow.xml.
default-submission.xml:
a cada una de las pginas.
<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,
tmInte-
path-info,
cursos_formulario.xpl.
http://dir_IP:port/apps/16003/800/rc/cursos_formulario ?tipoCurso=PRV&tipoCursoText=previstos&provincia=04
el sistema
Como es obvio,
85
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
default-submission.xml, identicando de forma exacta un elecursos_formulario.xpl, en el que debe deinstance para que este proceso funcione
ref
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
instance
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.
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
main.xpl.
86
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
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
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
87
atributo
src
//img
cuyo atributo
id
coincida con el
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.
tmInteractive
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>.
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>
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
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.1.
Buscador de ofertas
buscador_ofertas
88
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
//select/option
Una vez el usuario haya escogido los campos del formulario que desee para la bsqueda, el STB solicita al sistema
tmInteractive
buscador_ofertas.xpl
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
//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
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:
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):
que caracteriza 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
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,
opTipo
tmInteractive
90
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:
ofertas_empleo_publico_detalle.xpl,
URL:
_IDOFERTA_
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.
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
91
el valor de la cookie de sesin. Los XPath que se buscan para obtener toda esta informacin son, respectivamente:
ubicacion
sector
razonsocial,
a la siguiente URL:
http://www.juntadeandalucia.es/servicioandaluzdeempleo/web/ websae/inicializaBusqueda.do;jsessionid=_COOKIE_
reemplazando
_COOKIE_
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
_IDEMPRESA_
_IDPROVINCIA_
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.
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
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:
_TEXTO_ por una cadena que depende del tipo de curso solicitado
tmInteractive
XPath:
//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:
_TEXTO_
_PAG_
es la pgina a
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:
93
siendo aplicacin.
_LETRA_
_IDCURSO_
Para la seleccin de la informacin de inters, se busca en todo el cuerpo del mensaje recibido los nodos con etiqueta
<h4>, <td>
<li>.
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
rc se
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:
_PROVINCIA_
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:
//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:
94
siendo
_OPCION_
el Consejero (Presidente del Servicio Andaluz de Empleo). Mientras que los dos XPath de inters en este ltimo caso son:
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:
T-mira,
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
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.
tmInteractive
no necesariamente relacionados con el servidor de aplicacin. De esta manera, se conseguira adems dotar de redundancia al sistema nal.
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.
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.
98
Captulo 5. Conclusiones
Smart Card.
Apndice A
A.1. Introduccin
Se ha estructurado este apndice en las siguientes secciones:
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-
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
SIDSA
SIDSA
101
102
SIDSA
103
104
SIDSA
105
106
SIDSA
107
SIDSA
PolarPlus Manager
108
SIDSA
109
SIDSA
(pestaa
inputs,
110
SIDSA
(pestaa
inputs,
SIDSA
111
SIDSA
(pestaa
output,
112
SIDSA
(pestaa
output,
SIDSA
113
SIDSA
(pestaa
output,
114
SIDSA
(pestaa
output,
SIDSA
115
116
SIDSA
117
118
SIDSA
119
120
A.4. Programa
DtLoop
121
DtLoop
122
A.5. Programa TS
Reader
A.5. Programa
TS Reader
123
124
A.5. Programa
TS Reader
125
126
red )
127
servicios )
128
tablas SI )
129
salida )
130
Prodetur 2
131
tmPlayer
132
tmInteractive
Apndice B
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
133
134
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 "
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
Interface
version
=" 1 . 0 "
definition
encoding
ayuda
=" ISO
for
tmNews
<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 / "
<!
tamao
de
la
televisin
( capa
de
vdeo )
>
<t v
p o s y=" 1 0 "
s i z e x =" 2 1 0 "
<!
Pginas
de
>
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 .
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=" 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>
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="_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=" "
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
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
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
=" T i r e s i a s "
="# BCBCBC"
="#0D1CEC"
=" 1 "
l i n e s p a c e =" 1 8 "
colbackhigh alpha
=" 0 "
24 25
<s t y l e
26
="# E5CB89"
insety
=" 1 3 "
=" T i r e s i a s "
size
=" 1 8 "
="#0D1CEC"
l i n e s p a c e=
=" #41448A"
136
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"
=" s _ t a b l a _ i m p a r e s "
l i n e s p a c e =" 1 5 "
font colbackhigh
=" T i r e s i a s "
size halign
=" 1 5 "
1"
="#
="#0D1CEC" ="
38 39
<s t y l e
# F1AE4A" "
=" s _ t a b l a _ c a b e c e r a "
l i n e s p a c e =" 1 5 "
font colbackhigh
=" T i r e s i a s "
size halign
=" 1 5 "
1"
="
="#0D1CEC ="
40 41
<s t y l e
42 43
id insety halign
colfore valign
=" 0 "
font alpha
=" T i r e s i a s "
size colforehigh
=" 1 7 "
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
<!
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
>
<!
Contenedor
para
los
botones
del
men
principal
>
p o s y=" 3 5 0 " sizex
v i s =" 1 "
a l p h a=" 0 "
p o s x=" 4 5 "
<menu "
n r o w s=" 2 "
s i z e x =" 3 6 6 "
s i z e y =" 1 5 8
i t e m y=" 7 9 "
<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 "
137
16 17 18 19
<a c t i o n
k e y="O K"
<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 "
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 )
<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 "
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 ) "
<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 "
" 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 ) ">
<menuitem
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 "
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="
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 "
36 37 38 39 40 41 42 43 44 45
<a c t i o n
k e y="O K"
<!
Contenedor
para
el
texto
de
bienvenida
>
p o s x=" 4 5 " p o s y=" 2 3 0 " s i z e x ="
v i s =" 1 "
a l p h a=" 0 "
s i z e y =" 1 4 0 ">
<t e x t
p o s x=" 0 " la
p o s y=" 0 "
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
p o s x=" 0 " la
p o s y=" 4 0 "
opcin
deseada el botn
pulsando
amarillo
</ 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
v i s =" 1 "
s i z e x =" 2 5 0 "
<i m a g e
p o s x=" 0 "
p o s y=" 0 "
s i z e x =" 2 5 0 "
s i z e y=
138
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
v i s =" 0 "
a l p h a=" 0 "
p o s x=" 4 4 8 "
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=
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
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
v i s =" 0 "
a l p h a=" 0 "
p o s x=" 4 4 8 "
p o s y=" 3 0 0 "
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=
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
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>
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 "
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
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 "
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
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=
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
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 "
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
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=
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
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>
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 "
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=
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
informacin
88 89 90
</ c o n t a i n e r>
</ p a g e>
139
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Interface
version
=" 1 . 0 "
definition
encoding
=" ISO
for
tmNews
<p a g e>
<c o n t a i n e r
i d=" c _ h e l p "
v i s =" 0 "
p o s x=" 0 "
s i z e x =" 7 2 0 "
/ 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 "
p o s y=" 2 0 1 " /
anterior
Borrar
ltimo
16 17 18 19 20 21
<t e x t
s i z e x =" 6 2 0 " de
s i z e y =" 3 0 "
pantalla
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
aplicacin
volver
p o s x=" 8 0 " el
teclado
</ p a g e>
1 2 3 4 5 6 7 8 9 10
Interface
version
=" 1 . 0 "
definition
encoding
="UTF
for
tmNews
<p a g e>
<!
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
v i s =" 1 "
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
11 12 13 14 15 16 17 18 19 20
<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=" 8 4 "
p o s x=" 0 "
s i z e x ="
p o s y=" 1 1 2 "
p o s x=" 0 "
s i z e x=
p o s y=" 1 4 0 "
p o s x=" 0 "
s i z e x =" 1 1 8 "
<!
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 ="
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
obtener
informacin flechas la
empleo .
Seleccione
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 ="
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
s i z e x =" 4 0 0 "
s i z e y =" 1 9 5 "
i t e m x=
<menuitem <a c t i o n
s t r ="Tu
k e y="O K"
30 31 32 33
</ menuitem>
<menuitem <a c t i o n
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 (
34 35 36 37
</ menuitem>
<menuitem <a c t i o n
38 39 40 41
</ menuitem>
<menuitem <a c t i o n
42 43 44 45 46 47 48 49 50 51 52
</ menuitem>
<menuitem <a c t i o n
al
men
p r i n c i p a l ">
</ menuitem>
</menu >
</ c o n t a i n e r>
</ p a g e>
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
Interface
version
=" 1 . 0 "
definition
encoding
="UTF
for
tmNews
<p a g e>
<!
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
v i s =" 1 "
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 ="
p o s y=" 8 4 "
p o s x=" 0 "
s i z e x ="
p o s y=" 1 1 2 "
p o s x=" 0 "
s i z e x=
p o s y=" 1 4 0 "
p o s x=" 0 "
s i z e x =" 1 1 8 "
<! <!
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 ="
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
con
flechas
opcin
desee
consultar
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Contenedor
del
men
vertical
(4
items )
>
s i z e x =" 4 0 0 " s i z e y ="
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=
<menuitem <a c t i o n
ti
mismo ">
<menuitem <a c t i o n
el
mercado
l a b o r a l ">
<menuitem <a c t i o n
tu
plan
de
bsqueda
de
e m p l e o ">
<menuitem <a c t i o n
guia_busqueda ) "
g u i a _ b u s q u e d a 1 ) " />
41 42 43
</ menuitem>
</menu >
142
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
Interface
version
=" 1 . 0 "
definition
encoding
="UTF
for
tmNews
<p a g e>
<!
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
v i s =" 1 "
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 ="
p o s y=" 8 4 "
p o s x=" 0 "
s i z e x ="
p o s y=" 1 1 2 "
p o s x=" 0 "
s i z e x=
p o s y=" 1 4 0 "
p o s x=" 0 "
s i z e x =" 1 1 8 "
<! <!
>
de bienvenida
texto
>
p o s y=" 2 2 3 " s i z e x =" 5 2 0 " s i z e y ="
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
con
flechas
opcin
desee
consultar
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
Contenedor
del
men
vertical
principal
(7
items )
>
s i z e y ="
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=
<menuitem <a c t i o n
<menuitem <a c t i o n
V i t a e ">
<menuitem <a c t i o n
de
p r e s e n t a c i n ">
<menuitem
s t r ="Cmo
ofrecerte
una
e m p r e s a ">
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 ) "
<menuitem <a c t i o n
de
empleo
travs
de
I n t e r n e t ">
<menuitem <a c t i o n
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 ) "
<menuitem <a c t i o n
guia_busqueda ) "
g u i a _ b u s q u e d a 2 ) " />
53 54 55 56 57 58
</ menuitem>
</ 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
Interface
version
=" 1 . 0 "
definition
encoding
="UTF
for
tmNews
<p a g e>
<!
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
v i s =" 1 "
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 ="
p o s y=" 8 4 "
p o s x=" 0 "
s i z e x ="
p o s y=" 1 1 2 "
p o s x=" 0 "
s i z e x=
p o s y=" 1 4 0 "
p o s x=" 0 "
s i z e x =" 1 1 8 "
<!
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 ="
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
p o s x=" 0 " se ha
dividido la tecla
consultar
pulse
21 22 23
</ c o n t a i n e r>
<!
Contenedor
del
men
vertical
principal
(3
items )
>
144
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
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
s i z e x =" 4 0 0 "
s i z e y =" 1 7 0 "
i t e m x=
<menuitem <a c t i o n
<menuitem <a c t i o n
<menuitem <a c t i o n
</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
Interface
version
=" 1 . 0 "
definition
encoding
="UTF
for
tmNews
<p a g e>
<!
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
v i s =" 1 "
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 ="
p o s y=" 8 4 "
p o s x=" 0 "
s i z e x ="
p o s y=" 1 1 2 "
p o s x=" 0 "
s i z e x=
p o s y=" 1 4 0 "
p o s x=" 0 "
s i z e x =" 1 1 8 "
<!
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 ="
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
p o s x=" 0 " se ha
p o s y=" 2 5 " en
dividido la tecla
consultar
pulse
21
</ c o n t a i n e r>
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
(3
items )
>
s i z e x =" 4 0 0 "
<c o n t a i n e r
p o s x=" 5 0 "
p o s y=" 3 1 5 "
s i z e y =" 1 7 0 "
<menu
s i z e x =" 4 0 0 "
s i z e y =" 1 7 0 "
i t e m x=
<menuitem <a c t i o n
<menuitem <a c t i o n
<menuitem <a c t i o n
</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
Interface
version
=" 1 . 0 "
definition
encoding
="UTF
for
tmNews
<p a g e>
<!
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
v i s =" 1 "
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 ="
p o s y=" 8 4 "
p o s x=" 0 "
s i z e x ="
p o s y=" 1 1 2 "
p o s x=" 0 "
s i z e x=
p o s y=" 1 4 0 "
p o s x=" 0 "
s i z e x =" 1 1 8 "
<! <!
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 ="
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 ="
146
21
<t e x t
p o s y=" 2 5 " la
s i z e y =" 6 5 "
scroll y
con
flechas
opcin
desee
consultar
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
Contenedor
del
men
vertical
principal
(7
items )
>
s i z e y ="
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=
<menuitem <a c t i o n
<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"
<menuitem <a c t i o n
importantes
la
hora
de
e m p r e n d e r ">
<menuitem <a c t i o n
p r e v i o s ">
<menuitem <a c t i o n
a d m i n i s t r a t i v o s ">
<menuitem <a c t i o n
<menuitem <a c t i o n
guia_busqueda ) "
g u i a _ b u s q u e d a 3 ) " />
53 54 55 56 57 58
</ menuitem>
</ p a g e>
guia_busqueda4.xml
1 2 3 4 5 6 7
Interface
version
=" 1 . 0 "
definition
encoding
="UTF
for
tmNews
<p a g e>
<!
Contenedor
del
ndice
lateral
>
147
8 9 10 11 12 13 14 15 16 17 18 19 20 21
<c o n t a i n e r
v i s =" 1 "
a l p h a=" 0 "
p o s x=" 5 6 0 "
p o s y=" 2 1 4 "
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 ="
p o s y=" 8 4 "
p o s x=" 0 "
s i z e x ="
p o s y=" 1 1 2 "
p o s x=" 0 "
s i z e x=
p o s y=" 1 4 0 "
p o s x=" 0 "
s i z e x =" 1 1 8 "
<! <!
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 ="
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
con
flechas
opcin
desee
consultar
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
(5
items )
>
s i z e y ="
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=
<menuitem <a c t i o n
<menuitem <a c t i o n
a c a d m i c a ">
<menuitem <a c t i o n
ocupacional
para
el
e m p l e o ">
<menuitem <a c t i o n
vas
para
la
f o r m a c i n ">
<menuitem <a c t i o n
guia_busqueda ) "
g u i a _ b u s q u e d a 4 ) " />
45 46 47 48 49 50
</ menuitem>
</ p a g e>
148
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Interface
version
=" 1 . 0 "
definition
encoding
="UTF
for
tmNews
<p a g e>
<!
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
v i s =" 1 "
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
p o s y=" 1 1 2 "
p o s x=" 0 "
s i z e x=
p o s y=" 1 4 0 "
p o s x=" 0 "
s i z e x =" 1 1 8 "
<!
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 ="
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 "
seccin
ofertas la
empleo que
adecuadas y
Seleccione
flechas
opcin
desee
pulse
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 ="
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
s i z e x =" 4 0 0 "
s i z e y =" 2 0 0 "
i t e m x=
<menuitem <a c t i o n
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 :
, 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
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 (
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>
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
Interface
version
=" 1 . 0 "
definition
encoding
="UTF
for
tmNews
<p a g e>
<!
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
v i s =" 1 "
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
p o s y=" 1 1 2 "
p o s x=" 0 "
s i z e x=
p o s y=" 1 4 0 "
p o s x=" 0 "
s i z e x =" 1 1 8 "
<!
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 ="
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
p o s x=" 0 " de
oferta ms le
empleo
pblico y pulse
interesen
21 22 23 24 25 26 27 28 29
</ c o n t a i n e r>
<!
Contenedor
del
de
bsqueda
>
s i z e x =" 5 2 0 " s i z e y ="
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 "
<t e x t
p o s x=" 0 "
p o s y=" 0 "
s i z e x =" 1 5 5 "
sizey
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
s i z e y =" 2 5 "
down=" f _ t i t u l a c i o n "
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 ,
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 "
150
32
<f o r m _ l i s t
v a l=" 0 0 0 0 "
t y p e=" h a r r o w s "
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
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
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
libre "
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 "
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 "
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 ;& ; t i t u l a c i o n =$ f _ t i t u l a c i o n ;& ; 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 ;& ; p a g=1& ; p r i m e r a V e z=S& ; 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 "
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 "
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>
</ p a g e>
1 2 3 4 5 6 7 8 9 10
Interface
version
=" 1 . 0 "
definition
encoding
="UTF
for
tmNews
<p a g e>
<!
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
v i s =" 1 "
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 "
151
11 12 13 14 15 16 17 18 19 20
<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=" 8 4 "
p o s x=" 0 "
s i z e x ="
p o s y=" 1 1 2 "
p o s x=" 0 "
s i z e x=
p o s y=" 1 4 0 "
p o s x=" 0 "
s i z e x =" 1 1 8 "
<!
>
Contenedor
del
texto
de
bienvenida
( para
elegir
el
tipo
de
curso )
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 ,
men , las y
cursos de
formacin . de
flechas
curso
formacin
consultar
pulse
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
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
s i z e x =" 4 0 0 "
s i z e y =" 2 1 0 "
i t e m x=
<menuitem <a c t i o n
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 ) ,
30 31 32 33
</ menuitem>
<menuitem <a c t i o n
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 ) ,
34 35 36 37
</ menuitem>
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 ) ,
38 39 40 41 42 43 44 45 46 47 48 49
</ menuitem>
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
( para
el
mapa )
>
s i z e x =" 5 2 0 "
<c o n t a i n e r
p o s x=" 3 0 "
p o s y=" 2 2 3 "
s i z e y =" 6 5 "
152
50 51
<t e x t
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
p o s x=" 0 "
p o s y=" 2 5 " en la
provincia
que
buscar
pulse
52 53 54 55 56 57 58 59 60 61 62
</ c o n t a i n e r>
<!
Contenedor
del
mapa
>
p o s x=" 1 0 0 " p o s y=" 2 8 0 " s i z e x ="
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 "
<f o r m _ i m g b u t t o n
i d=" f _ a l m e r i a "
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=
r i g h t =" f _ h u e l v a "
down=" f _ t o d a s "
//$ 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 & ; 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 (
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 "
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 "
//$ 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 & ; 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 (
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 "
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=
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 & ; 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 (
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 "
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 "
//$ 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 & ; 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 (
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 "
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=
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 ">
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 & ; 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 (
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 "
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 "
//$ 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 & ; 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 (
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 "
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 "
//$ 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 & ; 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 (
</ 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 "
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 "
//$ 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 & ; 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 (
</ 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 "
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=
r i g h t =" f _ a l m e r i a "
1)"
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
>
p o s x=" 1 0 0 " p o s y=" 2 8 0 " s i z e x ="
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 "
<f o r m _ i m g b u t t o n
i d=" f _ a l m e r i a "
154
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=
r i g h t =" f _ h u e l v a "
down=" f _ t o d a s "
//$ 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 & ; t i p o C u r s o T e x t=c o n v o c a d o s& ; 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 (
</ 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 "
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 "
//$ 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 & ; t i p o C u r s o T e x t=c o n v o c a d o s& ; 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 (
</ 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 "
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=
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 & ; t i p o C u r s o T e x t=c o n v o c a d o s& ; 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 (
</ 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 "
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 "
//$ 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 & ; t i p o C u r s o T e x t=c o n v o c a d o s& ; 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 (
</ 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 "
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=
r i g h t =" f _ j a e n "
//$ 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 & ; t i p o C u r s o T e x t=c o n v o c a d o s& ; 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 (
</ 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 "
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 "
//$ 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 & ; t i p o C u r s o T e x t=c o n v o c a d o s& ; 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 (
156 157
</ f o r m _ i m g b u t t o n>
155
<f o r m _ i m g b u t t o n
i d=" f _ c a d i z "
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 "
//$ 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 & ; t i p o C u r s o T e x t=c o n v o c a d o s& ; 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 (
</ 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 "
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 "
//$ 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 & ; t i p o C u r s o T e x t=c o n v o c a d o s& ; 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 (
</ 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 "
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=
r i g h t =" f _ a l m e r i a "
1)
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
plazo
ampliado )
>
p o s y=" 2 8 0 " s i z e x ="
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 "
<f o r m _ i m g b u t t o n
i d=" f _ a l m e r i a "
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=
r i g h t =" f _ h u e l v a "
down=" f _ t o d a s "
, 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>
</ 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 "
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 "
156
=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>
</ 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 "
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=
k e y="O K"
, 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>
</ 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 "
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 "
, 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>
</ 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 "
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=
r i g h t =" f _ j a e n "
, 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>
</ 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 "
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 "
, 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>
</ 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 "
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 "
, 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>
157
<f o r m _ i m g b u t t o n
i d=" f _ h u e l v a "
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 "
, 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>
</ 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 "
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=
r i g h t =" f _ a l m e r 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>
</ 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>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Interface
version
=" 1 . 0 "
definition
encoding
="UTF
for
tmNews
<p a g e>
<!
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
v i s =" 1 "
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 ="
p o s y=" 8 4 "
p o s x=" 0 "
s i z e x ="
p o s y=" 1 1 2 "
p o s x=" 0 "
s i z e x ="
p o s y=" 1 4 0 "
p o s x=" 0 "
s i z e x =" 1 1 8 "
<!
Contenedor
del
texto
de
bienvenida
del
men
>
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
19 20 21 22 23 24 25 26 27 28 29
<t e x t
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
opcin
desea
consultar
<!
Contenedor
del
men
>
a l p h a=" 0 " p o s x=" 5 0 " p o s y=" 2 8 0 " sizex
<menu
s i z e x =" 4 0 0 "
s i z e y =" 2 3 0 "
i t e m x=
<menuitem <a c t i o n
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 (
30 31 32 33
</ menuitem>
<menuitem <a c t i o n
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 (
34 35 36 37
</ menuitem>
<menuitem <a c t i o n
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 (
38 39 40 41 42 43 44 45 46 47 48 49 50 51
</ menuitem>
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
>
v i s =" 0 "
s i z e x=
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
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
v i s =" 0 "
a l p h a=" 0 "
s i z e x =" 4 0 0 "
<menu
s i z e x =" 4 0 0 "
s i z e y =" 2 3 0 "
i t e m x=
<menuitem <a c t i o n
( 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 : / / $
159
61 62 63 64
</ menuitem>
<menuitem <a c t i o n
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 : / / $
65 66 67 68
</ menuitem>
<menuitem <a c t i o n
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 : / / $
69 70 71 72
</ menuitem>
<menuitem <a c t i o n
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 : / / $
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
( para
el
mapa )
>
s i z e x =" 5 2 0 "
<c o n t a i n e r
p o s x=" 3 0 "
p o s y=" 2 2 3 "
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
provincia
inters
<!
Contenedor
del
mapa
de
direcciones
provinciales
>
p o s x=" 1 0 0 " p o s y="
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 "
<f o r m _ i m g b u t t o n
i d=" f _ a l m e r i a "
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=
r i g h t =" f _ h u e l v a "
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 "
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 "
160
</ 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 "
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=
r i g h t =" f _ g r a n a d a "
</ 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 "
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 "
</ 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 "
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=
r i g h t =" f _ j a e n "
</ 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 "
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 "
</ 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 "
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 "
</ 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 "
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 "
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=
161
a c t b a c k="
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
>
p o s x=" 1 0 0 " p o s y="
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 "
<f o r m _ i m g b u t t o n
i d=" f _ a l m e r i a "
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=
r i g h t =" f _ h u e l v a "
</ 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 "
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 "
</ 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 "
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=
r i g h t =" f _ g r a n a d a "
</ 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 "
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 "
</ 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 "
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=
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
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 : / / $
</ 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 "
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 "
</ 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 "
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 "
</ 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 "
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 "
</ 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>
1 2 3 4 5 6 7 8
Interface
version
=" 1 . 0 "
definition
encoding
="UTF
for
tmNews
<p a g e>
<!
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
v i s =" 1 "
s i z e x =" 1 1 8 "
163
9 10 11 12 13 14 15 16 17 18 19 20
<i m a g e
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 ="
p o s y=" 8 4 "
p o s x=" 0 "
s i z e x ="
p o s y=" 1 1 2 "
p o s x=" 0 "
s i z e x=
p o s y=" 1 4 0 "
p o s x=" 0 "
s i z e x =" 1 1 8 "
<!
"
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
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 .
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
>
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 "
<menuitem
164
1 2 3 4 5 6 7 8
<p : c o n f i g
<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 "
</ 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 : 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
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
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 ">
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
x p l ">
<p a g e
path
default
m a t c h e r=" o x f : p e r l 5
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 "
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
r e f =" / s u b m i s s i o n / p r o v i n c i a "
<p a g e
path
default
</ p a g e>
oxf:perl5
x p l ">
<p a g e
path
default
oxf:perl5
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>
<p a g e
path
default
>
oxf:perl5
<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>
<p a g e
path
default
> </ p a g e>
oxf:perl5
<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
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
r e f =" / s u b m i s s i o n / l e t r a D o c "
<p a g e
path
default
</ p a g e> <p a g e
" oxf:perl5
. 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
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 / u r l F i n "
<p a g e
path
default
oxf:perl5
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>
<p a g e
path
default
m a t c h e r=" o x f : p e r l 5
o f e r t a s _ e m p l e o _ p u b l i c o . x p l ">
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
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>
</ c o n f i g>
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 "
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
>
<!
Empresas
>
<!
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>
1 2
<? xml
<p : c o n f i g
version
=" 1 . 0 "
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 /
3 4
<p : p a r a m
type
=" i n p u t "
168
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
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
</
config
name=" d a t a "
</ 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
name=" c o n f i g ">
</
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 ">
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 " />
</ p : p r o c e s s o r>
<!
Seleccin
de
informacin
de
inters
en
el
fichero
H T M L
recibido
>
x s l t ">
xsl:version
Todas
las
provincias
</ nombre>
e a c h
<x s l : i f
t e s t =" p o s i t i o n ( ) ! = 1 ">
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
e a c h>
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
Todas
las
categoras
</ nombre>
e a c h
<x s l : i f
t e s t =" p o s i t i o n ( ) ! = 1 ">
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
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 <!
Si
>
and / submission / c a t e g o r i a != '0 '
<!
Procesador de HTTP
para
generar
el
>
name=" o x f : x s l t ">
config
necesario
para
el
mtodo
GET
name=" d a t a "
name=" c o n f i g ">
version
=" 2 . 0 ">
match=" / ">
>u r l >
h t t p</ o f
method
>
<x s l : v a l u e
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
</
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 " />
>
</ p : p r o c e s s o r>
<!
Mtodo GET
(HTTP) :
Obtiene
la
lista
de
subcategoras
>
name=" tmg:tm
h t t p ">
h r e f="#metodo_http_2 " /> i d=" page_2 " />
</ p : p r o c e s s o r>
170
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 "
x s l t ">
Todas
las
subcategoras
</ nombre>
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 ">
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
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 " />
<!
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 ">
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 " />
<!
Generacin
del
fichero
X M L
>
i n s t a n c e "
</ 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 ">
171
180 181 182 183 184 185 186 187 188 189
<
</
contenttype
>
</ 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 "
encoding
="UTF
8" ?>
version
<x s l : o u t p u t
i n d e n t=" y e s "
xalan:indent
page help
< <! <
match=" i t e m s ">
>c _ h e l p</
help
>
</
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 ">
image
p o s y=" 0 "
p o s x=" 0 "
s i z e x ="
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
>
image
de
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
>
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 "
o f e r t a s</
text
s i z e y =" 2 5 "
s i z e y =" 6 5 " de y
encontrar las
ofertas que
empleo
interesen .
Elija el
opciones
25 26 27 28 29 30 31 32
</
container form
pulse >
tras
seleccionar
botn
text
desee
>
<! <
container
<
Contenedor
del
de
bsqueda
>
s i z e x =" 5 2 0 "
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 ="
<x s l : a t t r i b u t e
< x s l : c h o o s e>
172
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 "
text
s i z e x =" 1 5 5 "
s i z e y =" 2 5
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
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
') /
</ 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 : f o r
e a c h>
</
<
<
s t r =" C a t e g o r a "
p o s x=" 0 "
t y p e=" h a r r o w s "
text
s i z e x =" 1 5 5 "
s i z e y ="
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
of
instance
') /
</ 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 : f o r
e a c h>
</ x s l : a t t r i b u t e>
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 "
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 _ t e x t s=" C a r g a r
subcategoras
91 92 93 94 95 96 97 98
action
<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 "
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 "
<x s l : v a r i a b l e input:dat
name=" c a t e g o r 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 "
<x s l : a t t r i b u t e <x s l : v a l u 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 ;& ; c a t e g o r i a =$ f _ c a t e g o r i a ;& ; 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
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 , ' ) ' ) " />
</
<
<
s t r =" S u b c a t e g o r a "
p o s x=" 0 "
s i z e y =" 2 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 ">
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
of
t e s t =" p o s i t i o n ( ) != l a s t ( ) ">
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 /
each
of
t e s t =" p o s i t i o n ( ) != l a s t ( ) ">
174
e a c h>
</
<
<
s t r =" P a l a b r a s
clave "
p o s x=" 0 "
s i z e y =" 2 5 "
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 ">
<x s l : a t t r i b u t e <x s l : v a l u e
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 "
up=" f _ p a l a b r a s "
down=" f _ p r o v i n c i a "
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 ">
<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 "
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 "
<x s l : v a r i a b l e input:dat
name=" c a t e g o r 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 "
<x s l : a t t r i b u t e <x s l : v a l u 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 ;& ; 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 ; ) ' ) " />
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 , ' ) ' ) " />
</
<
</ x s l : a t t r i b u t e>
>
i d=" f _ b u s c a r "
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 "
action
<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 "
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 "
175
<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
<x s l : a t t r i b u t e <x s l : v a l u 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 ;& ; c a t e g o r i a =$ f _ c a t e g o r i a ;& ; 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 ;& ; p a l a b r a s C l a v e =$ f _ p a l a b r a s ;& ; p a g =1) ' ) " />
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 , ' ) ' ) " />
</
<
</ x s l : a t t r i b u t e>
>
i d=" f _ v o l v e r "
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
<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 "
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 "
<x s l : v a r i a b l e input:dat
name=" c a t e g o r 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 "
<x s l : a t t r i b u t e
<x s l : v a r i a b l e
of
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
</
</ 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
buscador_ofertas.xpl
1 2
<? xml
<p : c o n f i g
version
=" 1 . 0 "
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 /
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 "
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
</
config
name=" d a t a "
</ p : p r o c e s s o r>
<!
Procesador
para
generar
el
config
necesario
para
el
mtodo
HTTP
>
name=" c o n f i g ">
version
=" 2 . 0 ">
>
action
>
o f
</ 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
1 '
o f
s e l e c t =" / s u b m i s s i o n /
</ <
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 " />
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
param param
t e m p l a t e>
</
</ x s l : t e m p l a t e>
>
<!
otra
>
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
<x s l : v a r i a b l e text ,
a f t e r ( $
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
</ 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)
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 " />
</ p : p r o c e s s o r>
<!
Seleccin
de
informacin
de
inters
en
el
fichero
H T M L
recibido
>
x s l t ">
xsl:version
e a c h
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
178
111
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 /
, '¡©­³º±‰& #141;“š‘¼' , ' ' ) , ' = ' ) " /> </ i d O f e r t a>
112
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
113
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
114
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
115 116
s p a c e ( . /
following
s i b l i n g : : t r
[ position
< 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
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 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
e a c h>
</ x s l : v a r i a b l e>
o f
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
') /
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
') /
o f
s e l e c t =" $
e a c h
<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 ="
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 "
</ p : p r o c e s s o r>
<!
Procesador
para
ordenar
las
pginas
>
name=" c o n f i g ">
version
=" 2 . 0 ">
match=" i t e m s ">
t e m p l a t e s
t e m p l a t e s
<x s l : s o r t
" 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
o r d e r=
t e m p l a t e s>
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
180
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
o f
s e l e c t =" @numero
o f
s e l e c t =" @ t o t a l " /
</ 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
>
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 " />
i n s t a n c e "
</ p : p r o c e s s o r>
<!
Serializacin
del
fichero
name=" o x f : x m l
X M L > s e r i a l i z e r ">
</
contenttype
>
</ 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 "
encoding
=" u t f
8 " ?>
version
<x s l : o u t p u t
i n d e n t=" y e s "
xalan:indent
page help
< <! <
match=" i t e m s ">
>c _ h e l p</
help
>
Contenedor
del
ndice
lateral
>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=
v i s =" 1 "
s i z e y =" 1 6 8 ">
118 "
image
p o s y=" 0 "
p o s x=" 0 "
s i z e x ="
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
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 "
181
18 19 20 21 22 23
</
image container
< 118 " 215 " <
>
image
p o s y=" 1 4 0 "
p o s x=" 0 "
s i z e x ="
<! <
container menu
"
Contenedor
del
men
horizontal
>
s i z e x =" 5 3 0 " p o s y="
a l p h a=" 0 "
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
instance
< 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 ="
of
s e l e c t ="
number ( $ num_pag
$ primera_pag
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
<
menuitem
i m a g e s / b o t _ m a t r i x _ o n . png "
<x s l : a p p l y
templates
<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 ' "> >
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 ">
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 ="
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
"
>
<x s l : v a r i a b l e
s e l e c t =" d o c ( '
s e l e c t =" d o c ( '
instance instance
name=" s u b c a t e g o r i a "
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
182
59
name=" p a l a b r a s C l a v e "
s e l e c t =" d o c ( '
instance
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
<x s l : a t t r i b u t e
<x s l : v a r i a b l e hidepage (
' , $ 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
</ 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 r i a b l e hidepage (
' , $ 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
</ 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 ="
<
menuitem action
R e a l i z a r
nueva
bsqueda
"
>
<x s l : v a r i a b l e
s e l e c t =" d o c ( '
s e l e c t =" d o c ( '
instance instance
name=" s u b c a t e g o r i a "
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
name=" p a l a b r a s C l a v e "
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
<x s l : a t t r i b u t e
<x s l : v a r i a b l e hidepage (
' , $ 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
</ 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 r i a b l e hidepage (
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 , ' ) ' ) " />
<x s l : v a l u e
of
</ x s l : a t t r i b u t e>
</
</ x s l : w h e n>
>
>
< 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
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 "
menuitem action
<
R e a l i z a r
nueva
bsqueda
"
<x s l : v a r i a b l e
s e l e c t =" d o c ( '
s e l e c t =" d o c ( '
instance instance
name=" s u b c a t e g o r i a "
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
name=" p a l a b r a s C l a v e "
<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
<x s l : a t t r i b u t e
<x s l : v a r i a b l e hidepage (
' , $ 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 =) ' ) " />
<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 r i a b l e hidepage (
' , $ 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 , ' ) ' ) " />
<x s l : v a l u e
of
</ x s l : a t t r i b u t e>
</
</ x s l : o t h e r w i s e>
>
>
</
container
184
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
<x s l : a t t r i b u t e
of
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
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
')
instance
<x s l : v a r i a b l e
name=" p r o v i n c i a "
instance
')
instance
<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 = ' , @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
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
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
<
action
<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
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
')
instance
<x s l : v a r i a b l e
name=" p r o v i n c i a "
instance
')
instance
<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
<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 , ' ) ' ) " />
185
<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=" 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 , ' ) ' ) " />
<x s l : v a l u e
of
</
</ x s l : t e m p l a t e>
action menuitem
</
>
</ 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 "
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 /
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 "
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
</
config
name=" d a t a "
</ p : p r o c e s s o r>
<!
Procesador de la
para
generar
el
datos
oferta )
>
config
necesario
para
el
mtodo
HTTP
name=" c o n f i g ">
version
=" 2 . 0 ">
match=" / ">
>u r l
h t t p</ o f
>
method
>
>
<x s l : v a l u e
</
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 " />
>
</ p : p r o c e s s o r>
186
37 38 39 40 41 42 43 44 45 46 47 48 49 50
<!
Primer
mtodo
GET
(HTTP)
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 " />
</ 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
x s l : v e r s i o n =" 2 . 0 ">
e a c h
and
@action
51 52 53 54 55 56 57
name=" t e x t 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 o ) " />
e a c h>
e a c h
and
@action
58 59 60 61
< 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
< x s l : t e x t>
</ x s l : t e x t>
64 65 66
strong
</ x s l : t e x t>
67 68 69 70 71
<x s l : f o r
e a c h
<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">
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 >
strong
</ x s l : t e x t>
77 78 79
<x s l : f o r
e a c h
<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">
187
80 81
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
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
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 ">
< 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
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 " />
</ 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
name=" c o n f i g ">
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 ">
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
, '
a f t e r ( / s u b m i s s i o n / idEmpresa
125 126
188
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
<x s l : v a l u e
o f
</
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)
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 " />
</ 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
<p : i n p u t <i t e m s
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
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 ">
<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">
< 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
189
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
name=" d a t a "
i n s t a n c e "
</ p : p r o c e s s o r>
<!
Serializacin
del
fichero
name=" o x f : x m l
X M L > s e r i a l i z e r ">
</
contenttype
>
</ 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 "
encoding
=" u t f
8 " ?>
version
<x s l : o u t p u t
i n d e n t=" y e s "
xalan:indent
page help
< <! <
match=" i t e m s ">
>c _ h e l p</
help
>
</
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 ">
image
p o s y=" 0 "
p o s x=" 0 "
s i z e x ="
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
>
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
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 "
of
text
<! <
container
Contenedor
del
texto
de
>
p o s x=" 3 0 " p o s y=" 2 3 4 "
a l p h a=" 0 "
s i z e x =" 5 2 0 "
190
27 28 29 30 31 32 33 34 35 36 37 38 39
<
text
p o s x=" 0 "
p o s y=" 0 "
s i z e x =" 5 2 0 "
s i z e y=
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
</
text container
</ > <
</ x s l : f o r
of 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 "
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 "
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 "
<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 "
<x s l : v a r i a b l e input:dat
name=" 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 "
<x s l : v a r i a b l e input:dat
name=" p a g "
<x s l : v a r i a b l e input:dat
name=" i d O f e r t a "
<x s l : v a r i a b l e input:dat
name=" 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 r i a b l e (
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
</ 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 r i a b l e (
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 t r =" Nueva
191
65 66 67 68 69 70 71 72 73 74 75 76 77
<
action
<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 "
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 "
<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 "
<x s l : v a r i a b l e input:dat
name=" 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 "
<x s l : v a r i a b l e input:dat
name=" p a g "
<x s l : v a r i a b l e input:dat
name=" i d O f e r t a "
<x s l : v a r i a b l e input:dat
name=" 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 r i a b l e (
78 79 80 81 82
<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 r i a b l e (
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
</
</ x s l : t e m p l a 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="
nombreBusq=" N a c i o n a l# # #N a c i o n a l "
192
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 "
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 ;­ ; 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 ;³ ; 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="
1"
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 ;­ ; a t
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
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 ;­ ; 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 "
1"
nombreBusq=" C o n c u r s o
o p o s i c i
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 ;³ ; n libre " nombreUrl
</ d a t o s>
ofertas_empleo_publico.xpl
1 2
<? xml
<p : c o n f i g
version
=" 1 . 0 "
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 /
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 "
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
</
config
name=" d a t a "
</ p : p r o c e s s o r>
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
<!
Procesador que
para
generar la
HTTP
obtendr
cookie
el
de
config
necesario
para
el
mtodo
sesin
>
name=" c o n f i g ">
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
name=" tmg:tm
h t t p ">
cookie config
con
de
sesin
>
</ 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 ">
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 /
action
194
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
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 : v a r i a b l e
name=" p r o v i n c i a "
s e l e c t =" /
o f
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
o f
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
o f
</
</ x s l : a t t r i b u t e>
>
</ p : p r o c e s s o r>
<!
Mtodo
POST
para
obtener
el
fichero
H T M L
>
name=" tmg:tm
h t t p ">
h r e f="#m e t o d o _ p o s t " /> i d=" web " />
</ 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 ">
version
=" 2 . 0 ">
match="@
| n o d e ( ) ">
s e l e c t ="@
t e m p l a t e s
| n o d e ( ) " />
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 ">
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 " />
</ 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 ">
version
=" 2 . 0 ">
match=" / ">
method
>
<x s l : v a r i a b l e
name=" u r l b a s e "
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 /
<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 =" /
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 ;
')
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 =" /
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 =
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
196
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
</
</ 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 "
>
</ p : p r o c e s s o r>
<!
Mtodo GET
para
obtener
el
fichero
H T M L
>
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 " />
</ 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
>
x s l t ">
xsl:version
=" 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
e a c h
< o f e r t a> <nombre> <x s l : v a l u e ( . / td [ 1 ] ) , '¡©­³º±‰& #141;“š‘¼' , ' ' ) " /> </ 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
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
190
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
191
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
192
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 ] ) "
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 )
<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
</ 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
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
o f
</ 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
') /
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
<x s l : i f
t e s t =" s u b s t r i n g
a f t e r
<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 ="
o f
s e l e c t =" $
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
198
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 "
</ p : p r o c e s s o r>
<!
Procesador
para
ordenar
las
pginas
>
name=" c o n f i g ">
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 /
o f
</ 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
t e m p l a t e s
<x s l : s o r t
" 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
o r d e r=
t e m p l a t e s>
match=" o f e r t a s / o f e r t a ">
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>
o f
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
o f
s e l e c t =" @ t o t a l " /
o f
i n s t a n c e "
name=" d a t a "
</ p : p r o c e s s o r>
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
>
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 " />
i n s t a n c e "
</ p : p r o c e s s o r>
<!
Serializacin
del
fichero
name=" o x f : x m l
X M L > s e r i a l i z e r ">
</
contenttype
>
</ 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 "
encoding
=" u t f
8 " ?>
version
<x s l : o u t p u t
i n d e n t=" y e s "
xalan:indent
page help
< <! <
match=" i t e m s ">
>c _ h e l p</
help
>
</
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 ">
image
p o s y=" 0 "
p o s x=" 0 "
s i z e x ="
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
>
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
>
s i z e x =" 5 3 0 " p o s y="
a l p h a=" 0 "
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
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
instance
' ) / submission /
of
s e l e c t =" d o c ( ' i n p u t : d a t
instance
') /
< 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 ="
of
s e l e c t ="
number ( $ num_pag
$ primera_pag
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
<
menuitem
i m a g e s / b o t _ m a t r i x _ o n . png "
<x s l : a p p l y
templates
<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 ' "> >
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 ">
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 ="
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
"
>
<x s l : v a r i a b l e
s e l e c t =" d o c ( '
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 "
name=" t i p o O p o s i c i o n "
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
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 ( '
<x s l : v a r i a b l e input:dat
name=" u r l "
<x s l : v a r i a b l e input:dat
name=" 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 : v a r i a b l 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
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 ="
<
menuitem action
R e a l i z a r
nueva
bsqueda
"
>
<x s l : v a r i a b l e
s e l e c t =" d o c ( '
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 "
name=" t i p o O p o s i c i o n "
<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 ( '
<x s l : v a r i a b l e input:dat
name=" p r i m e r a V e z "
<x s l : v a r i a b l e input:dat
name=" u r l "
<x s l : v a r i a b l e input:dat
name=" 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 : v a r i a b l 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
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
, ' & 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 , ' ) ' ) " />
</ x s l : a t t r i b u t e>
</
</ x s l : w h e n>
>
>
< 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
oferta
parmetros para
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
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 "
menuitem action
<
R e a l i z a r
nueva
bsqueda
"
>
<x s l : v a r i a b l e
s e l e c t =" d o c ( '
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 "
name=" t i p o O p o s i c i o n "
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 ( '
<x s l : v a r i a b l e input:dat
name=" p r i m e r a V e z "
<x s l : v a r i a b l e input:dat
name=" u r l "
<x s l : v a r i a b l e input:dat
name=" 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 : v a r i a b l 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
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 , ' ) ' ) " />
</ x s l : a t t r i b u t e>
</
</ x s l : o t h e r w i s e>
>
>
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 : t e m p l a t e <
menuitem
<x s l : a t t r i b u t e
of
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
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
')
instance
instance
<x s l : v a r i a b l e
name=" j s e s s i o n i d ">
instance
' ) / submission /
of
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 & ; 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
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
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
plazas:
</ x s l : a t t r i b u t e>
<
action
<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
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
')
instance
204
<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
<x s l : v a r i a b l e
name=" p a g "
instance
') /
instance
') /
instance
instance
<x s l : a t t r i b u t e <x s l : v a l u 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 , ' ) ' ) " />
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 , ' ) ' ) " />
</
</ x s l : t e m p l a t e>
action menuitem
</
>
</ 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 "
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 /
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 "
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
</
config
name=" d a t a "
</ p : p r o c e s s o r>
<!
Procesador
para
generar
el
config
necesario
para
el
mtodo
HTTP
>
name=" c o n f i g ">
205
20 21 22 23 24 25
version
=" 2 . 0 ">
match=" / ">
>u r l
h t t p</ o f
>
method
>
<x s l : v a l u e
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
</
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 " />
>
</ p : p r o c e s s o r>
<!
Mtodo GET
(HTTP)
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 " />
</ 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
x s l : v e r s i o n =" 2 . 0 ">
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">
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
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
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
i n s t a n c e "
</ p : p r o c e s s o r>
<!
Serializacin
del
fichero
name=" o x f : x m l
X M L > s e r i a l i z e r ">
</
contenttype
>
</ 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 "
encoding
=" u t f
8 " ?>
version
<x s l : o u t p u t
i n d e n t=" y e s "
xalan:indent
page help
< <! <
match=" i t e m s ">
>c _ h e l p</
help
>
</
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 ">
image
p o s y=" 0 "
p o s x=" 0 "
s i z e x ="
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
>
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
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 "
of
text
<! <
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 ">
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
c e l l x ="
250 "
p o s y=" 0 ">
</
table container
</
templates
<! <
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 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 "
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 "
<x s l : v a r i a b l e input:dat
name=" 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 "
<x s l : v a r i a b l e input:dat
name=" p a g "
<x s l : v a r i a b l e input:dat
name=" p r i m e r a V e z "
<x s l : v a r i a b l e input:dat
name=" u r l "
<x s l : v a r i a b l e input:dat
name=" j s e s s i o n i d "
<x s l : v a r i a b l e input:dat
name=" 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
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
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
</
<
>
<x s l : v a r i a b l e
name=" s e r v I p "
/ 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 "
p o r t " />
208
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 ( '
<x s l : v a r i a b l e input:dat
name=" 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 "
<x s l : v a r i a b l e input:dat
name=" p a g "
<x s l : v a r i a b l e input:dat
name=" p r i m e r a V e z "
<x s l : v a r i a b l e input:dat
name=" u r l "
<x s l : v a r i a b l e input:dat
name=" j s e s s i o n i d "
<x s l : v a r i a b l e input:dat
name=" 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 (
<x s l : a t t r i b u t e <x s l : v a l u 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>
>
<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
e a c h>
</ x s l : s t y l e s h e e t >
1 2
<? xml
<p : c o n f i g
version
=" 1 . 0 "
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 /
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 "
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
</
config
name=" d a t a "
</ p : p r o c e s s o r>
<!
Procesador
para
generar
el
config
necesario
para
el
mtodo
HTTP
>
name=" c o n f i g ">
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
</
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)
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 " />
</ p : p r o c e s s o r>
<!
Seleccin
de
informacin
de
inters
en
el
fichero
H T M L
recibido
>
x s l t ">
xsl:version
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= '
</
url
>
e a c h
< 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
e a c h>
210
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
<x s l : i f
t e s t =" p o s i t i o n ( ) ! = 1 ">
o f
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
e a c h>
</ p : p r o c e s s o r>
<!
Procesador
para
ordenar
los
sectores
>
name=" c o n f i g ">
version
=" 2 . 0 ">
match=" i t e m s ">
</
url url
>
<x s l : v a l u e >
o f
t e m p l a t e s
t e m p l a t e s
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
o f
o f
o f
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>
<!
Serializacin
del
fichero
name=" o x f : x m l
X M L > s e r i a l i z e r ">
</
contenttype
>
</ 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 "
encoding
="UTF
8" ?>
version
<x s l : o u t p u t
i n d e n t=" y e s "
xalan:indent
page help
< <! <
match=" i t e m s ">
>c _ h e l p</
help
>
</
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 ">
image
p o s y=" 0 "
p o s x=" 0 "
s i z e x ="
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
>
image
de
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
22 23 24
<
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 n d a l u z a s</
p o s y=" 2 5 "
text
s i z e x =" 5 2 0 "
s i z e y =" 2 5 "
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"
text
formulario
>
<! <
container
<
Contenedor
del
de
bsqueda
>
s i z e x =" 5 2 0 "
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 "
text form_list
" 175 "
s t r =" P r o v i n c i a "
p o s x=" 0 "
text
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 ">
</ 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 : f o r
e a c h>
</
<
<
s t r =" S e c t o r "
p o s x=" 0 "
v a l=" 0 0 0 0 "
text
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 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 ">
</ 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 : f o r
e a c h>
</
form_list
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 "
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
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 "
/ 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 "
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
<x s l : v a r i a b l e <x s l : v a r i a b l e (
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 ;& ; s e c t o r =$ f _ s e c t o r ;& ; u r l = ' , $ u r l , ' & amp ; p r i m e r a V e z=S& ; u r l F i n= & amp ; p a g =1) ' ) " />
80 81 82 83
<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=" 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 (
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
</
<
</ x s l : a t t r i b u t e>
>
i d=" f _ v o l v e r "
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
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 "
/ 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 "
p o r t " />
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
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=" 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 (
100 101 102 103 104 105 106 107 108 109 110 111 112
<x s l : v a l u e
of
</
</ 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
1 2
<? xml
<p : c o n f i g
version
=" 1 . 0 "
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 /
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 "
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
</
config
name=" d a t a "
</ p : p r o c e s s o r>
<!
Procesador
para
generar
el
config
necesario
para
el
mtodo
HTTP
>
name=" c o n f i g ">
config
version
=" 2 . 0 ">
match=" / ">
method action
>p o s t</
>
method
<x s l : v a l u e
o f
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
</ <
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
method action
h t t p</ o f
method
>
47 48 49 50 51 52
>
cookies
cookies
>
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)
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 " />
</ p : p r o c e s s o r>
<!
Seleccin
de
informacin
de
inters
en
el
fichero
H T M L
recibido
>
x s l t ">
xsl:version
e a c h
<e m p r e s a> <nombre> <x s l : v a l u e ( . / td [ 1 ] ) , '¡©­³º±‰& #141;“š‘¼' , ' ' ) " /> </ 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
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
76
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
77
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 )
, '
78 79
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 : 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
</ 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
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
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
,'
t e s t =" $ t o t a l _ p r o v i s i o n a l
o f
</ 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
') /
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
<x s l : i f
t e s t =" s u b s t r i n g
a f t e r
<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 ="
o f
s e l e c t =" $
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
<x s l : a t t r i b u t e
name=" f i n u r l ">
substring amp ;
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
substring
</ 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 "
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
>
name=" c o n f i g ">
version
=" 2 . 0 ">
match=" i t e m s ">
t e m p l a t e s
t e m p l a t e s
<x s l : s o r t
" 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
o r d e r=
t e m p l a t e s>
match=" e m p r e s a s / e m p r e s a ">
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
o f
s e l e c t =" @ t o t a l " /
o f
s e l e c t ="
o f
s e l e c t =" @ f i n u r l
</ 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
>
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 " />
i n s t a n c e "
</ p : p r o c e s s o r>
<!
Serializacin
del
fichero
name=" o x f : x m l
X M L > s e r i a l i z e r ">
config
218
</
contenttype
>
</ 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 "
encoding
=" u t f
8 " ?>
version
<x s l : o u t p u t
i n d e n t=" y e s "
xalan:indent
page help
< <! <
match=" i t e m s ">
>c _ h e l p</
help
>
</
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 ">
image
p o s y=" 0 "
p o s x=" 0 "
s i z e x ="
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
>
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
>
s i z e x =" 5 3 0 " p o s y="
a l p h a=" 0 "
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
instance
' ) / submission /
of
s e l e c t =" d o c ( ' i n p u t : d a t
instance
') /
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 ="
of
s e l e c t ="
number ( $ num_pag
$ primera_pag
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
<
menuitem
i m a g e s / b o t _ m a t r i x _ o n . png "
<x s l : a p p l y
templates
<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 ' "> >
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 ">
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 ="
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
"
>
<x s l : v a r i a b l e
s e l e c t =" d o c ( '
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 "
<x s l : v a r i a b l e input:dat
name=" p r i m e r a V e z "
<x s l : v a r i a b l e input:dat
name=" s e c t o r "
<x s l : v a r i a b l e input:dat
name=" 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 g "
<x s l : a t t r i b u t e
<x s l : v a r i a b l e hidepage (
72 73 74 75 76
<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 r i a b l e hidepage (
220
' , $ 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
</ 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 ="
<
menuitem action
R e a l i z a r
nueva
bsqueda
"
>
<x s l : v a r i a b l e
s e l e c t =" d o c ( '
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 "
<x s l : v a r i a b l e input:dat
name=" p r i m e r a V e z "
<x s l : v a r i a b l e input:dat
name=" s e c t o r "
<x s l : v a r i a b l e input:dat
name=" 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 g "
<x s l : a t t r i b u t e
<x s l : v a r i a b l e hidepage (
<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 r i a b l e hidepage (
' , $ 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
</ x s l : a t t r i b u t e>
</
</ x s l : w h e n>
>
>
< 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
bsqueda nueva
seleccionados . >
113
<
menu
O K"
t y p e=" v e r t i c a l "
p o s x=" 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 ">
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
"
>
<x s l : v a r i a b l e
s e l e c t =" d o c ( '
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 "
<x s l : v a r i a b l e input:dat
name=" p r i m e r a V e z "
<x s l : v a r i a b l e input:dat
name=" s e c t o r "
<x s l : v a r i a b l e input:dat
name=" 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 g "
<x s l : a t t r i b u t e
<x s l : v a r i a b l e hidepage (
<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 r i a b l e hidepage (
' , $ 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
</ x s l : a t t r i b u t e>
</
</ x s l : o t h e r w i s e>
>
>
</
</ x s l : t e m p l a t e>
container page
</ >
<x s l : t e m p l a t e <
menuitem
<x s l : a t t r i b u t e
of
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
p o r 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 / 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 & ; 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
of
222
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
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
<
action
<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
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 " />
s e l e c t =" d o c ( ' i n p u t : d a t
instance
') /
instance
') /
instance
') /
instance
instance
') /
')
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 , ' ) ' ) " />
<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=" 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 , ' ) ' ) " />
<x s l : v a l u e
of
</
</ x s l : t e m p l a t e>
action menuitem
</
>
</ 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 "
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 /
223
pipeline "
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 "
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
</
config
name=" d a t a "
</ p : p r o c e s s o r>
<!
Procesador
para
generar
el
config
necesario
para
el
mtodo
HTTP
>
name=" c o n f i g ">
version
=" 2 . 0 ">
match=" / ">
>u r l
h t t p</ o f
>
method
>
<x s l : v a l u e
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
</
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)
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 " />
</ 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
x s l : v e r s i o n =" 2 . 0 ">
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">
o f
e a c h>
<x s l : f o r
e a c h
e a c h
s e l e c t =" . / d i v / l a b e l ">
224
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
</ 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
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
o f
s e l e c t =" n o r m a l i z e
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
>
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 " />
i n s t a n c e "
</ p : p r o c e s s o r>
<!
Serializacin
del
fichero
name=" o x f : x m l
X M L > s e r i a l i z e r ">
</
contenttype
>
</ 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 "
encoding
=" u t f
8 " ?>
version
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
i n d e n t=" y e s "
xalan:indent
page help
< <! <
match=" i t e m s ">
>c _ h e l p</
help
>
</
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 ">
image
p o s y=" 0 "
p o s x=" 0 "
s i z e x ="
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
>
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
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 "
of
text
<! <
container text
<
Contenedor
del
texto
de
>
p o s x=" 3 0 " p o s y=" 2 3 4 "
a l p h a=" 0 "
s i z e x =" 5 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=
<x s l : f o r
<x s l : v a l u e
<
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 : v a l u e
<
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 "
45 46
menuitem action
<
226
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 "
/ 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 "
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 "
<x s l : v a r i a b l e input:dat
name=" p r o v "
<x s l : v a r i a b l e input:dat
name=" s e c t o r "
<x s l : v a r i a b l e input:dat
name=" u r l "
<x s l : v a r i a b l e input:dat
name=" u r l F i n "
<x s l : v a r i a b l e input:dat
name=" p r i m e r a V e z "
<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 "
<x s l : v a r i a b l e input:dat
name=" 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 r i a b l e (
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
</ 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 r i a b l e (
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
</
<
>
<x s l : v a r i a b l e
name=" s e r v I p "
/ 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 "
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 "
<x s l : v a r i a b l e input:dat
name=" p r o v "
<x s l : v a r i a b l e input:dat
name=" s e c t o r "
<x s l : v a r i a b l e input:dat
name=" u r l "
<x s l : v a r i a b l e input:dat
name=" u r l F i n "
<x s l : v a r i a b l e input:dat
name=" p r i m e r a V e z "
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
<x s l : v a r i a b l e input:dat
name=" 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
of
, showpage (
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
<x s l : v a r i a b l e (
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
</
</ x s l : t e m p l a t e>
>
</ x s l : s t y l e s h e e t >
1 2
<? xml
<p : c o n f i g
version
=" 1 . 0 "
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 /
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 "
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
</
config
name=" d a t a "
</ p : p r o c e s s o r>
<!
Procesador
para
generar
el
config
necesario
para
el
mtodo
HTTP
>
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
22 23 24 25 26
<
>u r l
h t t p</
>y e s</
>
method cookies
>
>
<x s l : v a l u e
o f
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 r o c e s s o r>
<!
Mtodo GET
(HTTP)
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 " />
</ p : p r o c e s s o r>
<!
Recupera
la
lista
de
municipios
>
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
>
x s l t ">
xsl:version
e a c h
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 ">
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
e a c h> e a c h>
e a c h
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
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 "
</ p : p r o c e s s o r>
<!
Generacin
del
fichero
X M L
>
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 " />
i n s t a n c e "
</ p : p r o c e s s o r>
<!
Serializacin
del
fichero
name=" o x f : x m l
X M L > s e r i a l i z e r ">
</
contenttype
>
</ 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 "
encoding
="UTF
8" ?>
version
<x s l : o u t p u t
i n d e n t=" y e s "
xalan:indent
page help
< <! <
match=" i t e m s ">
>c _ h e l p</
help
>
Contenedor
del
ndice
lateral
>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=
v i s =" 1 "
s i z e y =" 1 6 8 ">
118 "
image
p o s y=" 0 "
p o s x=" 0 "
s i z e x ="
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
118 "
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
18 19 20 21 22 23 24 25 26 27
</
container
=" 5 2 0 " <
>
<! <
container text
<
Contenedor
del
de
bsqueda
>
p o s y=" 2 3 3 " sizex
a l p h a=" 0 "
p o s x=" 3 0 "
p o s x=" 0 " de
s c r o l l =" 0 ">C u r s o s
formacin
form
< <
text
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 "
text form_list
=" 2 5 " 175 "
s t r =" T i p o
de
curso "
p o s x=" 0 "
v a l=" 0 0 0 0 "
text
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
of
s e l e c t =" d o c ( '
instance
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
instance
' ) / submission /
instance
' ) / submission /
instance
' ) / submission /
</
<
<
s t r =" I n i c i o
programado
en "
p o s x=" 0 "
s i z e y =" 2 5 "
i d=" f _ i n i c i o "
text
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
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 "
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 "
v a l=" 0 0 0 0 "
text
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 y =" 2 5 "
up=" f _ i n i c i o ">
<x s l : a t t r i b u t e
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
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
t e s t =" p o s i t i o n ( ) != l a s t ( ) ">
e a c h>
name=" o p t i o n s _ t e x t s ">
</ x s l : f o r
e a c h>
</
form_list
<
<x s l : i f
t e s t =" d o c ( ' i n p u t : d a t
instance
<
text form_list
=" 2 5 " otros
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
( trab .
v a l=" 0 0 0 0 "
t y p e=" h a r r o w s "
78 79 80
<
<
up=" f _ m u n i c i p i o "
empresas "
p o s x=" 0 "
1 , S i
text
s i z e x ="
o p t i o n s _ t e x t s=" Todas
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 "
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
<
text edit_text
155 " 175 "
s t r =" C d i g o
de
la
oferta "
p o s x=" 0 "
s i z e y =" 2 5 "
i d=" f _ c o d i g o "
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 "
86 87 88 89 90 91 92 93 94 95 96 97 98 99
</ x s l : i f >
edit_text text
>
<
<
text form_list
155 " "
profesional "
p o s x=" 0 "
p o s y=" 1 5 0 "
s i z e x ="
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 y =" 2 5 "
down=" f _ b u s c a r ">
<x s l : a t t r i b u t e
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
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 ">
</ 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 : 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 "
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 "
action
v a l i d a t i o n =" f a l s e ">
<x s l : a t t r i b u t e
<x s l : v a r i a b l e
s e l e c t =" d o c ( '
s e l e c t =" d o c ( '
instance
<x s l : v a r i a b l e (
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 ;& ; 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 ;& ; m u n i c i p i o =$ f _ m u n i c i p i o ;& ; p a g=1& ; ' ) " />
name=" p r o v "
s e l e c t =" d o c ( '
instance
t e s t =" d o c ( ' i n p u t : d a t
instance
') /
of
=$ f _ c o l e c t i v o ;& ; f a m i l i a =$ f _ f a m i l i a ;& ; p r a c t i c a s =$ f _ p r a c t i c a s ;& ; c o d i g o= & amp ; p r o v i n c i a = ' , $ p r o v , ' ) ' ) " />
of
amp ; f a m i l i a =$ f _ f a m i l i a ;& ; 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 , ' ) ' ) " />
</ 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
s e l e c t =" d o c ( '
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 "
<x s l : v a r i a b l e input:dat
name=" p r o v "
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>
>
</ 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
<p r o v i n c i a
1">
v a l u e="
</ 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
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
m o n t e a g u d</ o p t i o n>
<o p t i o n
<o p t i o n
de
a l m e r i a</ o p t i o n>
234
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
( venta
nueva )
( l a )</
o p t i o n>
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
a l m a n z o r a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
f i l a b r e s </ o p t i o n>
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
de
san
urbano
( l a )</
o p t i o n>
<o p t i o n
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
<o p t i o n
<o p t i o n
<o p t i o n
del
a l m a n z o r a</ o p t i o n>
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
maria
de
o c a a</ o p t i o n>
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
( l o s )</ o p t i o n>
<o p t i o n
( l o s )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
a l m e r i a</ o p t i o n>
<o p t i o n
o v e r a</ o p t i o n>
<o p t i o n
o v e r a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
a n d a r a x</ o p t i o n>
<o p t i o n
<o p t i o n
236
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
de
las
t o r r e s</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
daza
( l a s )</ o p t i o n>
<o p t i o n
<o p t i o n
de
c a s t r o</ o p t i o n>
<o p t i o n
del
r i o</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
del
r i o</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
mar</ o p t i o n>
<o p t i o n
cruz
de
m a r c h e n a</ o p t i o n>
<o p t i o n
fe
de
m o n d u j a r</ o p t i o n>
<o p t i o n
maria
del
a g u i l a</ o p t i o n>
<o p t i o n
d o m i n g o</ o p t i o n>
<o p t i o n
<o p t i o n
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
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
villas
( l a s )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
del
campo</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<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
de
los
g a z u l e s</ o p t i o n>
<o p t i o n
del
v a l l e</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
la
f r o n t e r a</ o p t i o n>
238
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
<o p t i o n
( l o s )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
<o p t i o n >
de
la
f r o n t e r a</ o p t i o n
<o p t i o n
de
la
f r o n t e r a</ o p t i o n>
<o p t i o n
<o p t i o n
de
la
f r o n t e r a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
<o p t i o n
de
la
f r o n t e r a</ o p t i o n>
<o p t i o n
de
la
f r o n t e r a</ o p t i o n>
<o p t i o n
de
la
concepcion
( l a )</
o p t i o n>
<o p t i o n
s i d o n i a</ o p t i o n>
<o p t i o n
<o p t i o n
de
r i v e r a</ o p t i o n>
<o p t i o n
del
r e y</ o p t i o n>
<o p t i o n
de
santa
maria
( e l )</
o p t i o n>
<o p t i o n
r e a l</ o p t i o n>
<o p t i o n
s e r r a n o</ o p t i o n>
<o p t i o n
<o p t i o n
f e r n a n d o</ o p t i o n>
<o p t i o n
jose
del
v a l l e</ o p t i o n>
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 >
martin
del
t e s o r i l l o </ o p t i o n
<o p t i o n
r o q u e</ o p t i o n>
<o p t i o n
de
b a r r a m e d a</ o p t i o n>
<o p t i o n
de
las
b o d e g a s</ o p t i o n>
<o p t i o n
<o p t i o n
a l h a q u i m e</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
la
f r o n t e r a</ o p t i o n>
<o p t i o n
del
r o s a r i o</ o p t i o n>
<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
<o p t i o n
de
la
f r o n t e r a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
del
r i o</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
( l o s )</ o p t i o n>
<o p t i o n
<o p t i o n
240
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
<o p t i o n
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
del
r i o</ o p t i o n>
<o p t i o n
de
las
t o r r e s</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
t o r r e s</ o p t i o n>
<o p t i o n
m e n c i a</ o p t i o n>
<o p t i o n
r e a l e s</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
n u e z</ o p t i o n>
<o p t i o n
c a r r e t e r o s</ o p t i o n>
<o p t i o n
la
l a n c h a</ o p t i o n>
<o p t i o n
o b e j u n a</ o p t i o n>
<o p t i o n
p a l m e r a</ o p t i o n>
<o p t i o n
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
<o p t i o n
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
del
d u q u e</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
c o r d o b a</ o p t i o n>
<o p t i o n
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
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
c a r t e y a</ o p t i o n>
<o p t i o n
<o p t i o n
del
r i o</ o p t i o n>
<o p t i o n
<o p t i o n
del
r i o</ o p t i o n>
<o p t i o n
a b a d</ o p t i o n>
<o p t i o n
<o p t i o n
p u e b l o n u e v o</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
c o r d o b a</ o p t i o n>
<o p t i o n
g e n i l</ o p t i o n>
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
sebastian
de
los
ballesteros
</ o p t i o n>
<o p t i o n
e u f e m i a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
del
r i o</ o p t i o n>
<o p t i o n
de
c o r d o b a</ o p t i o n>
<o p t i o n
<o p t i o n
de
c o r d o b a</ o p t i o n>
242
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
del
d u q u e</ o p t i o n>
<o p t i o n
del
r e y</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
c o r d o b a</ o p t i o n>
<o p t i o n
( e l )</ o p t i o n>
<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
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
g u a d i x</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
g r a n a d a</ o p t i o n>
<o p t i o n
<o p t i o n
de
o r t e g a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
la
s i e r r a</ o p t i o n>
<o p t i o n
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
del
r e y</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
g r a n a d a</ o p t i o n>
<o p t i o n
de
g u a d i x</ o p t i o n>
<o p t i o n
de
g u a d i x</ o p t i o n>
<o p t i o n
de
las
v i l l a s </ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
f e r r o</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
la
v e g a</ o p t i o n>
<o p t i o n
244
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
<o p t i o n
de
la
v e g a</ o p t i o n>
<o p t i o n
<o p t i o n
de
g u a d i x</ o p t i o n>
<o p t i o n
v e g a</ o p t i o n>
<o p t i o n
<o p t i o n
de
b a z a</ o p t i o n>
<o p t i o n
g r a e n a</ o p t i o n>
<o p t i o n
del
campo</ o p t i o n>
<o p t i o n
<o p t i o n
v e g a</ o p t i o n>
<o p t i o n
<o p t i o n
de
g u a d i x</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
v a q u e r o s</ o p t i o n>
<o p t i o n
( l a s )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
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
<o p t i o n
<o p t i o n
<o p t i o n
( l o s )</ o p t i o n>
<o p t i o n
<o p t i o n
s i e r r a</ o p t i o n>
<o p t i o n
s i e r r a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
v a l l e</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
s a n t i l l a n</ o p t i o n>
<o p t i o n
t a j a r</ o p t i o n>
<o p t i o n
t a j a r</ o p t i o n>
<o p t i o n
v e g a</ o p t i o n>
<o p t i o n
v e g a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
del
m a r q u e s a d o</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
246
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
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
g u j a r e s</ o p t i o n>
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
bombaron</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
z a f a y o n a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
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
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
m a r t i n e z</ o p t i o n>
<o p t i o n
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
del
v a l l e</ o p t i o n>
<o p t i o n
g e n i l</ o p t i o n>
<o p t i o n
p u e n t e</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
don
f a d r i q u e</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
cruz
del
c o m e r c i o</ o p t i o n>
248
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
f e</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
c a r d e l a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
del
z a l a b i</ o p t i o n>
<o p t i o n
<o p t i o n
del
g e n i l</ o p t i o n>
<o p t i o n
de
b e n a u d a l l a</ o p t i o n>
<o p t i o n
de
h u e l m a</ o p t i o n>
<o p t i o n
de
z a f a r r a y a</ o p t i o n>
<o p t i o n
<o p t i o n >
de
las
t o r r e s</ o p t i o n
<o p t i o n
m e s i a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
( l a )</ o p t i o n>
<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
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
<o p t i o n
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
la
r e a l</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
l e o n</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
par
del
c o n d a d o</
o p t i o n>
<o p t i o n
<o p t i o n
r u b i a s</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
del
r o b l e d o</ o p t i o n>
<o p t i o n
de
l e o n</ o p t i o n>
<o p t i o n
de
andevalo
( e l )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
e n m e d i o</ o p t i o n>
250
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 >
de
san
b a r t o l o m e</ o p t i o n
<o p t i o n
m a y o r e s</ o p t i o n>
<o p t i o n
<o p t i o n
del
campo</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
rio
tinto
( l a )</
o p t i o n>
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
de
la
s i e r r a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
c r i s t i n a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
la
s i e r r a</ o p t i o n>
<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
<o p t i o n
( l o s )</ o p t i o n>
<o p t i o n
( l o s )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
h e r r e r i a s</ o p t i o n>
<o p t i o n
de
r i o t i n t o</ o p t i o n>
<o p t i o n
de
t h a r s i s</ o p t i o n>
<o p t i o n
<o p t i o n
de
t h a r s i s</ o p t i o n>
<o p t i o n
( l a )</ o p t i o n>
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
<o p t i o n
<o p t i o n
del
condado
( l a )</ o p t i o n>
<o p t i o n
de
la
f r o n t e r a</ o p t i o n>
<o p t i o n
del
campo</ o p t i o n>
<o p t i o n
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
de
guzman</ o p t i o n>
<o p t i o n
m o r a l</ o p t i o n>
<o p t i o n
u m b r i a</ o p t i o n>
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
del
c o n d a d o</ o p t i o n>
<o p t i o n
de
la
f r o n t e r a</ o p t i o n>
<o p t i o n
bartolome
de
la
t o r r e</
o p t i o n>
<o p t i o n
juan
del
p u e r t o</ o p t i o n>
<o p t i o n
silvestre
de
guzman</ o p t i o n>
<o p t i o n
t e l m o</ o p t i o n>
<o p t i o n
de
g u a d i a n a</ o p t i o n>
<o p t i o n
ana
la
r e a l</ o p t i o n>
<o p t i o n
barbara
de
c a s a</ o p t i o n>
<o p t i o n
olalla
del
c a l a</ o p t i o n>
<o p t i o n
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
del
c a m i n o</ o p t i o n>
<o p t i o n
<o p t i o n
del
a l c o r</ o p t i o n>
<o p t i o n >
de
las
c r u c e s</ o p t i o n
252
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
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
<o p t i o n
la
r e a l</ o p t i o n>
<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
de
m a g i n a</ o p t i o n>
<o p t i o n
la
r e a l</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
del
o j a n c o</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
la
e n c i n a</ o p t i o n>
<o p t i o n
de
s e g u r a</ o p t i o n>
<o p t i o n
g a r c i e z</ o p t i o n>
<o p t i o n
<o p t i o n
de
la
m o r a l e d a</ o p t i o n>
<o p t i o n
<o p t i o n
del
santo
c r i s t o</ o p t i o n>
<o p t i o n
<o p t i o n
de
a r e n a s</ o p t i o n>
<o p t i o n
<o p t i o n
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
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
de
l o c u b i n</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
s e g u r a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
m a r t o s</ o p t i o n>
<o p t i o n
del
r e y</ o p t i o n>
<o p t i o n
<o p t i o n
de
jaen
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
de
c a l a t r a v a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
( l a s )</ o p t i o n>
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
254
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
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
r e a l</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
san
j u a n</ o p t i o n>
<o p t i o n
de
t o l o s a</ o p t i o n>
<o p t i o n
u s a r</ o p t i o n>
<o p t i o n
utilizar
usar
el
2 3 9 0 3</
o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
b e c e r r o</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
a l c o n</ o p t i o n>
<o p t i o n
de
g e n a v e</ o p t i o n>
<o p t i o n
de
segura
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
e l e n a</ o p t i o n>
<o p t i o n
de
c a l a t r a v a</ o p t i o n>
<o p t i o n
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
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
tome</ o p t i o n>
<o p t i o n
de
la
s i e r r a</ o p t i o n>
<o p t i o n
<o p t i o n >
del
g u a d a l i m a r</ o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
a l b a n c h e z</ o p t i o n>
<o p t i o n
<o p t i o n
de
j a e n</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
la
r e i n a</ o p t i o n>
<o p t i o n >
del
a r z o b i s p o</ o p t i o n
<o p t i o n
<o p t i o n
( l o s )</ o p t i o n>
<o p t i o n
<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
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
256
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
<o p t i o n
de
la
t o r r e</ o p t i o n>
<o p t i o n
el
g r a n d e</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
la
m i e l</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
( e l )</ o p t i o n>
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
del
moral
( l a )</ o p t i o n>
<o p t i o n
de
v e l e z</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
a c e i t u n o</ o p t i o n>
<o p t i o n
de
a l b a i d a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
la
r e a l</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
la
f r o n t e r a</ o p t i o n>
<o p t i o n
b a j a s</ o p t i o n>
<o p t i o n
de
san
m a r c o s</ o p t i o n>
<o p t i o n
del
b e c e r r o</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
p i e d r a</ o p t i o n>
<o p t i o n
258
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
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
l i b a r</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
la
t o r r e</ o p t i o n>
<o p t i o n
<o p t i o n
de
la
v i c t o r i a</ o p t i o n>
<o p t i o n
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
<o p t i o n
<o p t i o n
pedro
a l c a n t a r a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
y e g u a s</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
del
mar</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
a b d a l a j i s</ o p t i o n>
<o p t i o n
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
<o p t i o n
de
la
c o n c e p c i o n</
o p t i o n>
<o p t i o n
de
la
c o n c e p c i n</
o p t i o n>
<o p t i o n
de
t a p i a</ o p t i o n>
<o p t i o n
del
r o s a r i o</ o p t i o n>
<o p t i o n
del
t r a b u c o</ o p t i o n>
<o p t i o n
<o p t i o n
( 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
<o p t i o n
<o p t i o n
del
a l j a r a f e </ o p t i o n>
260
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
de
g u a d a i r a</ o p t i o n>
<o p t i o n
del
r i o</ o p t i o n>
<o p t i o n
del
r i o</ o p t i o n>
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
de
la
p l a t a</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n >
de
la
m i t a c i o n</ o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
san
juan
( l a s )</
o p t i o n>
<o p t i o n
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t 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
<o p t i o n
de
los
a r r o y o s</
o p t i o n>
<o p t i o n
de
guzman</ o p t i o n>
<o p t i o n
de
la
c u e s t a</ o p t i o n>
<o p t i o n
del
campo</ o p t i o n>
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
de
las
guardas
( e l )</
o p t i o n>
<o p t i o n
de
la
s i e r r a</ o p t i o n>
<o p t i o n
r o s a l</ o p t i o n>
<o p t i o n
<o p t i o n
del
r i o</ o p t i o n>
<o p t i o n
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
( l o s )</ o p t i o n>
<o p t i o n
de
sevilla
( e l )</ o p t i o n>
<o p t i o n
<o p t i o n
h e r m a n a s</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
a n d a l u c i a</ o p t i o n>
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
mayor</ o p t i o n>
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
<o p t i o n
de
e s t e p a</ o p t i o n>
<o p t i o n
del
r i o</ o p t i o n>
<o p t i o n
( l a )</ o p t i o n>
262
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
( e l )</ o p t i o n>
<o p t i o n
del
a l c o r</ o p t i o n>
<o p t i o n
del
a l j a r a f e </ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
de
la
j a r a</ o p t i o n>
<o p t i o n
( l o s )</ o p t i o n>
<o p t i o n
<o p t i o n
de
la
f r o n t e r a</ o p t i o n>
<o p t i o n
de
la
concepcion
( l a s )</
o p t i o n>
<o p t i o n
d e f i n i d o</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
villafranca
( l o s )</
o p t i o n>
<o p t i o n
del
r i o</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
cazalla
( l a )</ o p t i o n>
<o p t i o n
de
los
infantes
( l a )</
o p t i o n>
<o p t i o n
del
rio
( l a )</ o p t i o n>
<o p t i o n
de
la
jara
( e l )</ o p t i o n>
<o p t i o n
( l a )</ o p t i o n>
<o p t i o n
de
andalucia
( l a )</ o p t i o n>
<o p t i o n
( e l )</ o p t i o n>
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
( l o s )</ o p t i o n>
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
<o p t i o n >
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
nicolas
del
p u e r t o</ o p t i o n>
<o p t i o n
la
mayor</ o p t i o n>
<o p t i o n
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
<o p t i o n
d e t e r m i n a r</ o p t i o n>
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
<o p t i o n
de
la
c o n c e p c i o n</
o p t i o n>
<o p t i o n
( e l )</ o p t i o n>
<o p t i o n
de
la
c o n d e s a</
o p t i o n>
<o p t i o n
de
san
j u a n</ o p t i o n>
<o p t i o n
del
a r i s c a l </ o p t i o n>
<o p t i o n
del
rio
m i n a s</
o p t i o n>
<o p t i o n
del
r i o</ o p t i o n>
<o p t i o n
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
<p : c o n f i g
x m l n s : t m g=" h t t p :
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 "
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
</
config
name=" d a t a "
</ p : p r o c e s s o r>
<!
Procesador
para
generar
el
config
necesario
para
el
mtodo
HTTP
>
name=" c o n f i g ">
version
>
=" 2 . 0 ">
match=" / ">
>u r l
h t t p</ o f
method
>
<x s l : v a l u e
26 27 28
</ <
preaction action
>
<x s l : v a l u e
o f
29 30 31 32 33 34 35
</ <
action cookies
cookies
>
>
parameters parameter
< </ <
<x s l : a t t r i b u t e
o f
36 37 38
<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
>
265
47 48 49 50 51
<
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
52 53 54
</ <
<x s l : a t t r i b u t e
o f
55 56 57 58
</ <
<
x s l : a t t r i b u t e>
<x s l : a t t r i b u t e
o f
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>
parameters parameter
</ <
<x s l : a t t r i b u t e
o f
66 67 68
<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
75 76 77 78 79
</ <
< <
x s l : a t t r i b u t e>
parameter
o f
>
<x s l : a t t r i b u t 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
<
name=" e n t i d a d "
parameter
o f
>
<x s l : a t t r i b u t e
85 86 87 88
</
parameter parameters
</
x s l : a t t r i b u t e>
266
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
</
>
</ p : p r o c e s s o r>
<!
Mtodo
POST + GET
(HTTP)
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 " />
</ p : p r o c e s s o r>
<!
Seleccin
de
informacin
de
inters
en
el
fichero
H T M L
recibido
>
x s l t ">
xsl:version
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
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
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
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
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 != ' ' ">
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>
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
o f
s e l e c t =" $
o f
s e l e c t =" $
e a c h
<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
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>
i n s t a n c e "
name=" d a t a "
</ p : p r o c e s s o r>
<!
Procesador
para
ordenar
las
pginas
>
name=" c o n f i g ">
version
=" 2 . 0 ">
match=" / ">
t e m p l a t e s
t e m p l a t e s
<x s l : s o r t
" 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
o r d e r=
t e m p l a t e s>
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
o f o f
s e l e c t =" @nombre
o f o f
s e l e c t ="
o f
s e l e c t ="
o f
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
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
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
o f
s e l e c t =" @ t o t a l " /
</ 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
>
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 " />
i n s t a n c e "
</ p : p r o c e s s o r>
<!
Serializacin
del
fichero
name=" o x f : x m l
X M L > s e r i a l i z e r ">
</
contenttype
>
</ 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 "
encoding
="UTF
8" ?>
version
<x s l : o u t p u t
i n d e n t=" y e s "
xalan:indent
page help
< <! <
match=" i t e m s ">
>c _ h e l p</
help
>
Contenedor
del
ndice
lateral
>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=
v i s =" 1 "
s i z e y =" 1 6 8 ">
118 "
image
p o s y=" 0 "
p o s x=" 0 "
s i z e x ="
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
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 "
269
17 18 19 20 21 22 23
</
s i z e x =" 1 1 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
>
s i z e x =" 5 3 0 " p o s y="
a l p h a=" 0 "
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
instance
< 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 ="
of
s e l e c t ="
number ( $ num_pag
$ primera_pag
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
<
menuitem
i m a g e s / b o t _ m a t r i x _ o n . png "
<x s l : a p p l y
templates
<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 ' "> >
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 "
a l p h a=" 0 "
s i z e y =" 3 0 0 "
p o s x=" 3 0 "
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 ="
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 ="
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 (
<x s l : a t t r i b u t e
<x s l : v a r i a b l e
s e l e c t =" d o c ( '
270
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
name=" t i p o C u r s o "
s e l e c t =" d o c ( '
instance
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
name=" m u n i c i p i o "
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
name=" p r o v "
65
<x s l : v a r i a b l e hidepage (
s e l e c t =" c o n c a t ( '
' , $ 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
instance
') /
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
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 ="
instance
' ) / submission
71
<x s l : v a l u e
of
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
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
instance
' ) / submission /
76
<x s l : v a l u e
of
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 : w h e n>
>
< 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
parmetros
bsqueda
seleccionados
271
87
<
menu
. <
Pulse
"O K"
para
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
<
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 (
<x s l : a t t r i b u t e
<x s l : v a r i a b l e
s e l e c t =" d o c ( '
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
name=" t i p o C u r s o "
s e l e c t =" d o c ( '
instance
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
name=" m u n i c i p i o "
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
name=" p r o v "
99
<x s l : v a r i a b l e hidepage (
s e l e c t =" c o n c a t ( '
' , $ 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 ; ' ) " />
instance
') /
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
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 ="
instance
' ) / submission
105
<x s l : v a l u e
of
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 , ' ) ' ) " />
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
instance
' ) / submission /
110
<x s l : v a l u e
of
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
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 : t e m p l a t e>
container page
</ >
<x s l : t e m p l a t e <
menuitem
<x s l : a t t r i b u t e
of
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
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
')
instance
') /
instance
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 )
') /
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 ; ' ) " />
<x s l : a t t r i b u t e
name=" o n o v e r ">
instance
' ) / submission /
<x s l : v a r i a b l e input:dat
name=" f a m i l i a "
name=" p r a c t i c a s "
of
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 , ' ) ' ) " />
</ 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
name=" f a m i l i a "
of
, ' & 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 , ' ) ' ) " />
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
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 ">
of
of
<
action
<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
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
')
instance
') /
instance
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
') /
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 " />
, 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
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 ; ' ) " />
<x s l : a t t r i b u t e
name=" a c t ">
instance
' ) / submission /
instance instance
name=" p r a c t i c a s "
of
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
274
190 191
name=" c o d i g o "
s e l e c t =" d o c ( '
instance
of
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 , ' ) ' ) " />
instance
' ) / submission /
instance instance
name=" p r a c t i c a s "
of
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 , ' ) ' ) " />
</ 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
of
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 , ' ) ' ) " />
</
</ x s l : t e m p l a t e>
action menuitem
</
>
</ 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 "
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 /
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 "
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
</
config
name=" d a t a "
</ p : p r o c e s s o r>
<!
Procesador
para
generar
el
config
necesario
para
el
mtodo
HTTP
>
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=" / ">
275
22 23 24 25
<
>u r l
h t t p</ o f
>
method
>
<x s l : v a l u e
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& ; 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
</
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 " />
>
</ p : p r o c e s s o r>
<!
Mtodo GET
(HTTP)
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 " />
</ 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
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
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 ' ">
< 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 ( ) ) " />
o f
s e l e c t =" s u b s t r i n g
276
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
o f
</ 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
>
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 " />
i n s t a n c e "
</ p : p r o c e s s o r>
<!
Serializacin
del
fichero
name=" o x f : x m l
X M L > s e r i a l i z e r ">
</
contenttype
>
</ 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 "
encoding
=" u t f
8 " ?>
version
<x s l : o u t p u t
i n d e n t=" y e s "
xalan:indent
page help
< <! <
match=" i t e m s ">
>c _ h e l p</
help
>
Contenedor
del
ndice
lateral
>
a l p h a=" 0 " p o s x=" 5 6 0 " p o s y=
v i s =" 1 "
s i z e y =" 1 6 8 ">
118 "
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 "
277
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
</
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
>
image
de
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 "
of
text
text
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
<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
< 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 "
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 "
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 "
<x s l : v a r i a b l e input:dat
name=" t i p o C u r s o "
<x s l : v a r i a b l e input:dat
name=" i n i c i o "
<x s l : v a r i a b l e input:dat
name=" m u n i c i p i o "
<x s l : v a r i a b l e
name=" pg "
instance
<x s l : v a r i a b l e input:dat
name=" c o l e c t i v o "
<x s l : v a r i a b l e input:dat
name=" f a m i l i a "
<x s l : v a r i a b l e input:dat
name=" p r a c t i c a s "
<x s l : v a r i a b l e input:dat
name=" c o d i g o "
<x s l : v a r i a b l e input:dat
name=" i d C u r s o "
278
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
<x s l : a t t r i b u t e
<x s l : v a r i a b l e (
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
</ 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 r i a b l e (
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
</
<
>
, showpage (
<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 "
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 "
<x s l : v a r i a b l e input:dat
name=" t i p o C u r s o "
<x s l : v a r i a b l e input:dat
name=" i n i c i o "
<x s l : v a r i a b l e input:dat
name=" m u n i c i p i o "
<x s l : v a r i a b l e
name=" pg "
instance
<x s l : v a r i a b l e input:dat
name=" c o l e c t i v o "
<x s l : v a r i a b l e input:dat
name=" f a m i l i a "
<x s l : v a r i a b l e input:dat
name=" p r a c t i c a s "
<x s l : v a r i a b l e input:dat
name=" c o d i g o "
<x s l : v a r i a b l e input:dat
name=" i d C u r s o "
<x s l : v a r i a b l e input:dat
name=" 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 ">
279
83
<x s l : v a r i a b l e (
s e l e c t =" c o n c a t ( ' h i d e p a g e
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
</ 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 >
1 2
<? xml
<p : c o n f i g
version
=" 1 . 0 "
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 /
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 "
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
</
config
name=" d a t a "
</ p : p r o c e s s o r>
<!
Procesador
para
generar
el
config
necesario
para
el
mtodo
HTTP
>
name=" c o n f i g ">
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
280
28 29 30
<x s l : v a l u e
o f
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
o f
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>
</
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)
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 " />
</ p : p r o c e s s o r>
<!
Seleccin
de
informacin
de
inters
en
el
fichero
H T M L
recibido
>
x s l t ">
xsl:version
<!
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
e a c h
o f e a c h>
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
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
e a c h
s e l e c t =" . . / t a b l e [ $ p o s i c i o n ] /
e a c h
s e l e c t =" . / t d ">
<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 ='
e a c h
o f e a c h>
e a c h
<x s l : a t t r i b u t e <x s l : v a l u e
o f
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 ">
e a c h
s e l e c t =" . / t d ">
282
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
<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
>
e a c h
o f
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 ">
e a c h
s e l e c t =" . / t d ">
<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
o f
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 "
</ p : p r o c e s s o r>
<!
Generacin
del
fichero
X M L
>
283
197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
name=" d a t
i n s t a n c e "
</ p : p r o c e s s o r>
<!
Serializacin
del
fichero
name=" o x f : x m l
X M L > s e r i a l i z e r ">
</
contenttype
>
</ 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 "
encoding
=" u t f
8 " ?>
version
<x s l : o u t p u t
i n d e n t=" y e s "
xalan:indent
page help
< <! <
match=" i t e m s ">
>c _ h e l p</
help
>
</
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 ">
image
p o s y=" 0 "
p o s x=" 0 "
s i z e x ="
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
>
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 c r o l l =" 0 ">
</
text container
> or <!
<x s l : v a l u e
of
>
<x s l : i f
284
29 30
<
container menu
=" 2 5 4 " <
s i z e y =" 3 5 "
s i z e x =" 5 3 0 "
posy
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
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 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 )
>
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 "
<x s l : a t t r i b u t e
o p c i o n =' a r e a s '
doc ( ' i n p u t : d a t
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 ">
o p c i o n =' a r e a s '
doc ( ' i n p u t : d a t
56 57 58 59 60 61 62 63 64 65
templates
s e l e c t =" a r e a s / a r e a "
templates
s e l e c t =" f i l a s / f i l a "
</ 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 "
o p c i o n =' a r e a s '
doc ( ' i n p u t : d a t
66 67 68 69 70 71 72
templates
s e l e c t =" a r e a s / a r e a "
templates
s e l e c t =" f i l a s / f i l a "
</ x s l : o t h e r w i s e>
</
table
285
73 74 75 76 77
</
container
<
>
<! <
container menu
<
Contenedor
del
botn
>
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
< ">
, 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
<x s l : v a r i a b l e
s e l e c t =" d o c ( '
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 "
<x s l : v a r i a b l e input:dat
name=" o p c i o n "
<x s l : v a r i a b l e (
name=" r u t a "
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 , ' ) ' ) " />
<x s l : v a l u e
of
</
</ x s l : t e m p l a 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 ">
<x s l : a t t r i b u t e
of
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
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
instance
') /
instance )
') /
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 , ' ) ' ) " />
<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 : t e m p l a t e>
menuitem
286
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 ">
of
<!
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 ">
templates
s e l e c t =" f i l a s / f i l a "
match=" a r e a s / a r e a "
mode=" t a b l a 2 ">
templates
s e l e c t =" f i l a s / f i l a "
<!
<
Plantilla
para
cada
fila
>
mode=" c o l 1 ">
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
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
e a c h>
</ x s l : s t y l e s h e e t >
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>
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 : t m g=" h t t p :
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
>
s c a n n e r ">
</
> . / . . / e m i s s i o n /</ b a s e
directory
>
name=" d a t a "
</ p : p r o c e s s o r>
<!
Encuentra
del
directorio
de
contenido
>
s c a n n e r ">
</
> . / . . / c o n t e n t /</ b a s e
directory
>
name=" d a t a "
</ p : p r o c e s s o r>
<!
Comienzo
actualizacin
>
name=" c o n f i g ">
<x s l : s t y l e s h e e t
<
version
>
=" 2 . 0 ">
match=" / ">
> <x s l : v a l u e
o f
key
>
</ x s l : t e m p l a t e>
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 "
</ p : p r o c e s s o r>
<!
Recupera
las
opciones
para
cada
una
de
las
pginas
de
" gua
para
la
>
name=" o x f : i d e n t i t y "> h r e f=" d a t o s
</ p : p r o c e s s o r>
<!
Pipelines Internet
para
recuperar
los
datos
de
" gua
para
la
bsqueda "
de
>
288
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 ">
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 " />
e a c h>
de
<!
Fin
<p : p r o c e s s o r <p : i n p u t
</ p : p r o c e s s o r>
</ p : c o n f i g>
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" ?>
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> </ 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> </ 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> </ 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> <!
>
289
<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> </ 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> </ 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> </ 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> </ 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
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> </ 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> </ 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> </ 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> </ 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>
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> </ 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> </ 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> </ 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> </ 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 : 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
type
type
el
<!
Procesador
para
generar
config
necesario
para
el
mtodo
HTTP
>
name=" c o n f i g ">
config
version
=" 2 . 0 ">
match=" / ">
292
16 17
<
url
>
<x s l : v a l u e
o f
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
</
> t e x t / h t m l</
contenttype
>
</ 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 "
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
>
x s l t ">
xsl:version
Ttulo
de
la
pgina
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
c o l u m n a s d c h a
']/
">
Ttulo
>
and normalize
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
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 ' ">
Para el
ver
la
pulse que
la sean
flecha
nmero volver
necesarias .
Para
texto ,
pulse
la
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 ">
e a c h
s e l e c t =" . / t h ">
o f
s e l e c t =" n o r m a l i z e
s p a c 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
<x s l : f o r
e a c h
<x s l : v a r i a b l 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
e a c h>
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
>
and c o u n t ( . / / t a b l e ) ! = 0 ">
Para el
ver
la
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>
< 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
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 ">
e a c h
s e l e c t =" . / t h ">
o f
s e l e c t =" n o r m a l i z e
s p a c 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
<x s l : f o r
e a c h
<x s l : v a r i a b l 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
e a c h>
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>	 < 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 ' ) "
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 ]</
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
o f
s e l e c t =" n o r m a l i z e
s p a c e ( $
o 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 ' ) /
<x s l : v a r i a b l e
e a c h
o f
</ 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>
</ p : p r o c e s s o r>
<!
Procesador
para
extraer
las
tablas
de
la
informacin
recuperada
>
name=" c o n f i g ">
<x s l : s t y l e s h e e t
version
=" 2 . 0 ">
match=" / ">
t e m p l a t e s
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 ">
t e s t =" c o u n t ( . / / e l e m e n t o C a b ) =0">
e a c h
s e l e c t =" e l e m e n t o ">
<x s l : i f
<x s l : a t t r i b u t e
296
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
</ 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
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>
<!
Procesador
para
dar
formato
al
fichero
X M L de
salida
>
name=" t a b l a s "
</ 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 " />
config
<
version
=" 2 . 0 ">
match=" / ">
name=" d i r e c t o r i o "
name=" n o m b r e F i c h "
s e l e c t =" d o c ( '
</
of
of
> t e x t / xml</
contenttype
>
</ 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 ">
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 <
</
contenttype
>
</ p : p r o c e s s o r>
<!
Procesador
para
serializar
el
fichero
X M L de
salida
>
s e r i a l i z e r ">
</ 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 : 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 ">
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 " />
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
encoding
= ' utf
version
<x s l : o u t p u t
i n d e n t=" y e s "
xalan:indent
<!
Este los
fichero atributos
tiene
por
funcin y
normalizar
tablas ;
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
templates
</ x s l : v a r i a b l e>
298
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 ">
<x s l : t e m p l a t e <x s l : a p p l y
templates
</ x s l : t e m p l a t e>
match="@
| "
mode="# a l l ">
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 ( ) " />
td
each
<x s l : c o p y
of
=
[ n o t ( name ( )
/>
( name ( )
</
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>
of
s e l e c t =" . "
/>
<!
Debe
funcionar
tanto
para
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 "
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
each
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 ( )
/>
/>
s e l e c t =" n o d e ( ) "
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
e a c h>
</ x s l : v a r i a b l e>
name="newRow"
a s=" e l e m e n t ( t r ) ">
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"
/>
<x s l : t e m p l a t e
match=" t d "
mode=" f i n a l ">
< 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 ( )
/>
/>
s e l e c t =" n o d e ( ) "
of
s e l e c t =" . "
/>
</ 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
encoding
= ' utf
version
<x s l : o u t p u t
i n d e n t=" y e s "
xalan:indent
<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 "
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
of
</ x s l : v a r i a b l 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=
v i s =" 1 "
s i z e y =" 1 6 8 ">
300
19 20 21 22 23 24 25 26 27 28 29
</
image
p o s y=" 0 "
p o s x=" 0 "
s i z e x ="
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
s i z e x =" 1 1 8 "
>
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
>
s i z e x =" 5 3 0 " p o s y="
a l p h a=" 0 "
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 "
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
of
</
<
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
of
</
<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 "
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 "
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
< 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:
of
buscar
empleo:
' ,$
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 ) "/
of
s e l e c t =" c o n c a t ( ' F o r m a c i n :
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
>
<! <
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
vez
desplace volver al
texto
flechas
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
<x s l : a t t r i b u t e
! = ' ' ">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
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 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
</
image container
</ </ x s l : i f > > <
<! <
container menu
<
Contenedor
del
botn
>
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 "
menuitem action
<
<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 > <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
of
302
109 110
of
s e l e c t =" c o n c a t ( ' , s h o w p a g e (
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
of
<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 (
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
</
>
<! <
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 "
</
text container
>
<x s l : a p p l y
templates
>
<x s l : a p p l y
templates templates
s e l e c t =" t a b l a "
<x s l : a p p l y
s e l e c t =" e n l _ i m a g e n "
</
</ 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 ">
( ) , ' 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
t e s t =" $ p o s i c i o n
of
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
of
<
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
of
</ x s l : a t t r i b u t e>
Caso
de
que el
sea proc .
la de
pgina
262
( Cmo
buscar 2)
empleo
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 : v a l u e
f i l a ">
<x s l : v a r i a b l e <x s l : v a l u e
<x s l : v a r i a b l e
name=" t e x t o "
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 , '

</ 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
<x s l : v a r i a b l e
name=" t e x t o "
<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 , '

;
 ; ' ) " /> </ 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
<x s l : f o r
each
<x s l : v a r i a b l e <x s l : v a l u e
of
of
s e l e c t =" c o n c a t ( '
$ hayCabecera ) ] / td
219
<x s l : v a l u e
of
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 : 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
<x s l : i 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 : 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
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
<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
</
th th
each
s e l e c t =" e l e m e n t o C a b ">
of
e a c h>
< x s l : o t h e r w i s e>
305
267
<x s l : f o r
each
i t e m s / t a b l e [ number ( $ p o s i c i o n ) ] / t r [ number ( $
<
td
posFila >
$ h a y C a b e c e r a ) ] / t d ">
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
273
<x s l : v a l u e
of
s e l e c t =" c o n c a t (
<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 (
$ hayCabecera ) , ' .
277
<x s l : v a l u e
of
s e l e c t =" c o n c a t (
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
of
</ x s l : o t h e r w i s e>
</
</ x s l : f o r
td
e a c h>
</ x s l : o t h e r w i s e>
</
</ x s l : f o r
tr
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
of
menuitem
<x s l : a t t r i b u t e <x s l : v a l u e
of
306
<x s l : v a l u e
of
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
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 : t e m p l a t e>
menuitem
<!
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
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
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
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
<!
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
of
menuitem
<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
</
</ x s l : t e m p l a t e>
menuitem
</ 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 : o x f=" h t t p : / /www
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
type type
type
la
<!
Procesador
para
definir
URL
en
la
que
se
encuentra
la
imagen
>
config url
< </ < <
<x s l : v a l u e
o f
</
>i m a g e / j p e g</
> t r u e</
contenttype validating
>
>
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 " />
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 ( '
<
</ <
<x s l : v a l u e >
o f
<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 , $
</
>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
>
g e n e r a t o r ">
h r e f="#c o n f i g
u r l " />
</ p : p r o c e s s o r>
<!
Procesador
para
serializar
</ p : p r o c e s s o r>
308
60
</ p : c o n f i g>
guiaBusqueda_imagesInfo.xpl
<p : c o n f i g
x m l n s : o x f=" h t t p : / /www
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
type type
type
la
<!
Procesador
para
definir
URL
en
la
que
se
encuentra
la
imagen
>
config url
< </ < <
<x s l : v a l u e
o f
</
>i m a g e / g i f </
> t r u e</
contenttype validating
>
>
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 " />
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 ( '
a f t e r
<
</ <
<x s l : v a l u e >
o f
<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 , $
</
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
>
309
49 50 51 52 53 54 55 56 57 58 59 60
g e n e r a t o r ">
h r e f="#c o n f i g
u r l " />
</ p : p r o c e s s o r>
<!
Procesador
para
serializar
</ p : p r o c e s s o r>
</ p : c o n f i g>
background.mpg,
background.mpg.
Imgenes del men de ayuda: Todos estos cheros estn contenidos dentro
del subdirectorio
help:
images:
310
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-
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
311
Bibliografa
[1] DVB. Documentacin del proyecto DVB. 2010. Disponible en
dvb.org
http://www. http://www.
mhp.org
[3] MPEG.
chiariglione.org
ponible en
http://mpeg.
2010. Dis-
[4] SAE.
[5] SAE.
[6] SAE.
[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.
[9] W3C.
//www.w3.org/TR/xpath
en
http:
[10] W3C. Documentacin del espacio de nombres en XML 1.0. 2010. Disponible
http://www.w3.org/TR/REC-xml-names
314
Bibliografa
[11] W3C.
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
HTML tidy.
http://www.
[14]
Code4TV .
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
http://www.orbeon.com/orbeon/doc/reference-xpl-pipelines (ltimo
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
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 . . . . . . . . . . .
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 . . . . . . . . .