bibing.us.esbibing.us.es/proyectos/abreproy/11910/descargar... · apéndice b ficheros...

Post on 19-Jul-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Apéndice B

Ficheros desarrollados para laaplicación

Medir el progreso de la programación

por líneas de código es como medir

el progreso en la construcción

de aviones por el peso.

Bill Gates

Resumen: En este apéndice se adjunta todo el código desarrollado para

la aplicación interactiva, escrito en los lenguajes XML (Extensible Markup

Language), XSLT (Extensible Stylesheet Language Transformations) y XPL

(XML Pipeline Language).

B.1. Introducción

Se incluyen en este apéndice todos los �cheros XML, XPL y XSL desarrollados,con el �n de que el lector interesado tenga acceso a los detalles de la implementación.Se ha estructurado el capítulo de la siguiente manera:

Cada sección corresponde a cada uno de los directorios utilizados. Se comienzapor presentar todos los �cheros del directorio emission, para a continuaciónpasar a mostrar el contenido de rc y de xpl, en ese orden. Por último, sededica otra sección a enumerar los �cheros de imágenes necesarios para elfuncionamiento de la aplicación.

Dentro de cada sección, los archivos han sido distribuidos en distintos apar-tados, según el servicio o funcionalidad al que pertenezcan.

El orden de los �cheros dentro de cada apartado se ha procurado determinarde forma �lógica�, esto es, en función de su importancia u orden de utilización.

133

134 Apéndice B. Ficheros desarrollados para la aplicación

B.2. Directorio de emisión

B.2.1. Ficheros generales

con�g.xml

1 <?xml version=" 1 .0 " encoding="utf−8"?>2 <con f i g xmlns :x i=" ht tp : //www.w3 . org /2001/XInclude"3 xmlns :xs=" ht tp : //www.w3 . org /2001/XMLSchema"4 xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s "5 xmlns:tmg=" ht tp : //www. tmira . com/ops/ p r o c e s s o r s "6 xmlns:p=" ht tp : //www. orbeon . com/ oxf / p i p e l i n e ">7

8 <se rv e r>192 . 168 . 101 . 2</ s e r v e r>9 <port>8080</port>

10 <card>smartcard</card>11 <aid />12 <modem_phone/>13 <modem_user/>14 <modem_password/>15

16 </ con f i g>

service.xml

1 <?xml version=" 1 .0 " encoding="ISO−8859−1"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <s e r v i c e id="SAE">4

5 <!−− Página de l a ayuda −−>6 <page id="help " path="help /" page="help . xml"></page>7

8 <!−− Pos i c i ón y tamaño de l a t e l e v i s i ó n ( capa de vídeo ) −−>9 <tv posx="16" posy="10" s i z e x="210" s i z e y="168"></tv>

10

11 <!−− Páginas de s e r v i c i o −−>12 <page id=" index " path="" page=" index . xml"></page>13 <page id="guia_busqueda" path="" page="guia_busqueda . xml"></page>14 <page id="guia_busqueda1" path="" page="guia_busqueda1 . xml"></page>15 <page id="guia_busqueda2" path="" page="guia_busqueda2 . xml"></page>16 <page id="guia_busqueda3" path="" page="guia_busqueda3 . xml"></page>17 <page id="guia_busqueda4" path="" page="guia_busqueda4 . xml"></page>18 <page id=" formacion_empleo" path="" page=" formacion_empleo . xml"></page>19 <page id="anuncios_empleo" path="" page="anuncios_empleo . xml"></page>20 <page id="ofertas_empleo_publ ico " path="" page="ofertas_empleo_publ ico .

xml"></page>21 <page id="directorio_SAE" path="" page="directorio_SAE . xml"></page>22 <page id="web_SAE" path="" page="web_SAE. xml"></page>23 <!−− Páginas de s e r v i c i o ( guía búsqueda empleo ) −−>24 <page id="_11" path="" page="_11 . xml"></page>25 <page id="_12" path="" page="_12 . xml"></page>26 <page id="_13" path="" page="_13 . xml"></page>27 <page id="_21" path="" page="_21 . xml"></page>28 <page id="_22" path="" page="_22 . xml"></page>29 <page id="_23" path="" page="_23 . xml"></page>30 <page id="24" path="" page=" 24 . xml"></page>31 <page id="_241" path="" page="_241 . xml"></page>32 <page id="_242" path="" page="_242 . xml"></page>

B.2. Directorio de emisión 135

33 <page id="_25" path="" page="_25 . xml"></page>34 <page id="26" path="" page=" 26 . xml"></page>35 <page id="_261" path="" page="_261 . xml"></page>36 <page id="_262" path="" page="_262 . xml"></page>37 <page id="_31" path="" page="_31 . xml"></page>38 <page id="_32" path="" page="_32 . xml"></page>39 <page id="_33" path="" page="_33 . xml"></page>40 <page id="_34" path="" page="_34 . xml"></page>41 <page id="_35" path="" page="_35 . xml"></page>42 <page id="_36" path="" page="_36 . xml"></page>43 <page id="_41" path="" page="_41 . xml"></page>44 <page id="_42" path="" page="_42 . xml"></page>45 <page id="_43" path="" page="_43 . xml"></page>46 <page id="_44" path="" page="_44 . xml"></page>47

48 </ s e r v i c e>

styles.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <!−− S ty l e s f i l e −−>3

4 <s t y l e s>5

6 <s t y l e id="s_body" font=" T i r e s i a s " s ize="21" type="1"7 colfore="#DF7401" l i n e s p a c e="20" halign="1" valign="0" insetx="5"

insety="15" alpha="255"></ s t y l e>8

9 <s t y l e id="s_body2" font=" T i r e s i a s " s ize="20" type="1"10 colfore="#000000" l i n e s p a c e="19" halign="1" valign="0" insetx="5"

insety="15" alpha="255"></ s t y l e>11

12 <s t y l e id="s_body3" font=" T i r e s i a s " s ize="20" type="1"13 colfore="#DF7401" l i n e s p a c e="19" halign="−1" valign="0" insetx="5"

insety="15" alpha="255"></ s t y l e>14

15 <s t y l e id="s_bodyDetal le " font=" T i r e s i a s " s ize="16" type="1"16 colfore="#000000" l i n e s p a c e="17" halign="1" valign="0" insetx="5"

insety="10" alpha="255"></ s t y l e>17

18 <s t y l e id="s_body_form" font=" T i r e s i a s " s ize="19" type="1" colback="#FEF4E6"

19 colfore="#000000" l i n e s p a c e="18" halign="1" valign="0" insetx="5"insety="15" alpha="255"></ s t y l e>

20

21 <s t y l e id="s_menu_form" font=" T i r e s i a s " s ize="19" type="1" colback="#BCBCBC" colfore="#41448A" colbackhigh="#E5CB89" colforehigh="#0D1CEC"l i n e s p a c e="15" halign="−1" valign="0" alpha="255" insetx="5" insety=

"10"></ s t y l e>22

23 <s t y l e id="s_menuver" font=" T i r e s i a s " s ize="18" type="1" l i n e s p a c e="18"insetx="0" insety="0" colback="#BCBCBC" colfore="#41448A" colbackhigh="#E5CB89" colforehigh="#0D1CEC" halign="−1" valign="0" alpha="255"></ s t y l e>

24

25 <s t y l e id="s_menuverCursos" font=" T i r e s i a s " s ize="18" type="1" l i n e s p a c e="15" insetx="0" insety="13" colback="#BCBCBC" colfore="#41448A"colbackhigh="#E5CB89" colforehigh="#0D1CEC" halign="−1" valign="0"alpha="255"></ s t y l e>

26

136 Apéndice B. Ficheros desarrollados para la aplicación

27 <s t y l e id="s_menuverEmpresas" font=" T i r e s i a s " s ize="15" type="1"l i n e s p a c e="15" insetx="0" insety="0" colback="#BCBCBC" colfore="#41448A" colbackhigh="#E5CB89" colforehigh="#0D1CEC" halign="−1"valign="0" alpha="255"></ s t y l e>

28

29 <s t y l e id="s_menuhor" font=" T i r e s i a s " s ize="20" type="1" l i n e s p a c e="18"insetx="0" insety="20" colback="#BCBCBC" colfore="#41448A"colbackhigh="#E5CB89" colforehigh="#0D1CEC" halign="−1" valign="0"alpha="255"></ s t y l e>

30

31 <s t y l e id="s_menuhorCentrado" font=" T i r e s i a s " s ize="20" type="1"l i n e s p a c e="18" insetx="0" insety="20" colfore="#41448A" colforehigh="#0D1CEC" halign="0" valign="0" alpha="255"></ s t y l e>

32

33 <s t y l e id="s_popup" font=" T i r e s i a s " s ize="20" type="1" colback="#CAE4E7"colfore="#666666" colbackhigh="#48A2AA" colforehigh="#f f f f f f " insetx="10" insety="5" bo rd e r s i z e="0" l i n e s p a c e="0" halign="−1" valign="0"alpha="255"></ s t y l e>

34

35 <s t y l e id="s_tabla_pares " font=" T i r e s i a s " s ize="15" type="1" colback="#A0A0A0" colfore="#000000" colbackhigh="#E5CB89" colforehigh="#0D1CEC"insetx="0" insety="5" l i n e s p a c e="15" halign="−1" valign="0" alpha="

255"></ s t y l e>36

37 <s t y l e id="s_tabla_impares " font=" T i r e s i a s " s ize="15" type="1" colback="#C0C0C0" colfore="#000000" colbackhigh="#E5CB89" colforehigh="#0D1CEC"insetx="0" insety="5" l i n e s p a c e="15" halign="−1" valign="0" alpha="

255"></ s t y l e>38

39 <s t y l e id="s_tabla_cabecera " font=" T i r e s i a s " s ize="15" type="1" colback="#F1AE4A" colfore="#000000" colbackhigh="#F2BA0F" colforehigh="#0D1CEC" insetx="0" insety="5" l i n e s p a c e="15" halign="−1" valign="0" alpha="255"></ s t y l e>

40

41 <s t y l e id="s_menuSinFondo" font=" T i r e s i a s " s ize="17" type="1" insetx="0"insety="20" colfore="#000000" colforehigh="#000000" l i n e s p a c e="15"halign="0" valign="0" alpha="255"></ s t y l e>

42

43 </ s t y l e s>

index.xml

1 <?xml version=" 1 .0 " encoding="ISO−8859−1"?>2

3 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>4

5 <page id=" index " background="background .mpg">6

7 <!−− Para que se vea l a ayuda a l pu l sa r e l botón amar i l l o −−>8 <help>c_help</help>9

10 <!−− Contenedor para l o s botones de l menú p r i n c i p a l −−>11 <conta ine r id="c_mp_botones" v i s="1" alpha="0" posx="45" posy="350" s i z e x

="366" s i z e y="158">12

13 <menu type="matrix " nrows="2" posx="0" posy="0" s i z e x="366" s i z e y="158" itemx="122" itemy="79" sepx="0" sepy="0" s t y l e="s_menuSinFondo">

14

15 <menuitem s t r="Guía para l a búsqueda de&#xD; empleo" img=" images /bot_grande_off . png" imgfocus=" images /bot_grande_on . png" onover="showcont ( index . c_mp_help_guia ) ">

B.2. Directorio de emisión 137

16 <act i on key="OK" act="hidepage ( index ) , showpage ( guia_busqueda ) "></ ac t i on>

17 </menuitem>18

19 <menuitem s t r="&#xD; Formación&#xD; para e l empleo" img=" images /bot_grande_off . png" imgfocus=" images /bot_grande_on . png" onover="showcont ( index . c_mp_help_formacion ) ">

20 <act i on key="OK" act="hidepage ( index ) , showpage ( formacion_empleo )"></ act i on>

21 </menuitem>22

23 <menuitem s t r="&#xD; Anuncios&#xD; de empleo" img=" images /bot_grande_off . png" imgfocus=" images /bot_grande_on . png" onover="showcont ( index . c_mp_help_anuncios ) ">

24 <act i on key="OK" act="hidepage ( index ) , showpage ( anuncios_empleo ) "></ act i on>

25 </menuitem>26

27 <menuitem s t r="&#xD; D i r e c t o r i o&#xD; de l SAE" img=" images /bot_grande_off . png" imgfocus=" images /bot_grande_on . png" onover="showcont ( index . c_mp_help_directorio ) ">

28 <act i on key="OK" act="hidepage ( index ) , showpage ( directorio_SAE ) "></ act i on>

29 </menuitem>30

31 <menuitem s t r="&#xD; Empresas&#xD; andaluzas " img=" images /bot_grande_off . png" imgfocus=" images /bot_grande_on . png" onover="showcont ( index . c_mp_help_empresas ) ">

32 <act i on key="OK" act="hidepage ( index ) , showpage ( h t tp : //$ s e r v e r ; : $port ; / i t v /apps /16003/800/ rc / empresas_formular io ) " actback="hidepage (∗ ) , showpage ( index ) "></ ac t i on>

33 </menuitem>34

35 <menuitem s t r="&#xD; Página web&#xD; de l SAE" img=" images /bot_grande_off . png" imgfocus=" images /bot_grande_on . png" onover="showcont ( index . c_mp_help_web) ">

36 <act i on key="OK" act="hidepage ( index ) , showpage (web_SAE) "></act i on>

37 </menuitem>38

39 </menu>40 </ conta ine r>41

42 <!−− Contenedor para e l t exto de bienvenida −−>43 <conta ine r id="c_mp_texto" v i s="1" alpha="0" posx="45" posy="230" s i z e x="

650" s i z e y="140">44

45 <text s t y l e="s_body" posx="0" posy="0" s i z e x="650" s i z e y="30" s c r o l l="0">Bienvenido /a a l a Of i c ina Vi r tua l de Empleo de l a Junta deAndalucía .</ text>

46 <text s t y l e="s_body2" posx="0" posy="40" s i z e x="380" s i z e y="100"s c r o l l="0">Se l e c c i on e l a opción deseada y pu l s e "OK" .

47 Si l o desea , puede ver l a ayuda pulsando e l botón amar i l l o de l mando ad i s t a n c i a .

48 </ text>49

50 </ conta ine r>51

52 <!−− Contenedor para l a imagen de ayuda −−>53 <conta ine r id="c_mp_help_imagen" v i s="1" alpha="0" posx="418" posy="270"

s i z e x="250" s i z e y="240">54

55 <image path=" images /mp_ayuda . png" posx="0" posy="0" s i z e x="250" s i z e y="240"></image>

138 Apéndice B. Ficheros desarrollados para la aplicación

56

57 </ conta ine r>58

59 <!−− Contenedores para cada uno de l o s t ex to s de ayuda −−>60 <conta ine r id="c_mp_help_guia" v i s="0" alpha="0" posx="448" posy="300"

s i z e x="190" s i z e y="200">61 <text s t y l e="s_body3" posx="0" posy="0" s i z e x="190" s i z e y="30" s c r o l l=

"0">Guía para l a búsqueda</ text>62 <text s t y l e="s_body2" posx="0" posy="40" s i z e x="190" s i z e y="160"

s c r o l l="0">Una completa guía en l a que se d e t a l l an todos l o s pasosy con s e j o s ú t i l e s para l a búsqueda de empleo .</ text>

63 </ conta ine r>64

65 <conta ine r id="c_mp_help_web" v i s="0" alpha="0" posx="448" posy="300"s i z e x="190" s i z e y="200">

66 <text s t y l e="s_body3" posx="0" posy="0" s i z e x="190" s i z e y="30" s c r o l l="0">Página web de l SAE</ text>

67 <text s t y l e="s_body2" posx="0" posy="40" s i z e x="190" s i z e y="160"s c r o l l="0">Aquí podrá encontrar a lgunos en l a c e s de In t e rn e t ú t i l e ssobre e l S e r v i c i o Andaluz de Salud .</ text>

68 </ conta ine r>69

70 <conta ine r id="c_mp_help_formacion" v i s="0" alpha="0" posx="448" posy="300" s i z e x="200" s i z e y="200">

71 <text s t y l e="s_body3" posx="0" posy="0" s i z e x="200" s i z e y="30">Formación para e l empleo</ text>

72 <text s t y l e="s_body2" posx="0" posy="40" s i z e x="190" s i z e y="160"s c r o l l="0">Da acceso a un buscador de cur so s de formación para e lempleo o f e r t ado s en Andalucía .</ text>

73 </ conta ine r>74

75 <conta ine r id="c_mp_help_anuncios" v i s="0" alpha="0" posx="448" posy="300" s i z e x="190" s i z e y="200">

76 <text s t y l e="s_body3" posx="0" posy="0" s i z e x="190" s i z e y="30" s c r o l l="0">Anuncios de empleo</ text>

77 <text s t y l e="s_body2" posx="0" posy="40" s i z e x="190" s i z e y="160"s c r o l l="0">Permite acceder a un buscador de o f e r t a s de empleo , a s ícomo con su l t a r l a s o f e r t a s de empleo púb l i co en Andalucía .</ text>

78 </ conta ine r>79

80 <conta ine r id="c_mp_help_empresas" v i s="0" alpha="0" posx="448" posy="300" s i z e x="190" s i z e y="200">

81 <text s t y l e="s_body3" posx="0" posy="0" s i z e x="190" s i z e y="30" s c r o l l="0">Empresas andaluzas</ text>

82 <text s t y l e="s_body2" posx="0" posy="40" s i z e x="190" s i z e y="160"s c r o l l="0">Muestra in formac ión sobre l a s empresas andaluzas queo f r e c en empleo .</ text>

83 </ conta ine r>84

85 <conta ine r id="c_mp_help_directorio" v i s="0" alpha="0" posx="448" posy="300" s i z e x="190" s i z e y="200">

86 <text s t y l e="s_body3" posx="0" posy="0" s i z e x="190" s i z e y="30" s c r o l l="0">D i r e c t o r i o de l SAE</ text>

87 <text s t y l e="s_body2" posx="0" posy="40" s i z e x="190" s i z e y="160"s c r o l l="0">Permite obtener in formac ión sobre l a s o f i c i n a s de l SAEen cada Comunidad Autónoma .</ text>

88 </ conta ine r>89

90 </page>

B.2. Directorio de emisión 139

B.2.2. Página de ayuda

help/help.xml

1 <?xml version=" 1 .0 " encoding="ISO−8859−1"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <page>4

5 <conta ine r id="c_help" co lback="#FEF4E6" type="popup" v i s="0" posx="0"posy="206" s i z e x="720" s i z e y="370" alpha="255">

6 <image path="help / help . png" posx="0" posy="0" s i z e x="720" s i z e y="95"></image>

7 <image path="help / he lp_f l e chas . png" posx="42" posy="100" s i z e x="45"s i z e y="45"></image>

8 <image path="help /help_ok . png" posx="47" posy="152" s i z e x="30" s i z e y="32"></image>

9 <image path="help /help_verde . png" posx="48" posy="195" s i z e x="28"s i z e y="28"></image>

10 <image path="help / he lp_amar i l lo . png" posx="48" posy="233" s i z e x="28"s i z e y="28"></image>

11 <image path="help / help_rojo . png" posx="48" posy="271" s i z e x="28" s i z e y="28"></image>

12 <image path="help /help_azul . png" posx="48" posy="309" s i z e x="28" s i z e y="28"></image>

13 <text s t y l e="s_body2" posx="93" posy="115" s i z e x="620" s i z e y="30"s c r o l l="0">Navegar por l o s menús</ text>

14 <text s t y l e="s_body2" posx="80" posy="159" s i z e x="620" s i z e y="30"s c r o l l="0">Aceptar / Entrar en e l menú s e l e c c i onado</ text>

15 <text s t y l e="s_body2" posx="80" posy="201" s i z e x="620" s i z e y="30"s c r o l l="0">Volver a l menú an t e r i o r / Borrar e l últ imo ca r á c t e r</text>

16 <text s t y l e="s_body2" posx="80" posy="239" s i z e x="620" s i z e y="30"s c r o l l="0">Entrar / S a l i r de e s ta pan ta l l a de ayuda</ text>

17 <text s t y l e="s_body2" posx="80" posy="277" s i z e x="620" s i z e y="30"s c r o l l="0">S a l i r de l a ap l i c a c i ó n y vo lve r a l a TV</ text>

18 <text s t y l e="s_body2" posx="80" posy="315" s i z e x="620" s i z e y="30"s c r o l l="0">Mostrar e l t e c l ado v i r t u a l ( cuando sea po s i b l e )</ text>

19 </ conta ine r>20

21 </page>

B.2.3. Guía para la búsqueda de empleo

guia_busqueda.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <page>4

5 <help>c_help</help>6

7 <!−− Contenedor de l í n d i c e l a t e r a l −−>8 <conta ine r id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy="214"

s i z e x="118" s i z e y="168">9 <image path=" images / ind_guia_on . png" posy="0" posx="0" s i z e x="118"

s i z e y="28"></image>10 <image path=" images / ind_anuncios_off . png" posy="28" posx="0" s i z e x="

118" s i z e y="28"></image>

140 Apéndice B. Ficheros desarrollados para la aplicación

11 <image path=" images / ind_empresas_off . png" posy="56" posx="0" s i z e x="118" s i z e y="28"></image>

12 <image path=" images / ind_formacion_off . png" posy="84" posx="0" s i z e x="118" s i z e y="28"></image>

13 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0" s i z e x="118" s i z e y="28"></image>

14 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118"s i z e y="28"></image>

15 </ conta ine r>16

17 <!−− Contenedor de l t exto de bienvenida −−>18 <conta ine r id="c_bienv" v i s="1" posx="30" posy="223" s i z e x="520" s i z e y="

90" alpha="0">19 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="

0">Guía para l a búsqueda de empleo</ text>20 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65" s c r o l l

="0">Desde aquí , podrá obtener toda l a in formac ión sobre l abúsqueda de empleo . S e l e c c i on e con l a s f l e c h a s l a opción deseada ypu l s e "OK" .</ text>

21 </ conta ine r>22

23 <!−− Contenedor de l menú v e r t i c a l p r i n c i p a l (5 items ) −−>24 <conta ine r id="c_menu" v i s="1" posx="50" posy="315" s i z e x="400" s i z e y="

200" alpha="0">25

26 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="400" s i z e y="195" itemx="380" itemy="35" sepx="0" sepy="5" s t y l e="s_menuver">

27

28 <menuitem s t r="Tu empleo">29 <act i on key="OK" act="hidepage ( guia_busqueda ) , showpage (

guia_busqueda1 ) " actback="hidepage ( guia_busqueda1 ) , showpage (guia_busqueda ) "/>

30 </menuitem>31

32 <menuitem s t r="Cómo buscar empleo">33 <act i on key="OK" act="hidepage ( guia_busqueda ) , showpage (

guia_busqueda2 ) " actback="hidepage ( guia_busqueda2 ) , showpage (guia_busqueda ) "/>

34 </menuitem>35

36 <menuitem s t r="Autoempleo">37 <act i on key="OK" act="hidepage ( guia_busqueda ) , showpage (

guia_busqueda3 ) " actback="hidepage ( guia_busqueda3 ) , showpage (guia_busqueda ) "/>

38 </menuitem>39

40 <menuitem s t r="Formación">41 <act i on key="OK" act="hidepage ( guia_busqueda ) , showpage (

guia_busqueda4 ) " actback="hidepage ( guia_busqueda4 ) , showpage (guia_busqueda ) "/>

42 </menuitem>43

44 <menuitem s t r="Volver a l menú p r i n c i p a l ">45 <act i on key="OK" act="hidepage ( guia_busqueda ) , showpage ( index ) "/>46 </menuitem>47

48 </menu>49

50 </ conta ine r>51

52 </page>

B.2. Directorio de emisión 141

guia_busqueda1.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <page>4

5 <help>c_help</help>6

7 <!−− Contenedor de l í n d i c e l a t e r a l −−>8 <conta ine r id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy="214"

s i z e x="118" s i z e y="168">9 <image path=" images / ind_guia_on . png" posy="0" posx="0" s i z e x="118"

s i z e y="28"></image>10 <image path=" images / ind_anuncios_off . png" posy="28" posx="0" s i z e x="

118" s i z e y="28"></image>11 <image path=" images / ind_empresas_off . png" posy="56" posx="0" s i z e x="

118" s i z e y="28"></image>12 <image path=" images / ind_formacion_off . png" posy="84" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0" s i z e x=

"118" s i z e y="28"></image>14 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118"

s i z e y="28"></image>15 </ conta ine r>16

17 <!−− TU EMPLEO −−>18 <!−− Contenedor de l t exto de bienvenida −−>19 <conta ine r id="c_bienv" v i s="1" posx="30" posy="223" s i z e x="520" s i z e y="

90" alpha="0">20 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="

0">Tu empleo</ text>21 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65" s c r o l l

="0">Se l e c c i on e con l a s f l e c h a s l a opción que desee con su l t a r ypu l s e "OK" .</ text>

22 </ conta ine r>23 <!−− Contenedor de l menú v e r t i c a l (4 items ) −−>24 <conta ine r id="c_menu" v i s="1" posx="50" posy="315" s i z e x="400" s i z e y="

230" alpha="0">25 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="400" s i z e y="210" itemx=

"380" itemy="45" sepx="0" sepy="10" s t y l e="s_menuver">26

27 <menuitem s t r="Conocerte a t i mismo">28 <act i on key="OK" act="hidepage ( guia_busqueda1 ) , showpage (_11) "

actback="hidepage (_11) , showpage ( guia_busqueda1 ) "/>29 </menuitem>30

31 <menuitem s t r="Conocer e l mercado l a bo r a l ">32 <act i on key="OK" act="hidepage ( guia_busqueda1 ) , showpage (_12) "

actback="hidepage (_12) , showpage ( guia_busqueda1 ) "/>33 </menuitem>34

35 <menuitem s t r=" De f i n i r tu plan de búsqueda de empleo">36 <act i on key="OK" act="hidepage ( guia_busqueda1 ) , showpage (_13) "

actback="hidepage (_13) , showpage ( guia_busqueda1 ) "/>37 </menuitem>38

39 <menuitem s t r="Volver ">40 <act i on key="OK" act="hidepage ( guia_busqueda1 ) , showpage (

guia_busqueda ) " actback="hidepage ( guia_busqueda ) , showpage (guia_busqueda1 ) "/>

41 </menuitem>42

43 </menu>

142 Apéndice B. Ficheros desarrollados para la aplicación

44 </ conta ine r>45

46 </page>

guia_busqueda2.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <page>4

5 <help>c_help</help>6

7 <!−− Contenedor de l í n d i c e l a t e r a l −−>8 <conta ine r id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy="214"

s i z e x="118" s i z e y="168">9 <image path=" images / ind_guia_on . png" posy="0" posx="0" s i z e x="118"

s i z e y="28"></image>10 <image path=" images / ind_anuncios_off . png" posy="28" posx="0" s i z e x="

118" s i z e y="28"></image>11 <image path=" images / ind_empresas_off . png" posy="56" posx="0" s i z e x="

118" s i z e y="28"></image>12 <image path=" images / ind_formacion_off . png" posy="84" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0" s i z e x=

"118" s i z e y="28"></image>14 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118"

s i z e y="28"></image>15 </ conta ine r>16

17 <!−− CÓMO BUSCAR EMPLEO −−>18 <!−− Contenedor de l t exto de bienvenida −−>19 <conta ine r id="c_bienv" v i s="1" posx="30" posy="223" s i z e x="520" s i z e y="

90" alpha="0">20 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="

0">Cómo buscar empleo</ text>21 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65" s c r o l l

="0">Se l e c c i on e con l a s f l e c h a s l a opción que desee con su l t a r ypu l s e "OK" .</ text>

22 </ conta ine r>23 <!−− Contenedor de l menú v e r t i c a l p r i n c i p a l (7 items ) −−>24 <conta ine r id="c_menu" v i s="1" posx="50" posy="300" s i z e x="400" s i z e y="

235" alpha="0">25 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="400" s i z e y="235" itemx=

"380" itemy="27" sepx="0" sepy="6" s t y l e="s_menuver">26

27 <menuitem s t r=" Int roducc ión ">28 <act i on key="OK" act="hidepage ( guia_busqueda2 ) , showpage (_21) "

actback="hidepage (_21) , showpage ( guia_busqueda2 ) "/>29 </menuitem>30

31 <menuitem s t r="Curriculum Vitae ">32 <act i on key="OK" act="hidepage ( guia_busqueda2 ) , showpage (_22) "

actback="hidepage (_22) , showpage ( guia_busqueda2 ) "/>33 </menuitem>34

35 <menuitem s t r="Carta de pre s en tac i ón ">36 <act i on key="OK" act="hidepage ( guia_busqueda2 ) , showpage (_23) "

actback="hidepage (_23) , showpage ( guia_busqueda2 ) "/>37 </menuitem>38

39 <menuitem s t r="Cómo o f r e c e r t e a una empresa">

B.2. Directorio de emisión 143

40 <act i on key="OK" act="hidepage ( guia_busqueda2 ) , showpage (24) "actback="hidepage (24) , showpage ( guia_busqueda2 ) "/>

41 </menuitem>42

43 <menuitem s t r="Búsqueda de empleo a t ravé s de In t e rn e t ">44 <act i on key="OK" act="hidepage ( guia_busqueda2 ) , showpage (_25) "

actback="hidepage (_25) , showpage ( guia_busqueda2 ) "/>45 </menuitem>46

47 <menuitem s t r="Afrontar e l proceso de s e l e c c i ó n ">48 <act i on key="OK" act="hidepage ( guia_busqueda2 ) , showpage (26) "

actback="hidepage (26) , showpage ( guia_busqueda2 ) "/>49 </menuitem>50

51 <menuitem s t r="Volver ">52 <act i on key="OK" act="hidepage ( guia_busqueda2 ) , showpage (

guia_busqueda ) " actback="hidepage ( guia_busqueda ) , showpage (guia_busqueda2 ) "/>

53 </menuitem>54

55 </menu>56 </ conta ine r>57

58 </page>

24.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <page>4

5 <help>c_help</help>6

7 <!−− Contenedor de l í n d i c e l a t e r a l −−>8 <conta ine r id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy="214"

s i z e x="118" s i z e y="168">9 <image path=" images / ind_guia_on . png" posy="0" posx="0" s i z e x="118"

s i z e y="28"></image>10 <image path=" images / ind_anuncios_off . png" posy="28" posx="0" s i z e x="

118" s i z e y="28"></image>11 <image path=" images / ind_empresas_off . png" posy="56" posx="0" s i z e x="

118" s i z e y="28"></image>12 <image path=" images / ind_formacion_off . png" posy="84" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0" s i z e x=

"118" s i z e y="28"></image>14 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118"

s i z e y="28"></image>15 </ conta ine r>16

17 <!−− Contenedor de l t exto de bienvenida −−>18 <conta ine r id="c_bienv" v i s="1" posx="30" posy="223" s i z e x="520" s i z e y="

90" alpha="0">19 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="

0">Cómo buscar empleo: Cómo o f r e c e r t e a una empresa</ text>20 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65" s c r o l l

="0">Este apartado se ha d i v i d i do en dos par t e s . S e l e c c i on e l a quedesee con su l t a r y pu l s e l a t e c l a "OK" .</ text>

21 </ conta ine r>22

23 <!−− Contenedor de l menú v e r t i c a l p r i n c i p a l (3 items ) −−>

144 Apéndice B. Ficheros desarrollados para la aplicación

24 <conta ine r id="c_menu_principal" v i s="1" posx="50" posy="315" s i z e x="400"s i z e y="170" alpha="0">

25

26 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="400" s i z e y="170" itemx="400" itemy="50" sepx="0" sepy="10" s t y l e="s_menuver">

27

28 <menuitem s t r="Parte 1">29 <act i on key="OK" act="hidepage (24) , showpage (_241) " actback="

hidepage (_241) , showpage (24) "/>30 </menuitem>31

32 <menuitem s t r="Parte 2">33 <act i on key="OK" act="hidepage (24) , showpage (_242) " actback="

hidepage (_242) , showpage (24) "/>34 </menuitem>35

36 <menuitem s t r="Volver ">37 <act i on key="OK" act="hidepage (24) , showpage ( guia_busqueda2 ) "

actback="hidepage ( guia_busqueda2 ) , showpage (24) "/>38 </menuitem>39

40 </menu>41

42 </ conta ine r>43

44 </page>

26.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <page>4

5 <help>c_help</help>6

7 <!−− Contenedor de l í n d i c e l a t e r a l −−>8 <conta ine r id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy="214"

s i z e x="118" s i z e y="168">9 <image path=" images / ind_guia_on . png" posy="0" posx="0" s i z e x="118"

s i z e y="28"></image>10 <image path=" images / ind_anuncios_off . png" posy="28" posx="0" s i z e x="

118" s i z e y="28"></image>11 <image path=" images / ind_empresas_off . png" posy="56" posx="0" s i z e x="

118" s i z e y="28"></image>12 <image path=" images / ind_formacion_off . png" posy="84" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0" s i z e x=

"118" s i z e y="28"></image>14 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118"

s i z e y="28"></image>15 </ conta ine r>16

17 <!−− Contenedor de l t exto de bienvenida −−>18 <conta ine r id="c_bienv" v i s="1" posx="30" posy="223" s i z e x="520" s i z e y="

90" alpha="0">19 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="

0">Cómo buscar empleo: Afrontar e l proceso de s e l e c c i ó n</ text>20 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65" s c r o l l

="0">Este apartado se ha d i v i d i do en dos par t e s . S e l e c c i on e l a quedesee con su l t a r y pu l s e l a t e c l a "OK" .</ text>

21 </ conta ine r>

B.2. Directorio de emisión 145

22

23 <!−− Contenedor de l menú v e r t i c a l p r i n c i p a l (3 items ) −−>24 <conta ine r id="c_menu_principal" v i s="1" posx="50" posy="315" s i z e x="400"

s i z e y="170" alpha="0">25

26 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="400" s i z e y="170" itemx="400" itemy="50" sepx="0" sepy="10" s t y l e="s_menuver">

27

28 <menuitem s t r="Parte 1">29 <act i on key="OK" act="hidepage (26) , showpage (_261) " actback="

hidepage (_261) , showpage (26) "/>30 </menuitem>31

32 <menuitem s t r="Parte 2">33 <act i on key="OK" act="hidepage (26) , showpage (_262) " actback="

hidepage (_262) , showpage (26) "/>34 </menuitem>35

36 <menuitem s t r="Volver ">37 <act i on key="OK" act="hidepage (26) , showpage ( guia_busqueda2 ) "

actback="hidepage ( guia_busqueda2 ) , showpage (26) "/>38 </menuitem>39

40 </menu>41

42 </ conta ine r>43

44 </page>

guia_busqueda3.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <page>4

5 <help>c_help</help>6

7 <!−− Contenedor de l í n d i c e l a t e r a l −−>8 <conta ine r id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy="214"

s i z e x="118" s i z e y="168">9 <image path=" images / ind_guia_on . png" posy="0" posx="0" s i z e x="118"

s i z e y="28"></image>10 <image path=" images / ind_anuncios_off . png" posy="28" posx="0" s i z e x="

118" s i z e y="28"></image>11 <image path=" images / ind_empresas_off . png" posy="56" posx="0" s i z e x="

118" s i z e y="28"></image>12 <image path=" images / ind_formacion_off . png" posy="84" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0" s i z e x=

"118" s i z e y="28"></image>14 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118"

s i z e y="28"></image>15 </ conta ine r>16

17 <!−− AUTOEMPLEO −−>18 <!−− Contenedor de l t exto de bienvenida −−>19 <conta ine r id="c_bienv" v i s="1" posx="30" posy="223" s i z e x="520" s i z e y="

90" alpha="0">20 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="

0">Autoempleo</ text>

146 Apéndice B. Ficheros desarrollados para la aplicación

21 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65" s c r o l l="0">Se l e c c i on e con l a s f l e c h a s l a opción que desee con su l t a r ypu l s e "OK" .</ text>

22 </ conta ine r>23 <!−− Contenedor de l menú v e r t i c a l p r i n c i p a l (7 items ) −−>24 <conta ine r id="c_menu" v i s="1" posx="50" posy="300" s i z e x="400" s i z e y="

235" alpha="0">25 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="400" s i z e y="235" itemx=

"380" itemy="27" sepx="0" sepy="6" s t y l e="s_menuver">26

27 <menuitem s t r=" Int roducc ión ">28 <act i on key="OK" act="hidepage ( guia_busqueda3 ) , showpage (_31) "

actback="hidepage (_31) , showpage ( guia_busqueda3 ) "/>29 </menuitem>30

31 <menuitem s t r="La cu l tu ra emprendedora">32 <act i on key="OK" act="hidepage ( guia_busqueda3 ) , showpage (_32) "

actback="hidepage (_32) , showpage ( guia_busqueda3 ) "/>33 </menuitem>34

35 <menuitem s t r="Preguntas importantes a l a hora de emprender">36 <act i on key="OK" act="hidepage ( guia_busqueda3 ) , showpage (_33) "

actback="hidepage (_33) , showpage ( guia_busqueda3 ) "/>37 </menuitem>38

39 <menuitem s t r=" Aná l i s i s p r ev i o s ">40 <act i on key="OK" act="hidepage ( guia_busqueda3 ) , showpage (_34) "

actback="hidepage (_34) , showpage ( guia_busqueda3 ) "/>41 </menuitem>42

43 <menuitem s t r="Trámites admin i s t r a t i vo s ">44 <act i on key="OK" act="hidepage ( guia_busqueda3 ) , showpage (_35) "

actback="hidepage (_35) , showpage ( guia_busqueda3 ) "/>45 </menuitem>46

47 <menuitem s t r="Franqu ic ia s ">48 <act i on key="OK" act="hidepage ( guia_busqueda3 ) , showpage (_36) "

actback="hidepage (_36) , showpage ( guia_busqueda3 ) "/>49 </menuitem>50

51 <menuitem s t r="Volver ">52 <act i on key="OK" act="hidepage ( guia_busqueda3 ) , showpage (

guia_busqueda ) " actback="hidepage ( guia_busqueda ) , showpage (guia_busqueda3 ) "/>

53 </menuitem>54

55 </menu>56 </ conta ine r>57

58 </page>

guia_busqueda4.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <page>4

5 <help>c_help</help>6

7 <!−− Contenedor de l í n d i c e l a t e r a l −−>

B.2. Directorio de emisión 147

8 <conta ine r id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy="214"s i z e x="118" s i z e y="168">

9 <image path=" images / ind_guia_on . png" posy="0" posx="0" s i z e x="118"s i z e y="28"></image>

10 <image path=" images / ind_anuncios_off . png" posy="28" posx="0" s i z e x="118" s i z e y="28"></image>

11 <image path=" images / ind_empresas_off . png" posy="56" posx="0" s i z e x="118" s i z e y="28"></image>

12 <image path=" images / ind_formacion_off . png" posy="84" posx="0" s i z e x="118" s i z e y="28"></image>

13 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0" s i z e x="118" s i z e y="28"></image>

14 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118"s i z e y="28"></image>

15 </ conta ine r>16

17 <!−− FORMACIÓN −−>18 <!−− Contenedor de l t exto de bienvenida −−>19 <conta ine r id="c_bienv" v i s="1" posx="30" posy="223" s i z e x="520" s i z e y="

90" alpha="0">20 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="

0">Formación</ text>21 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65" s c r o l l

="0">Se l e c c i on e con l a s f l e c h a s l a opción que desee con su l t a r ypu l s e "OK" .</ text>

22 </ conta ine r>23 <!−− Contenedor de l menú v e r t i c a l p r i n c i p a l (5 items ) −−>24 <conta ine r id="c_menu" v i s="1" posx="50" posy="315" s i z e x="400" s i z e y="

195" alpha="0">25 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="400" s i z e y="195" itemx=

"380" itemy="35" sepx="0" sepy="5" s t y l e="s_menuver">26

27 <menuitem s t r=" Int roducc ión ">28 <act i on key="OK" act="hidepage ( guia_busqueda4 ) , showpage (_41) "

actback="hidepage (_41) , showpage ( guia_busqueda4 ) "/>29 </menuitem>30

31 <menuitem s t r="Formación académica">32 <act i on key="OK" act="hidepage ( guia_busqueda4 ) , showpage (_42) "

actback="hidepage (_42) , showpage ( guia_busqueda4 ) "/>33 </menuitem>34

35 <menuitem s t r="Formación ocupac iona l para e l empleo">36 <act i on key="OK" act="hidepage ( guia_busqueda4 ) , showpage (_43) "

actback="hidepage (_43) , showpage ( guia_busqueda4 ) "/>37 </menuitem>38

39 <menuitem s t r="Otras v í a s para l a formación ">40 <act i on key="OK" act="hidepage ( guia_busqueda4 ) , showpage (_44) "

actback="hidepage (_44) , showpage ( guia_busqueda4 ) "/>41 </menuitem>42

43 <menuitem s t r="Volver ">44 <act i on key="OK" act="hidepage ( guia_busqueda4 ) , showpage (

guia_busqueda ) " actback="hidepage ( guia_busqueda ) , showpage (guia_busqueda4 ) "/>

45 </menuitem>46

47 </menu>48 </ conta ine r>49

50 </page>

148 Apéndice B. Ficheros desarrollados para la aplicación

B.2.4. Anuncios de empleo

anuncios_empleo.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <page>4

5 <help>c_help</help>6

7 <!−− Contenedor de l í n d i c e l a t e r a l −−>8 <conta ine r id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy="214"

s i z e x="118" s i z e y="168">9 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="118"

s i z e y="28"></image>10 <image path=" images / ind_anuncios_on . png" posy="28" posx="0" s i z e x="118

" s i z e y="28"></image>11 <image path=" images / ind_empresas_off . png" posy="56" posx="0" s i z e x="

118" s i z e y="28"></image>12 <image path=" images / ind_formacion_off . png" posy="84" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0" s i z e x=

"118" s i z e y="28"></image>14 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118"

s i z e y="28"></image>15 </ conta ine r>16

17 <!−− Contenedor de l t exto de bienvenida −−>18 <conta ine r id="c_bienv" v i s="1" posx="30" posy="223" s i z e x="520" s i z e y="

90" alpha="0">19 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="

0">Anuncios de empleo</ text>20 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65" s c r o l l

="0">En es ta s e c c i ón puede buscar o f e r t a s de empleo adecuadas a sup e r f i l . S e l e c c i on e con l a s f l e c h a s l a opción que desee y pu l s e "

OK" .</ text>21 </ conta ine r>22

23 <!−− Contenedor de l menú v e r t i c a l p r i n c i p a l (3 items ) −−>24 <conta ine r id="c_menu" v i s="1" posx="50" posy="315" s i z e x="400" s i z e y="

200" alpha="0">25

26 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="400" s i z e y="200" itemx="380" itemy="50" sepx="0" sepy="10" s t y l e="s_menuver">

27

28 <menuitem s t r="Buscador de o f e r t a s ">29 <act i on key="OK" act="hidepage ( anuncios_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /buscador_ofertas_formular io ? c a t e go r i a=&amp ; p rov inc i a=&amp ;pa labrasClave=)" actback="hidepage (∗ ) , showpage (anuncios_empleo ) "/>

30 </menuitem>31

32 <menuitem s t r="Ofer tas de empleo púb l i co ">33 <act i on key="OK" act="hidepage ( anuncios_empleo ) , showpage (

ofertas_empleo_publ ico ) "/>34 </menuitem>35

36 <menuitem s t r="Volver a l menú p r i n c i p a l ">37 <act i on key="OK" act="hidepage ( anuncios_empleo ) , showpage ( index ) "

/>38 </menuitem>39

B.2. Directorio de emisión 149

40 </menu>41

42 </ conta ine r>43

44 </page>

ofertas_empleo_publico.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <page>4

5 <help>c_help</help>6

7 <!−− Contenedor de l í n d i c e l a t e r a l −−>8 <conta ine r id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy="214"

s i z e x="118" s i z e y="168">9 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="118"

s i z e y="28"></image>10 <image path=" images / ind_anuncios_on . png" posy="28" posx="0" s i z e x="118

" s i z e y="28"></image>11 <image path=" images / ind_empresas_off . png" posy="56" posx="0" s i z e x="

118" s i z e y="28"></image>12 <image path=" images / ind_formacion_off . png" posy="84" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0" s i z e x=

"118" s i z e y="28"></image>14 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118"

s i z e y="28"></image>15 </ conta ine r>16

17 <!−− Contenedor de l t exto de bienvenida −−>18 <conta ine r id="c_bienv" v i s="1" posx="30" posy="223" s i z e x="520" s i z e y="

90" alpha="0">19 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="

0">Ofer tas de empleo púb l i co</ text>20 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65" s c r o l l

="0">Busque l a o f e r t a de empleo púb l i co adecuada . S e l e c c i on e l o sparámetros que más l e i n t e r e s e n y pu l s e "OK" sobre e l botón "Buscar" .</ text>

21 </ conta ine r>22

23 <!−− Contenedor de l f o rmu la r i o de búsqueda −−>24 <conta ine r id="c_form" v i s="1" posx="30" posy="325" s i z e x="520" s i z e y="

210" alpha="0">25

26 <form focus=" f_prov inc ia " posx="0" posy="0" s i z e x="520" s i z e y="210"s t y l e="s_menu_form">

27

28 <text s t r="Prov inc ia /Autonomía" posx="0" posy="0" s i z e x="155" s i z e y="25" s t y l e="s_body_form"></ text>

29 <form_l i s t id=" f_prov inc ia " va l="0000" type="harrows" posx="175"posy="0" s i z e x="280" s i z e y="25" down=" f_t i t u l a c i o n " up="f_buscar " opt ions_texts="Todas , Nacional , P r o v i n c i a l : Todas l a sp rov inc i a s , P r o v i n c i a l : Almería , P r o v i n c i a l : Cádiz , P r o v i n c i a l :Córdoba , P r o v i n c i a l : Granada , P r o v i n c i a l : Huelva , P r o v i n c i a l : Jaén, P r o v i n c i a l : Málaga , P r o v i n c i a l : S e v i l l a , " opt ions="−1,Nac , Pro ,Alm ,Cad , Cor , Gra , Hue , Jae ,Mal , Sev"/>

30

31 <text s t r="Ti tu l a c i ón " posx="0" posy="40" s i z e x="155" s i z e y="25"s t y l e="s_body_form"></ text>

150 Apéndice B. Ficheros desarrollados para la aplicación

32 <form_l i s t id=" f_ t i t u l a c i o n " va l="0000" type="harrows" posx="175"posy="40" s i z e x="280" s i z e y="25" down=" f_t ipoOpos ic ion " up="f_prov inc ia " opt ions_texts="Todas , Ba ch i l l e r / FP II , C e r t i f i c a dode e s co l a r i dad , Diplomatura / I n g en i e r í a técn i ca , Doctor ,ESO,

Graduado e s c o l a r / FP I , L i c enc i a tu ra / Ing en i e r í a ,N/S ,Secundaria , Sin t i t u l a c i ó n " opt ions="−1,Bach , Cert , Dipl , Doct ,ESO,Grad , Lice ,NS, Secu , Sin "/>

33

34 <text s t r="Tipo de opo s i c i ón " posx="0" posy="80" s i z e x="155" s i z e y="25" s t y l e="s_body_form"></ text>

35 <form_l i s t id=" f_t ipoOpos ic ion " va l="0000" type="harrows" posx="175" posy="80" s i z e x="280" s i z e y="25" down=" f_buscar " up="f_ t i t u l a c i o n " opt ions_texts="Todas , Concurso−opos i c i ón , Oposición, Oposic ión l i b r e " opt ions="−1,Conc , Opos , Libr "/>

36

37 <form_imgbutton id=" f_buscar " img=" images /bot_buscar_off . png"imgfocus=" images /bot_buscar_on . png"

38 posx="170" posy="130" s i z e x="122" s i z e y="79" up=" f_t ipoOpos ic ion "down=" f_prov inc ia " r i g h t=" f_volver " va l i d a t i o n=" f a l s e ">

39 <act i on key="OK" act="hidepage ( ofertas_empleo_publ ico ) , showpage (h t tp : //$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /ofertas_empleo_publ ico ? p rov inc i a=$f_prov inc ia ;&amp ;t i t u l a c i o n=$f_ t i t u l a c i o n ;&amp ; t ipoOpos i c i on=$f_t ipoOpos ic ion;&amp ; pag=1&amp ; primeraVez=S&amp ; u r l=&amp ; j s e s s i o n i d=)"actback="hidepage (∗ ) , showpage ( ofertas_empleo_publ ico ) "/>

40 </form_imgbutton>41

42 <form_imgbutton id=" f_volver " img=" images / bot_volver_off . png"imgfocus=" images /bot_volver_on . png"

43 posx="300" posy="130" s i z e x="122" s i z e y="79" up=" f_t ipoOpos ic ion "down=" f_prov inc ia " l e f t=" f_buscar " va l i d a t i o n=" f a l s e ">

44 <act i on key="OK" act="hidepage ( ofertas_empleo_publ ico ) , showpage (anuncios_empleo ) " actback="hidepage ( anuncios_empleo ) ,showpage ( ofertas_empleo_publ ico ) "/>

45 </form_imgbutton>46

47 </form>48 </ conta ine r>49

50

51 </page>

B.2.5. Formación para el empleo

formacion_empleo.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <page>4

5 <help>c_help</help>6

7 <!−− Contenedor de l í n d i c e l a t e r a l −−>8 <conta ine r id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy="214"

s i z e x="118" s i z e y="168">9 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="118"

s i z e y="28"></image>10 <image path=" images / ind_anuncios_off . png" posy="28" posx="0" s i z e x="

118" s i z e y="28"></image>

B.2. Directorio de emisión 151

11 <image path=" images / ind_empresas_off . png" posy="56" posx="0" s i z e x="118" s i z e y="28"></image>

12 <image path=" images / ind_formacion_on . png" posy="84" posx="0" s i z e x="118" s i z e y="28"></image>

13 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0" s i z e x="118" s i z e y="28"></image>

14 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118"s i z e y="28"></image>

15 </ conta ine r>16

17 <!−− Contenedor de l t exto de bienvenida ( para e l e g i r e l t i po de curso ) −−>

18 <conta ine r id="c_bienv" v i s="1" posx="30" posy="223" s i z e x="520" s i z e y="90" alpha="0">

19 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="0">Cursos de formación para e l empleo</ text>

20 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="90" s c r o l l="0">Desde e s t e menú , podrá buscar cur so s de formación . Para e l l o ,s e l e c c i o n e con l a s f l e c h a s e l t i po de curso de formación que

desea con su l t a r y pu l s e "OK" .</ text>21 </ conta ine r>22

23 <!−− Contenedor de l menú v e r t i c a l para e l e g i r e l t i po de curso −−>24 <conta ine r id="c_menu_tipoCurso" v i s="1" posx="50" posy="315" s i z e x="400"

s i z e y="210" alpha="0">25

26 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="400" s i z e y="210" itemx="400" itemy="40" sepx="0" sepy="10" s t y l e="s_menuver">

27

28 <menuitem s t r="Cursos de formación para e l empleo PREVISTOS">29 <act i on key="OK" act=" hidecont ( formacion_empleo . c_bienv ) ,

h idecont ( formacion_empleo . c_menu_tipoCurso ) , showcont (formacion_empleo . c_bienv_mapa ) , showcont ( formacion_empleo .c_mapaPRV)"/>

30 </menuitem>31

32 <menuitem s t r="Cursos de formación para e l empleo CONVOCADOS">33 <act i on key="OK" act=" hidecont ( formacion_empleo . c_bienv ) ,

h idecont ( formacion_empleo . c_menu_tipoCurso ) , showcont (formacion_empleo . c_bienv_mapa ) , showcont ( formacion_empleo .c_mapaPUB)"/>

34 </menuitem>35

36 <menuitem s t r="Cursos de formación para e l empleo de PLAZO AMPLIADO">

37 <act i on key="OK" act=" hidecont ( formacion_empleo . c_bienv ) ,h idecont ( formacion_empleo . c_menu_tipoCurso ) , showcont (formacion_empleo . c_bienv_mapa ) , showcont ( formacion_empleo .c_mapaAMP)"/>

38 </menuitem>39

40 <menuitem s t r="Volver a l menú p r i n c i p a l ">41 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( index )

"/>42 </menuitem>43

44 </menu>45

46 </ conta ine r>47

48 <!−− Contenedor de l t exto de bienvenida ( para e l mapa) −−>49 <conta ine r id="c_bienv_mapa" v i s="0" posx="30" posy="223" s i z e x="520"

s i z e y="65" alpha="0">

152 Apéndice B. Ficheros desarrollados para la aplicación

50 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="0">Cursos de formación para e l empleo</ text>

51 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65" s c r o l l="0">Se l e c c i on e l a p rov inc i a en l a que desea buscar cur so s deformación y pu l s e "OK" .</ text>

52 </ conta ine r>53

54 <!−− Contenedor de l mapa ( cur so s p r e v i s t o s ) −−>55 <conta ine r id="c_mapaPRV" v i s="0" alpha="0" posx="100" posy="280" s i z e x="

398" s i z e y="235">56

57 <form focus=" f_ s e v i l l a " posx="0" posy="0" s i z e x="590" s i z e y="500"s t y l e="s_popup">

58

59 <form_imgbutton id=" f_almeria " img=" images /mapa_almeria_off . png"imgfocus=" images /mapa_almeria_on . png"

60 posx="294" posy="69" s i z e x="102" s i z e y="108" up="f_granada" l e f t=" f_granada" r i gh t=" f_huelva" down=" f_todas "

61 va l i d a t i o n=" f a l s e ">62 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PRV&amp ; tipoCursoText=p r e v i s t o s&amp ; p rov inc i a =04)"actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

63 </form_imgbutton>64

65 <form_imgbutton id=" f_granada" img=" images /mapa_granada_off . png"imgfocus=" images /mapa_granada_on . png"

66 posx="215" posy="53" s i z e x="141" s i z e y="123" up=" f_jaen " l e f t="f_malaga" r i gh t=" f_almeria " down=" f_todas "

67 va l i d a t i o n=" f a l s e ">68 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PRV&amp ; tipoCursoText=p r e v i s t o s&amp ; p rov inc i a =18)"actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

69 </form_imgbutton>70

71 <form_imgbutton id="f_malaga" img=" images /mapa_malaga_off . png"imgfocus=" images /mapa_malaga_on . png"

72 posx="125" posy="124" s i z e x="126" s i z e y="84" up=" f_cordoba" l e f t=" f_cadiz " r i g h t=" f_granada"

73 down=" f_todas " va l i d a t i o n=" f a l s e ">74 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PRV&amp ; tipoCursoText=p r e v i s t o s&amp ; p rov inc i a =29)"actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

75 </form_imgbutton>76

77 <form_imgbutton id=" f_jaen " img=" images /mapa_jaen_off . png" imgfocus=" images /mapa_jaen_on . png"

78 posx="215" posy="20" s i z e x="129" s i z e y="95" down="f_granada" l e f t=" f_cordoba" r i g h t=" f_granada"

79 va l i d a t i o n=" f a l s e ">80 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PRV&amp ; tipoCursoText=p r e v i s t o s&amp ; p rov inc i a =23)"actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

81 </form_imgbutton>82

83 <form_imgbutton id=" f_cordoba" img=" images /mapa_cordoba_off . png"imgfocus=" images /mapa_cordoba_on . png"

84 posx="129" posy="0" s i z e x="104" s i z e y="133" down="f_malaga" l e f t=" f_ s e v i l l a " r i g h t=" f_jaen "

85 va l i d a t i o n=" f a l s e ">

B.2. Directorio de emisión 153

86 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp ://$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PRV&amp ; tipoCursoText=p r e v i s t o s&amp ; p rov inc i a =14)"actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

87 </form_imgbutton>88

89 <form_imgbutton id=" f_ s e v i l l a " img=" images /mapa_sevi l la_off . png"imgfocus=" images /mapa_sevilla_on . png"

90 posx="63" posy="44" s i z e x="130" s i z e y="114" down=" f_cadiz " l e f t="f_huelva" r i g h t=" f_cordoba"

91 va l i d a t i o n=" f a l s e ">92 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PRV&amp ; tipoCursoText=p r e v i s t o s&amp ; p rov inc i a =41)"actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

93 </form_imgbutton>94

95 <form_imgbutton id=" f_cadiz " img=" images /mapa_cadiz_off . png"imgfocus=" images /mapa_cadiz_on . png"

96 posx="69" posy="143" s i z e x="90" s i z e y="91" up=" f_ s e v i l l a " l e f t="f_huelva" r i g h t="f_malaga"

97 va l i d a t i o n=" f a l s e ">98 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PRV&amp ; tipoCursoText=p r e v i s t o s&amp ; p rov inc i a =11)"actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

99 </form_imgbutton>100

101 <form_imgbutton id=" f_huelva" img=" images /mapa_huelva_off . png"imgfocus=" images /mapa_huelva_on . png"

102 posx="0" posy="39" s i z e x="90" s i z e y="121" up=" f_ s e v i l l a " down="f_cadiz " l e f t=" f_almeria " r i g h t=" f_ s e v i l l a "

103 va l i d a t i o n=" f a l s e ">104 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PRV&amp ; tipoCursoText=p r e v i s t o s&amp ; p rov inc i a =21)"actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

105 </form_imgbutton>106

107 <form_imgbutton id=" f_todas " img=" images /mapa_todas_off . png"imgfocus=" images /mapa_todas_on . png"

108 posx="228" posy="188" s i z e x="107" s i z e y="46" up="f_granada" l e f t="f_malaga" r i g h t=" f_almeria "

109 va l i d a t i o n=" f a l s e ">110 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PRV&amp ; tipoCursoText=p r e v i s t o s&amp ; p rov inc i a=−1)"actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

111 </form_imgbutton>112

113 </form>114

115 </ conta ine r>116

117 <!−− Contenedor de l mapa ( cur so s convocados ) −−>118 <conta ine r id="c_mapaPUB" v i s="0" alpha="0" posx="100" posy="280" s i z e x="

398" s i z e y="235">119

120 <form focus=" f_ s e v i l l a " posx="0" posy="0" s i z e x="590" s i z e y="500"s t y l e="s_popup">

121

122 <form_imgbutton id=" f_almeria " img=" images /mapa_almeria_off . png"imgfocus=" images /mapa_almeria_on . png"

154 Apéndice B. Ficheros desarrollados para la aplicación

123 posx="294" posy="69" s i z e x="102" s i z e y="108" up="f_granada" l e f t=" f_granada" r i gh t=" f_huelva" down=" f_todas "

124 va l i d a t i o n=" f a l s e ">125 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PUB&amp ; tipoCursoText=convocados&amp ; p rov inc i a =04)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

126 </form_imgbutton>127

128 <form_imgbutton id=" f_granada" img=" images /mapa_granada_off . png"imgfocus=" images /mapa_granada_on . png"

129 posx="215" posy="53" s i z e x="141" s i z e y="123" up=" f_jaen " l e f t="f_malaga" r i gh t=" f_almeria " down=" f_todas "

130 va l i d a t i o n=" f a l s e ">131 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PUB&amp ; tipoCursoText=convocados&amp ; p rov inc i a =18)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

132 </form_imgbutton>133

134 <form_imgbutton id="f_malaga" img=" images /mapa_malaga_off . png"imgfocus=" images /mapa_malaga_on . png"

135 posx="125" posy="124" s i z e x="126" s i z e y="84" up=" f_cordoba" l e f t=" f_cadiz " r i g h t=" f_granada"

136 down=" f_todas " va l i d a t i o n=" f a l s e ">137 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PUB&amp ; tipoCursoText=convocados&amp ; p rov inc i a =29)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

138 </form_imgbutton>139

140 <form_imgbutton id=" f_jaen " img=" images /mapa_jaen_off . png" imgfocus=" images /mapa_jaen_on . png"

141 posx="215" posy="20" s i z e x="129" s i z e y="95" down="f_granada" l e f t=" f_cordoba" r i g h t=" f_granada"

142 va l i d a t i o n=" f a l s e ">143 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PUB&amp ; tipoCursoText=convocados&amp ; p rov inc i a =23)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

144 </form_imgbutton>145

146 <form_imgbutton id=" f_cordoba" img=" images /mapa_cordoba_off . png"imgfocus=" images /mapa_cordoba_on . png"

147 posx="129" posy="0" s i z e x="104" s i z e y="133" down="f_malaga" l e f t=" f_ s e v i l l a " r i g h t=" f_jaen "

148 va l i d a t i o n=" f a l s e ">149 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PUB&amp ; tipoCursoText=convocados&amp ; p rov inc i a =14)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

150 </form_imgbutton>151

152 <form_imgbutton id=" f_ s e v i l l a " img=" images /mapa_sevi l la_off . png"imgfocus=" images /mapa_sevilla_on . png"

153 posx="63" posy="44" s i z e x="130" s i z e y="114" down=" f_cadiz " l e f t="f_huelva" r i g h t=" f_cordoba"

154 va l i d a t i o n=" f a l s e ">155 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PUB&amp ; tipoCursoText=convocados&amp ; p rov inc i a =41)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

156 </form_imgbutton>157

B.2. Directorio de emisión 155

158 <form_imgbutton id=" f_cadiz " img=" images /mapa_cadiz_off . png"imgfocus=" images /mapa_cadiz_on . png"

159 posx="69" posy="143" s i z e x="90" s i z e y="91" up=" f_ s e v i l l a " l e f t="f_huelva" r i g h t="f_malaga"

160 va l i d a t i o n=" f a l s e ">161 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PUB&amp ; tipoCursoText=convocados&amp ; p rov inc i a =11)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

162 </form_imgbutton>163

164 <form_imgbutton id=" f_huelva" img=" images /mapa_huelva_off . png"imgfocus=" images /mapa_huelva_on . png"

165 posx="0" posy="39" s i z e x="90" s i z e y="121" up=" f_ s e v i l l a " down="f_cadiz " l e f t=" f_almeria " r i g h t=" f_ s e v i l l a "

166 va l i d a t i o n=" f a l s e ">167 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PUB&amp ; tipoCursoText=convocados&amp ; p rov inc i a =21)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

168 </form_imgbutton>169

170 <form_imgbutton id=" f_todas " img=" images /mapa_todas_off . png"imgfocus=" images /mapa_todas_on . png"

171 posx="228" posy="188" s i z e x="107" s i z e y="46" up="f_granada" l e f t="f_malaga" r i g h t=" f_almeria "

172 va l i d a t i o n=" f a l s e ">173 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=PUB&amp ; tipoCursoText=convocados&amp ; p rov inc i a=−1)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></ ac t i on>

174 </form_imgbutton>175

176 </form>177

178 </ conta ine r>179

180 <!−− Contenedor de l mapa ( cur so s p lazo ampliado ) −−>181 <conta ine r id="c_mapaAMP" v i s="0" alpha="0" posx="100" posy="280" s i z e x="

398" s i z e y="235">182

183 <form focus=" f_ s e v i l l a " posx="0" posy="0" s i z e x="590" s i z e y="500"s t y l e="s_popup">

184

185 <form_imgbutton id=" f_almeria " img=" images /mapa_almeria_off . png"imgfocus=" images /mapa_almeria_on . png"

186 posx="294" posy="69" s i z e x="102" s i z e y="108" up="f_granada" l e f t=" f_granada" r i gh t=" f_huelva" down=" f_todas "

187 va l i d a t i o n=" f a l s e ">188 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=AMP&amp ; tipoCursoText=plazoAmpliado&amp ; p rov inc i a=04)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></act i on>

189 </form_imgbutton>190

191 <form_imgbutton id=" f_granada" img=" images /mapa_granada_off . png"imgfocus=" images /mapa_granada_on . png"

192 posx="215" posy="53" s i z e x="141" s i z e y="123" up=" f_jaen " l e f t="f_malaga" r i gh t=" f_almeria " down=" f_todas "

193 va l i d a t i o n=" f a l s e ">194 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=AMP&amp ; tipoCursoText=plazoAmpliado&amp ; p rov inc i a

156 Apéndice B. Ficheros desarrollados para la aplicación

=18)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></act i on>

195 </form_imgbutton>196

197 <form_imgbutton id="f_malaga" img=" images /mapa_malaga_off . png"imgfocus=" images /mapa_malaga_on . png"

198 posx="125" posy="124" s i z e x="126" s i z e y="84" up=" f_cordoba" l e f t=" f_cadiz " r i g h t=" f_granada"

199 down=" f_todas " va l i d a t i o n=" f a l s e ">200 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=AMP&amp ; tipoCursoText=plazoAmpliado&amp ; p rov inc i a=29)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></act i on>

201 </form_imgbutton>202

203 <form_imgbutton id=" f_jaen " img=" images /mapa_jaen_off . png" imgfocus=" images /mapa_jaen_on . png"

204 posx="215" posy="20" s i z e x="129" s i z e y="95" down="f_granada" l e f t=" f_cordoba" r i g h t=" f_granada"

205 va l i d a t i o n=" f a l s e ">206 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=AMP&amp ; tipoCursoText=plazoAmpliado&amp ; p rov inc i a=23)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></act i on>

207 </form_imgbutton>208

209 <form_imgbutton id=" f_cordoba" img=" images /mapa_cordoba_off . png"imgfocus=" images /mapa_cordoba_on . png"

210 posx="129" posy="0" s i z e x="104" s i z e y="133" down="f_malaga" l e f t=" f_ s e v i l l a " r i g h t=" f_jaen "

211 va l i d a t i o n=" f a l s e ">212 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=AMP&amp ; tipoCursoText=plazoAmpliado&amp ; p rov inc i a=14)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></act i on>

213 </form_imgbutton>214

215 <form_imgbutton id=" f_ s e v i l l a " img=" images /mapa_sevi l la_off . png"imgfocus=" images /mapa_sevilla_on . png"

216 posx="63" posy="44" s i z e x="130" s i z e y="114" down=" f_cadiz " l e f t="f_huelva" r i g h t=" f_cordoba"

217 va l i d a t i o n=" f a l s e ">218 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=AMP&amp ; tipoCursoText=plazoAmpliado&amp ; p rov inc i a=41)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></act i on>

219 </form_imgbutton>220

221 <form_imgbutton id=" f_cadiz " img=" images /mapa_cadiz_off . png"imgfocus=" images /mapa_cadiz_on . png"

222 posx="69" posy="143" s i z e x="90" s i z e y="91" up=" f_ s e v i l l a " l e f t="f_huelva" r i g h t="f_malaga"

223 va l i d a t i o n=" f a l s e ">224 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=AMP&amp ; tipoCursoText=plazoAmpliado&amp ; p rov inc i a=21)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></act i on>

225 </form_imgbutton>226

B.2. Directorio de emisión 157

227 <form_imgbutton id=" f_huelva" img=" images /mapa_huelva_off . png"imgfocus=" images /mapa_huelva_on . png"

228 posx="0" posy="39" s i z e x="90" s i z e y="121" up=" f_ s e v i l l a " down="f_cadiz " l e f t=" f_almeria " r i g h t=" f_ s e v i l l a "

229 va l i d a t i o n=" f a l s e ">230 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=AMP&amp ; tipoCursoText=plazoAmpliado&amp ; p rov inc i a=04)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></act i on>

231 </form_imgbutton>232

233 <form_imgbutton id=" f_todas " img=" images /mapa_todas_off . png"imgfocus=" images /mapa_todas_on . png"

234 posx="228" posy="188" s i z e x="107" s i z e y="46" up="f_granada" l e f t="f_malaga" r i g h t=" f_almeria "

235 va l i d a t i o n=" f a l s e ">236 <act i on key="OK" act="hidepage ( formacion_empleo ) , showpage ( h t tp :

//$ s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc / cursos_formular io ?t ipoCurso=AMP&amp ; tipoCursoText=plazoAmpliado&amp ; p rov inc i a=−1)" actback="hidepage (∗ ) , showpage ( formacion_empleo ) "></act i on>

237 </form_imgbutton>238

239 </form>240

241 </ conta ine r>242

243 </page>

B.2.6. Directorio del SAE

directorio_SAE.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <page>4

5 <help>c_help</help>6

7 <!−− Contenedor de l í n d i c e l a t e r a l −−>8 <conta ine r id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy="214"

s i z e x="118" s i z e y="168">9 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="118"

s i z e y="28"></image>10 <image path=" images / ind_anuncios_off . png" posy="28" posx="0" s i z e x="

118" s i z e y="28"></image>11 <image path=" images / ind_empresas_off . png" posy="56" posx="0" s i z e x="

118" s i z e y="28"></image>12 <image path=" images / ind_formacion_off . png" posy="84" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_director io_on . png" posy="112" posx="0" s i z e x="

118" s i z e y="28"></image>14 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118"

s i z e y="28"></image>15 </ conta ine r>16

17 <!−− Contenedor de l t exto de bienvenida de l menú " d i r e c t o r i o " −−>18 <conta ine r id="c_bienv" v i s="1" posx="30" posy="223" s i z e x="520" s i z e y="

50" alpha="0">

158 Apéndice B. Ficheros desarrollados para la aplicación

19 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="0">D i r e c t o r i o de l SAE</ text>

20 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="25" s c r o l l="0">E l i j a l a opción que desea con su l t a r y pu l s e "OK" .</ text>

21 </ conta ine r>22

23 <!−− Contenedor de l menú " d i r e c t o r i o " −−>24 <conta ine r id=" c_d i r e c t o r i o " v i s="1" alpha="0" posx="50" posy="280" s i z e x

="400" s i z e y="230">25

26 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="400" s i z e y="230" itemx="400" itemy="50" sepx="0" sepy="10" s t y l e="s_menuver">

27

28 <menuitem s t r=" S e r v i c i o s c e n t r a l e s ">29 <act i on key="OK" act=" hidecont ( directorio_SAE . c_bienv ) , h idecont (

directorio_SAE . c_d i r e c t o r i o ) , showcont ( directorio_SAE .c_bienv_servCentrales ) , showcont ( directorio_SAE .c_servCentra les ) "/>

30 </menuitem>31

32 <menuitem s t r="Di r e c c i one s p r o v i n c i a l e s ">33 <act i on key="OK" act=" hidecont ( directorio_SAE . c_bienv ) , h idecont (

directorio_SAE . c_d i r e c t o r i o ) , showcont ( directorio_SAE .c_bienv_mapa ) , showcont ( directorio_SAE . c_d i r e c cProv in c i a l e s ) "/>

34 </menuitem>35

36 <menuitem s t r="Áreas t e r r i t o r i a l e s de empleo">37 <act i on key="OK" act=" hidecont ( directorio_SAE . c_bienv ) , h idecont (

directorio_SAE . c_d i r e c t o r i o ) , showcont ( directorio_SAE .c_bienv_mapa ) , showcont ( directorio_SAE . c_a r e a sTe r r i t o r i a l e s ) "/>

38 </menuitem>39

40 <menuitem s t r="Volver a l menú p r i n c i p a l ">41 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( index ) "/

>42 </menuitem>43

44 </menu>45

46 </ conta ine r>47

48 <!−− Contenedor de l t exto de bienvenida ( para " s e r v i c i o s c e n t r a l e s " ) −−>49 <conta ine r id=" c_bienv_servCentrales " v i s="0" posx="30" posy="223" s i z e x=

"520" s i z e y="65" alpha="0">50 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="

0">D i r e c t o r i o de l SAE</ text>51 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65" s c r o l l

="0">Se l e c c i on e e l s e r v i c i o que desea con su l t a r y pu l s e "OK" .</text>

52 </ conta ine r>53

54 <!−− Contenedor de l menú " s e r v i c i o s c e n t r a l e s " −−>55 <conta ine r id=" c_servCentra les " v i s="0" alpha="0" posx="50" posy="280"

s i z e x="400" s i z e y="230">56

57 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="400" s i z e y="230" itemx="400" itemy="50" sepx="0" sepy="10" s t y l e="s_menuver">

58

59 <menuitem s t r="Consejero ( Pre s idente de l SAE) ">60 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=presidenteSAE&amp ; p rov inc i a=&amp ; pag=)" actback="hidepage (∗ )

B.2. Directorio de emisión 159

, showpage ( directorio_SAE ) "></ act i on>61 </menuitem>62

63 <menuitem s t r="Di recc i ón /Gerencia SAE">64 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=gerenciaSAE&amp ; p rov inc i a=&amp ; pag=)" actback="hidepage (∗ ) ,showpage ( directorio_SAE ) "></ act i on>

65 </menuitem>66

67 <menuitem s t r="D.G. Autónomos , Igualdad y Fomento de l Empleo">68 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=DGAutonomos&amp ; p rov inc i a=&amp ; pag=)" actback="hidepage (∗ ) ,showpage ( directorio_SAE ) "></ act i on>

69 </menuitem>70

71 <menuitem s t r="D.G. Empleabi l idad y Formación P ro f e s i o na l ">72 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=DGEmpleabilidad&amp ; p rov inc i a=&amp ; pag=)" actback="hidepage(∗ ) , showpage ( directorio_SAE ) "></ act i on>

73 </menuitem>74

75 </menu>76

77 </ conta ine r>78

79 <!−− Contenedor de l t exto de bienvenida ( para e l mapa) −−>80 <conta ine r id="c_bienv_mapa" v i s="0" posx="30" posy="223" s i z e x="520"

s i z e y="65" alpha="0">81 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="

0">D i r e c t o r i o de l SAE</ text>82 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65" s c r o l l

="0">Se l e c c i on e l a p rov inc i a de i n t e r é s y pu l s e "OK" .</ text>83 </ conta ine r>84

85 <!−− Contenedor de l mapa de d i r e c c i o n e s p r o v i n c i a l e s −−>86 <conta ine r id=" c_d i r e c cProv in c i a l e s " v i s="0" alpha="0" posx="100" posy="

280" s i z e x="398" s i z e y="235">87

88 <form focus=" f_ s e v i l l a " posx="0" posy="0" s i z e x="590" s i z e y="500"s t y l e="s_popup">

89

90 <form_imgbutton id=" f_almeria " img=" images /mapa_almeria_off . png"imgfocus=" images /mapa_almeria_on . png"

91 posx="294" posy="69" s i z e x="102" s i z e y="108" up="f_granada" l e f t=" f_granada" r i gh t=" f_huelva"

92 va l i d a t i o n=" f a l s e ">93 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=d i r e c c i o n e s ;&amp ; p rov inc i a=almer ia&amp ; pag=1)" actback="hidepage (∗ ) , showpage ( directorio_SAE ) "></ act i on>

94 </form_imgbutton>95

96 <form_imgbutton id=" f_granada" img=" images /mapa_granada_off . png"imgfocus=" images /mapa_granada_on . png"

97 posx="215" posy="53" s i z e x="141" s i z e y="123" up=" f_jaen " l e f t="f_malaga" r i gh t=" f_almeria "

98 va l i d a t i o n=" f a l s e ">99 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=d i r e c c i o n e s ;&amp ; p rov inc i a=granada&amp ; pag=1)" actback="hidepage (∗ ) , showpage ( directorio_SAE ) "></ act i on>

160 Apéndice B. Ficheros desarrollados para la aplicación

100 </form_imgbutton>101

102 <form_imgbutton id="f_malaga" img=" images /mapa_malaga_off . png"imgfocus=" images /mapa_malaga_on . png"

103 posx="125" posy="124" s i z e x="126" s i z e y="84" up=" f_cordoba" l e f t=" f_cadiz " r i g h t=" f_granada"

104 va l i d a t i o n=" f a l s e ">105 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=d i r e c c i o n e s ;&amp ; p rov inc i a=malaga&amp ; pag=1)" actback="hidepage (∗ ) , showpage ( directorio_SAE ) "></ act i on>

106 </form_imgbutton>107

108 <form_imgbutton id=" f_jaen " img=" images /mapa_jaen_off . png" imgfocus=" images /mapa_jaen_on . png"

109 posx="215" posy="20" s i z e x="129" s i z e y="95" down="f_granada" l e f t=" f_cordoba" r i g h t=" f_granada"

110 va l i d a t i o n=" f a l s e ">111 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=d i r e c c i o n e s ;&amp ; p rov inc i a=jaen&amp ; pag=1)" actback="hidepage (∗ ) , showpage ( directorio_SAE ) "></ act i on>

112 </form_imgbutton>113

114 <form_imgbutton id=" f_cordoba" img=" images /mapa_cordoba_off . png"imgfocus=" images /mapa_cordoba_on . png"

115 posx="129" posy="0" s i z e x="104" s i z e y="133" down="f_malaga" l e f t=" f_ s e v i l l a " r i g h t=" f_jaen "

116 va l i d a t i o n=" f a l s e ">117 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=d i r e c c i o n e s ;&amp ; p rov inc i a=cordoba&amp ; pag=1)" actback="hidepage (∗ ) , showpage ( directorio_SAE ) "></ act i on>

118 </form_imgbutton>119

120 <form_imgbutton id=" f_ s e v i l l a " img=" images /mapa_sevi l la_off . png"imgfocus=" images /mapa_sevilla_on . png"

121 posx="63" posy="44" s i z e x="130" s i z e y="114" down=" f_cadiz " l e f t="f_huelva" r i g h t=" f_cordoba"

122 va l i d a t i o n=" f a l s e ">123 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=d i r e c c i o n e s ;&amp ; p rov inc i a=s e v i l l a&amp ; pag=1)" actback="hidepage (∗ ) , showpage ( directorio_SAE ) "></ act i on>

124 </form_imgbutton>125

126 <form_imgbutton id=" f_cadiz " img=" images /mapa_cadiz_off . png"imgfocus=" images /mapa_cadiz_on . png"

127 posx="69" posy="143" s i z e x="90" s i z e y="91" up=" f_ s e v i l l a " l e f t="f_huelva" r i g h t="f_malaga"

128 va l i d a t i o n=" f a l s e ">129 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=d i r e c c i o n e s ;&amp ; p rov inc i a=cad i z&amp ; pag=1)" actback="hidepage (∗ ) , showpage ( directorio_SAE ) "></ act i on>

130 </form_imgbutton>131

132 <form_imgbutton id=" f_huelva" img=" images /mapa_huelva_off . png"imgfocus=" images /mapa_huelva_on . png"

133 posx="0" posy="39" s i z e x="90" s i z e y="121" up=" f_ s e v i l l a " down="f_cadiz " l e f t=" f_almeria " r i g h t=" f_ s e v i l l a "

134 va l i d a t i o n=" f a l s e ">135 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=

B.2. Directorio de emisión 161

d i r e c c i o n e s ;&amp ; p rov inc i a=huelva&amp ; pag=1)" actback="hidepage (∗ ) , showpage ( directorio_SAE ) "></ act i on>

136 </form_imgbutton>137

138 </form>139

140 </ conta ine r>141

142 <!−− Contenedor de l mapa de áreas t e r r i t o r i a l e s −−>143 <conta ine r id=" c_a r e a sTe r r i t o r i a l e s " v i s="0" alpha="0" posx="100" posy="

280" s i z e x="398" s i z e y="235">144

145 <form focus=" f_ s e v i l l a " posx="0" posy="0" s i z e x="590" s i z e y="500"s t y l e="s_popup">

146

147 <form_imgbutton id=" f_almeria " img=" images /mapa_almeria_off . png"imgfocus=" images /mapa_almeria_on . png"

148 posx="294" posy="69" s i z e x="102" s i z e y="108" up="f_granada" l e f t=" f_granada" r i gh t=" f_huelva"

149 va l i d a t i o n=" f a l s e ">150 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=areas ;&amp ; p rov inc i a=Almeria&amp ; pag=1)" actback="hidepage(∗ ) , showpage ( directorio_SAE ) "></ act i on>

151 </form_imgbutton>152

153 <form_imgbutton id=" f_granada" img=" images /mapa_granada_off . png"imgfocus=" images /mapa_granada_on . png"

154 posx="215" posy="53" s i z e x="141" s i z e y="123" up=" f_jaen " l e f t="f_malaga" r i gh t=" f_almeria "

155 va l i d a t i o n=" f a l s e ">156 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=areas ;&amp ; p rov inc i a=Granada&amp ; pag=1)" actback="hidepage(∗ ) , showpage ( directorio_SAE ) "></ act i on>

157 </form_imgbutton>158

159 <form_imgbutton id="f_malaga" img=" images /mapa_malaga_off . png"imgfocus=" images /mapa_malaga_on . png"

160 posx="125" posy="124" s i z e x="126" s i z e y="84" up=" f_cordoba" l e f t=" f_cadiz " r i g h t=" f_granada"

161 va l i d a t i o n=" f a l s e ">162 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=areas ;&amp ; p rov inc i a=Malaga&amp ; pag=1)" actback="hidepage (∗ ), showpage ( directorio_SAE ) "></ act i on>

163 </form_imgbutton>164

165 <form_imgbutton id=" f_jaen " img=" images /mapa_jaen_off . png" imgfocus=" images /mapa_jaen_on . png"

166 posx="215" posy="20" s i z e x="129" s i z e y="95" down="f_granada" l e f t=" f_cordoba" r i g h t=" f_granada"

167 va l i d a t i o n=" f a l s e ">168 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=areas ;&amp ; p rov inc i a=Jaen&amp ; pag=1)" actback="hidepage (∗ ) ,showpage ( directorio_SAE ) "></ act i on>

169 </form_imgbutton>170

171 <form_imgbutton id=" f_cordoba" img=" images /mapa_cordoba_off . png"imgfocus=" images /mapa_cordoba_on . png"

172 posx="129" posy="0" s i z e x="104" s i z e y="133" down="f_malaga" l e f t=" f_ s e v i l l a " r i g h t=" f_jaen "

173 va l i d a t i o n=" f a l s e ">

162 Apéndice B. Ficheros desarrollados para la aplicación

174 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=areas ;&amp ; p rov inc i a=Cordoba&amp ; pag=1)" actback="hidepage(∗ ) , showpage ( directorio_SAE ) "></ act i on>

175 </form_imgbutton>176

177 <form_imgbutton id=" f_ s e v i l l a " img=" images /mapa_sevi l la_off . png"imgfocus=" images /mapa_sevilla_on . png"

178 posx="63" posy="44" s i z e x="130" s i z e y="114" down=" f_cadiz " l e f t="f_huelva" r i g h t=" f_cordoba"

179 va l i d a t i o n=" f a l s e ">180 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=areas ;&amp ; p rov inc i a=S e v i l l a&amp ; pag=1)" actback="hidepage(∗ ) , showpage ( directorio_SAE ) "></ act i on>

181 </form_imgbutton>182

183 <form_imgbutton id=" f_cadiz " img=" images /mapa_cadiz_off . png"imgfocus=" images /mapa_cadiz_on . png"

184 posx="69" posy="143" s i z e x="90" s i z e y="91" up=" f_ s e v i l l a " l e f t="f_huelva" r i g h t="f_malaga"

185 va l i d a t i o n=" f a l s e ">186 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=areas ;&amp ; p rov inc i a=Cadiz&amp ; pag=1)" actback="hidepage (∗ ) ,showpage ( directorio_SAE ) "></ act i on>

187 </form_imgbutton>188

189 <form_imgbutton id=" f_huelva" img=" images /mapa_huelva_off . png"imgfocus=" images /mapa_huelva_on . png"

190 posx="0" posy="39" s i z e x="90" s i z e y="121" up=" f_ s e v i l l a " down="f_cadiz " l e f t=" f_almeria " r i g h t=" f_ s e v i l l a "

191 va l i d a t i o n=" f a l s e ">192 <act i on key="OK" act="hidepage ( directorio_SAE ) , showpage ( h t tp : //$

s e r v e r ; : $ port ; / i t v /apps /16003/800/ rc /directorio_SAE? opcion=areas ;&amp ; p rov inc i a=Huelva&amp ; pag=1)" actback="hidepage (∗ ), showpage ( directorio_SAE ) "></ act i on>

193 </form_imgbutton>194

195 </form>196

197 </ conta ine r>198

199

200 </page>

B.2.7. Página web del SAE

web_SAE.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <!−− I n t e r f a c e d e f i n i t i o n f o r tmNews −−>3 <page>4

5 <help>c_help</help>6

7 <!−− Contenedor de l í n d i c e l a t e r a l −−>8 <conta ine r id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy="214"

s i z e x="118" s i z e y="168">

B.2. Directorio de emisión 163

9 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="118"s i z e y="28"></image>

10 <image path=" images / ind_anuncios_off . png" posy="28" posx="0" s i z e x="118" s i z e y="28"></image>

11 <image path=" images / ind_empresas_off . png" posy="56" posx="0" s i z e x="118" s i z e y="28"></image>

12 <image path=" images / ind_formacion_off . png" posy="84" posx="0" s i z e x="118" s i z e y="28"></image>

13 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0" s i z e x="118" s i z e y="28"></image>

14 <image path=" images /ind_web_on . png" posy="140" posx="0" s i z e x="118"s i z e y="28"></image>

15 </ conta ine r>16

17 <!−− Contenedor de l t exto de in formac ión −−>18 <conta ine r id="c_texto" v i s="1" alpha="0" posx="30" posy="214" s i z e x="520

" s i z e y="270">19 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25" s c r o l l="

0">Página web de l SAE</ text>20 <text s t y l e=" s_bodyDetal le " posx="0" posy="35" s i z e x="520" s i z e y="245"

s c r o l l="1">En la s i g u i e n t e página web podrá encontrar toda l ain formac ión que pueda n e c e s i t a r sobre e l S e r v i c i o Andaluz deEmpleo:

21

22 ht tp : //www. juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo23

24 La web cont i ene una s e r i e de apartados a d i c i o n a l e s a l o s que puede encontraren e s ta ap l i c a c i ón , t a l e s como:

25

26 −Acceso a sus datos de usuar io , y p o s i b i l i d a d de c r ea r su propio CurrículumVitae .

27 −Not i c i a s y eventos de i n t e r é s .28 −Una s e c c i ón para l a empresa , para fomentar l a c r ea c i ón de empleo .29 −Una s e c c i ón dedicada a l a s personas que decidan e j e r c e r como autónomos .30 −Pos i b i l i d ad de ped i r c i t a s a l o s S e r v i c i o s de Or ientac ión de Andalucía

Occ identa l .31 −Pos i b i l i d ad de env ia r con su l t a s a l SAE.32

33 Además , una a s i s t e n t e v i r t u a l s i r v e como guía para navegar por l a web .34

35

36 Para vo lve r a l menú p r i n c i pa l , pu l s e l a t e c l a "OK" de l mando a d i s t a n c i a .</text>

37 </ conta ine r>38

39 <!−− Contenedor de l botón "Volver " −−>40 <conta ine r id="c_menu" v i s="1" alpha="0" posx="558" posy="445" s i z e x="122

" s i z e y="79">41 <menu type=" ho r i z on t a l " posx="0" posy="0" s i z e x="122" s i z e y="79" itemx

="122" itemy="79" sepx="0" sepy="0" s t y l e="s_menuSinFondo">42 <menuitem img=" images / bot_volver_off . png" imgfocus=" images /

bot_volver_on . png">43 <act i on key="OK" act="hidepage (web_SAE) , showpage ( index ) "></

act i on>44 </menuitem>45 </menu>46 </ conta ine r>47 </page>

164 Apéndice B. Ficheros desarrollados para la aplicación

B.3. Directorio de gestión del canal de retorno

B.3.1. Ficheros generales

page-�ow.xpl

1 <p : c on f i g xmlns:p=" ht tp : //www. orbeon . com/ oxf / p i p e l i n e "2 xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">3

4 <p :p r o c e s s o r name=" oxf :page−f l ow ">5 <p: input name=" c o n t r o l l e r " h r e f="page−f l ow . xml"/>6 </ p :p r o c e s s o r>7

8 </ p : c o n f i g>

page-�ow.xml

1 <con f i g xmlns=" ht tp : //www. orbeon . com/ oxf / c o n t r o l l e r " xmlns:xu=" ht tp : //www.xmldb . org /xupdate" xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">

2 <f i l e s path−i n f o=" ∗ . g i f "/>3 <f i l e s path−i n f o=" ∗ . c s s "/>4 <f i l e s path−i n f o=" ∗ . pdf "/>5 <f i l e s path−i n f o=" ∗ . j s "/>6 <f i l e s path−i n f o=" ∗ . png"/>7 <f i l e s path−i n f o=" ∗ . jpg "/>8 <f i l e s path−i n f o=" ∗ . xsd"/>9 <f i l e s path−i n f o=" ∗ . xml" mime−type=" app l i c a t i on /xml"/>

10 <f i l e s path−i n f o=" ∗ . html" mime−type=" text /html"/>11 <f i l e s path−i n f o=" ∗ . java " mime−type=" text / p l a i n "/>12 <f i l e s path−i n f o=" ∗ . tx t " mime−type=" text / p l a i n "/>13 <f i l e s path−i n f o=" ∗ . xq" mime−type=" text / p l a i n "/>14

15 <page path−i n f o="/apps /([0−9]+) /([0−9]+)/ rc / buscador_ofertas_formular io "matcher=" ox f : p e r l 5−matcher"

16 default−submiss ion=" de fau l t−submiss ion . xml" model="buscador_ofertas_formular io . xpl ">

17 <se tva lu e r e f="/ submiss ion / ca t e go r i a " parameter=" ca t e go r i a "/>18 <se tva lu e r e f="/ submiss ion / p rov inc i a " parameter=" prov inc i a "/>19 <se tva lu e r e f="/ submiss ion / pa labrasClave " parameter=" palabrasClave "/>20 </page>21

22 <page path−i n f o="/apps /([0−9]+) /([0−9]+)/ rc / buscador_ofertas " matcher="ox f : p e r l 5−matcher"

23 default−submiss ion=" de fau l t−submiss ion . xml" model=" buscador_ofertas .xpl ">

24 <se tva lu e r e f="/ submiss ion / ca t e go r i a " parameter=" ca t e go r i a "/>25 <se tva lu e r e f="/ submiss ion / subca t ego r i a " parameter=" subca t ego r i a "/>26 <se tva lu e r e f="/ submiss ion / p rov inc i a " parameter=" prov inc i a "/>27 <se tva lu e r e f="/ submiss ion / pa labrasClave " parameter=" palabrasClave "/>28 <se tva lu e r e f="/ submiss ion /pag" parameter="pag"/>29 </page>30

31 <page path−i n f o="/apps /([0−9]+) /([0−9]+)/ rc / buscador_ofe r tas_deta l l e "matcher=" ox f : p e r l 5−matcher"

32 default−submiss ion=" de fau l t−submiss ion . xml" model="buscador_ofe r tas_deta l l e . xpl ">

33 <se tva lu e r e f="/ submiss ion / ca t e go r i a " parameter=" ca t e go r i a "/>34 <se tva lu e r e f="/ submiss ion / subca t ego r i a " parameter=" subca t ego r i a "/>

B.3. Directorio de gestión del canal de retorno 165

35 <se tva lu e r e f="/ submiss ion / p rov inc i a " parameter=" prov inc i a "/>36 <se tva lu e r e f="/ submiss ion / pa labrasClave " parameter=" palabrasClave "/>37 <se tva lu e r e f="/ submiss ion /pag" parameter="pag"/>38 <se tva lu e r e f="/ submiss ion / idOfe r ta " parameter=" idOfe r ta "/>39 <se tva lu e r e f="/ submiss ion / idEmpresa" parameter=" idEmpresa"/>40 </page>41

42 <page path−i n f o="/apps /([0−9]+) /([0−9]+)/ rc / cursos_formular io " matcher="ox f : p e r l 5−matcher"

43 default−submiss ion=" de fau l t−submiss ion . xml" model=" cursos_formular io .xpl ">

44 <se tva lu e r e f="/ submiss ion / t ipoCurso " parameter=" tipoCurso "/>45 <se tva lu e r e f="/ submiss ion / tipoCursoText " parameter=" tipoCursoText "/>46 <se tva lu e r e f="/ submiss ion / p rov inc i a " parameter=" prov inc i a "/>47 </page>48

49 <page path−i n f o="/apps /([0−9]+) /([0−9]+)/ rc / cursos_formacion " matcher="ox f : p e r l 5−matcher"

50 default−submiss ion=" de fau l t−submiss ion . xml" model=" cursos_formacion .xpl ">

51 <se tva lu e r e f="/ submiss ion / t ipoCurso " parameter=" tipoCurso "/>52 <se tva lu e r e f="/ submiss ion / tipoCursoText " parameter=" tipoCursoText "/>53 <se tva lu e r e f="/ submiss ion / p rov inc i a " parameter=" prov inc i a "/>54 <se tva lu e r e f="/ submiss ion / i n i c i o " parameter=" i n i c i o "/>55 <se tva lu e r e f="/ submiss ion /munic ip io " parameter="munic ip io "/>56 <se tva lu e r e f="/ submiss ion / c o l e c t i v o " parameter=" c o l e c t i v o "/>57 <se tva lu e r e f="/ submiss ion / f am i l i a " parameter=" f am i l i a "/>58 <se tva lu e r e f="/ submiss ion / p r a c t i c a s " parameter=" p r a c t i c a s "/>59 <se tva lu e r e f="/ submiss ion / codigo " parameter=" codigo "/>60 <se tva lu e r e f="/ submiss ion /pag" parameter="pag"/>61 </page>62

63 <page path−i n f o="/apps /([0−9]+) /([0−9]+)/ rc / cu r so s_de ta l l e " matcher="ox f : p e r l 5−matcher"

64 default−submiss ion=" de fau l t−submiss ion . xml" model=" cur so s_de ta l l e . xpl ">

65 <se tva lu e r e f="/ submiss ion / t ipoCurso " parameter=" tipoCurso "/>66 <se tva lu e r e f="/ submiss ion / tipoCursoText " parameter=" tipoCursoText "/>67 <se tva lu e r e f="/ submiss ion / p rov inc i a " parameter=" prov inc i a "/>68 <se tva lu e r e f="/ submiss ion / i n i c i o " parameter=" i n i c i o "/>69 <se tva lu e r e f="/ submiss ion /munic ip io " parameter="munic ip io "/>70 <se tva lu e r e f="/ submiss ion / c o l e c t i v o " parameter=" c o l e c t i v o "/>71 <se tva lu e r e f="/ submiss ion / f am i l i a " parameter=" f am i l i a "/>72 <se tva lu e r e f="/ submiss ion / p r a c t i c a s " parameter=" p r a c t i c a s "/>73 <se tva lu e r e f="/ submiss ion / codigo " parameter=" codigo "/>74 <se tva lu e r e f="/ submiss ion /pag" parameter="pag"/>75 <se tva lu e r e f="/ submiss ion / idCurso " parameter=" idCurso "/>76 <se tva lu e r e f="/ submiss ion / l e t r a " parameter=" l e t r a "/>77 </page>78

79 <page path−i n f o="/apps /([0−9]+) /([0−9]+)/ rc /directorio_SAE" matcher="ox f : p e r l 5−matcher"

80 default−submiss ion=" de fau l t−submiss ion . xml" model="directorio_SAE . xpl ">

81 <se tva lu e r e f="/ submiss ion / p rov inc i a " parameter=" prov inc i a "/>82 <se tva lu e r e f="/ submiss ion / opcion " parameter=" opcion "/>83 <se tva lu e r e f="/ submiss ion /pag" parameter="pag"/>84 </page>85

86 <page path−i n f o="/apps /([0−9]+) /([0−9]+)/ rc / con su l t a s " matcher=" ox f : p e r l 5−matcher"

87 default−submiss ion=" de fau l t−submiss ion . xml" model=" con su l t a s . xpl ">88 <se tva lu e r e f="/ submiss ion / idDoc" parameter=" idDoc"/>89 <se tva lu e r e f="/ submiss ion /numDoc" parameter="numDoc"/>

166 Apéndice B. Ficheros desarrollados para la aplicación

90 <se tva lu e r e f="/ submiss ion / le t raDoc " parameter=" let raDoc "/>91 </page>92

93 <page path−i n f o="/apps /([0−9]+) /([0−9]+)/ rc / empresas_formular io " matcher=" ox f : p e r l 5−matcher"

94 default−submiss ion=" de fau l t−submiss ion . xml" model=" empresas_formular io. xpl ">

95 </page>96

97 <page path−i n f o="/apps /([0−9]+) /([0−9]+)/ rc / empresas " matcher=" ox f : p e r l 5−matcher"

98 default−submiss ion=" de fau l t−submiss ion . xml" model="empresas . xpl ">99 <se tva lu e r e f="/ submiss ion / p rov inc i a " parameter=" prov inc i a "/>

100 <se tva lu e r e f="/ submiss ion / s e c t o r " parameter=" s e c t o r "/>101 <se tva lu e r e f="/ submiss ion / u r l " parameter=" u r l "/>102 <se tva lu e r e f="/ submiss ion / ur lF in " parameter=" ur lF in "/>103 <se tva lu e r e f="/ submiss ion /primeraVez" parameter="primeraVez"/>104 <se tva lu e r e f="/ submiss ion /pag" parameter="pag"/>105 </page>106

107 <page path−i n f o="/apps /([0−9]+) /([0−9]+)/ rc / empresas_deta l l e " matcher="ox f : p e r l 5−matcher"

108 default−submiss ion=" de fau l t−submiss ion . xml" model=" empresas_deta l l e .xpl ">

109 <se tva lu e r e f="/ submiss ion / idEmpresa" parameter=" idEmpresa"/>110 <se tva lu e r e f="/ submiss ion / idProv inc i a " parameter=" idProv inc i a "/>111 <se tva lu e r e f="/ submiss ion / p rov inc i a " parameter=" prov inc i a "/>112 <se tva lu e r e f="/ submiss ion / s e c t o r " parameter=" s e c t o r "/>113 <se tva lu e r e f="/ submiss ion /primeraVez" parameter="primeraVez"/>114 <se tva lu e r e f="/ submiss ion / u r l " parameter=" u r l "/>115 <se tva lu e r e f="/ submiss ion / ur lF in " parameter=" ur lF in "/>116 <se tva lu e r e f="/ submiss ion /pag" parameter="pag"/>117 </page>118

119 <page path−i n f o="/apps /([0−9]+) /([0−9]+)/ rc / ofertas_empleo_publ ico "matcher=" ox f : p e r l 5−matcher"

120 default−submiss ion=" de fau l t−submiss ion . xml" model="ofertas_empleo_publ ico . xpl ">

121 <se tva lu e r e f="/ submiss ion / p rov inc i a " parameter=" prov inc i a "/>122 <se tva lu e r e f="/ submiss ion / t i t u l a c i o n " parameter=" t i t u l a c i o n "/>123 <se tva lu e r e f="/ submiss ion / t ipoOpos i c i on " parameter=" t ipoOpos i c i on "/>124 <se tva lu e r e f="/ submiss ion /pag" parameter="pag"/>125 <se tva lu e r e f="/ submiss ion /primeraVez" parameter="primeraVez"/>126 <se tva lu e r e f="/ submiss ion / u r l " parameter=" u r l "/>127 <se tva lu e r e f="/ submiss ion / j s e s s i o n i d " parameter=" j s e s s i o n i d "/>128 </page>129

130 <page path−i n f o="/apps /([0−9]+) /([0−9]+)/ rc /ofertas_empleo_publ ico_deta l l e " matcher=" ox f : p e r l 5−matcher"

131 default−submiss ion=" de fau l t−submiss ion . xml" model="ofertas_empleo_publ ico_deta l l e . xpl ">

132 <se tva lu e r e f="/ submiss ion / p rov inc i a " parameter=" prov inc i a "/>133 <se tva lu e r e f="/ submiss ion / t i t u l a c i o n " parameter=" t i t u l a c i o n "/>134 <se tva lu e r e f="/ submiss ion / t ipoOpos i c i on " parameter=" t ipoOpos i c i on "/>135 <se tva lu e r e f="/ submiss ion /pag" parameter="pag"/>136 <se tva lu e r e f="/ submiss ion /primeraVez" parameter="primeraVez"/>137 <se tva lu e r e f="/ submiss ion / u r l " parameter=" u r l "/>138 <se tva lu e r e f="/ submiss ion / j s e s s i o n i d " parameter=" j s e s s i o n i d "/>139 <se tva lu e r e f="/ submiss ion / idOfe r ta " parameter=" idOfe r ta "/>140 </page>141

142 </ con f i g>

B.3. Directorio de gestión del canal de retorno 167

default-submission.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <submiss ion xmlns :xs=" ht tp : //www.w3 . org /2001/XMLSchema"3 xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s "4 xmlns:tmg=" ht tp : //www. tmira . com/ops/ p r o c e s s o r s "5 xmlns :x i=" ht tp : //www.w3 . org /2001/XInclude"6 xmlns:p=" ht tp : //www. orbeon . com/ oxf / p i p e l i n e ">7

8 <prov inc i a />9 <pag/>

10 <primeraVez/>11 <ur l />12 <idEmpresa/>13

14 <!−− Cursos de formación −−>15 <tipoCurso />16 <tipoCursoText />17 <i n i c i o />18 <munic ip io />19 <co l e c t i v o />20 <fam i l i a />21 <pra c t i c a s />22 <codigo />23 <idCurso />24 <l e t r a />25

26 <!−− Contacta −−>27 <opcion />28 <idDoc/>29 <numDoc/>30 <letraDoc />31

32 <!−− Empresas −−>33 <se c t o r />34 <ur lF in />35 <idProv inc i a />36

37 <!−− Anuncios de empleo −−>38 <palabrasClave />39 <ca t e go r i a />40 <subca t ego r i a />41 <t i t u l a c i o n />42 <tipoOpos i c i on />43 <j s e s s i o n i d />44 <idOfe r ta />45

46 </ submiss ion>

B.3.2. Anuncios de empleo

buscador_ofertas_formulario.xpl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <p : c on f i g xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns:tmg=" ht tp :

//www. tmira . com/ops/ p r o c e s s o r s " xmlns:p=" ht tp : //www. orbeon . com/ oxf /p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">

3

4 <p:param type=" input " name=" in s tance "/>

168 Apéndice B. Ficheros desarrollados para la aplicación

5

6 <p :p r o c e s s o r name=" ox f : r e q u e s t ">7 <p: input name=" con f i g ">8 <config stream−type="xs:anyURI" xmlns :xs=" ht tp : //www.w3 . org /2001/

XMLSchema">9 <inc lude>/ reques t / se rve r−name</ inc lude>

10 <inc lude>/ reques t / se rve r−port</ inc lude>11 </config>12 </p: input>13 <p:output name="data" id=" s e r v e r "/>14 </ p :p r o c e s s o r>15

16 <!−− Procesador para generar e l config ne c e s a r i o para e l método GET deHTTP −−>

17 <p :p r o c e s s o r name=" o x f : x s l t ">18 <p: input name="data" h r e f="#in s tance "/>19 <p: input name=" con f i g ">20 <x s l : s t y l e s h e e t version=" 2 .0 ">21 <xs l : t emp l a t e match="/">22 <config>23 <method>url−http</method>24 <action>ht tp : //www. o f i c i naemp l eo . com/buscar−empleos</

action>25 <cookies>yes</cookies>26 <content−type>text /html</content−type>27 <encoding>utf−8</encoding>28 <timeout>40</timeout>29 </config>30 </ xs l : t emp l a t e>31 </ x s l : s t y l e s h e e t>32 </p: input>33 <p:output name="data" id="metodo_http_1"/>34 </ p :p r o c e s s o r>35

36 <!−− Método GET (HTTP) : Obtiene l a s l i s t a s de p r ov i n c i a s y de c a t e g o r í a s−−>

37 <p :p r o c e s s o r name="tmg:tm−http ">38 <p: input name=" con f i g " h r e f="#metodo_http_1"/>39 <p:output name="data" id="page_1"/>40 </ p :p r o c e s s o r>41

42 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTML r e c i b i d o −−>43 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">44 <p: input name=" con f i g ">45 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" x s l : v e r s i o n

=" 2 .0 ">46 <prov i n c i a s>47 <prov inc i a>48 <nombre>−−Todas l a s p rov inc i a s−−</nombre>49 <va lo r />50 </ prov inc i a>51 <x s l : f o r −each s e l e c t="// s e l e c t [ @id='City ' ] / opt ion ">52 <x s l : i f t e s t=" po s i t i o n ( ) !=1">53 <prov inc i a>54 <nombre>55 <xs l : v a l u e−o f s e l e c t="normal ize−space ( t r a n s l a t e (

t ex t ( ) , ' , ' , '&#47; ' ) ) "/>56 </nombre>57 <va lo r>58 <xs l : v a l u e−o f s e l e c t="@value"/>59 </ va lo r>60 </ prov inc i a>61 </ x s l : i f>62 </ x s l : f o r −each>

B.3. Directorio de gestión del canal de retorno 169

63 </ prov i n c i a s>64 <ca t e g o r i a s>65 <ca t e go r i a>66 <nombre>−−Todas l a s ca t ego r í a s−−</nombre>67 <va lo r />68 </ ca t e go r i a>69 <x s l : f o r −each s e l e c t="// s e l e c t [ @id=' a lerta_area ' ] / opt ion ">70 <x s l : i f t e s t=" po s i t i o n ( ) !=1">71 <ca t e go r i a>72 <nombre>73 <xs l : v a l u e−o f s e l e c t="normal ize−space ( t r a n s l a t e (

t ex t ( ) , ' , ' , '&#47; ' ) ) "/>74 </nombre>75 <va lo r>76 <xs l : v a l u e−o f s e l e c t="@value"/>77 </ va lo r>78 </ ca t e go r i a>79 </ x s l : i f>80 </ x s l : f o r −each>81 </ ca t e g o r i a s>82 </ items>83 </p: input>84 <p: input name="data" h r e f="#page_1"/>85 <p:output name="data" id=" l i s t a_ppa l "/>86 </ p :p r o c e s s o r>87

88 <p:choose h r e f="#in s tance ">89 <!−− Si se ha s e l e c c i onado alguna ca tego r í a , se buscan l a s

subca t ego r í a s −−>90 <p:when t e s t="/ submiss ion / c a t e g o r i a != ' ' and / submiss ion / ca t e go r i a != '0 '

">91

92 <!−− Procesador para generar e l config ne c e s a r i o para e l método GETde HTTP −−>

93 <p :p r o c e s s o r name=" o x f : x s l t ">94 <p: input name="data" h r e f="#in s tance "/>95 <p: input name=" con f i g ">96 <x s l : s t y l e s h e e t version=" 2 .0 ">97 <xs l : t emp l a t e match="/">98 <config>99 <method>url−http</method>

100 <action>101 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www.

o f i c i naemp l eo . com/ajax_categ_puestos . asp ? id= ' ,/ submiss ion / ca t ego r i a , '&amp ; s e l = ')"/>

102 </action>103 <cookies>yes</cookies>104 <content−type>text /html</content−type>105 <encoding>utf−8</encoding>106 <timeout>40</timeout>107 </config>108 </ xs l : t emp l a t e>109 </ x s l : s t y l e s h e e t>110 </p: input>111 <p:output name="data" id="metodo_http_2"/>112 </ p :p r o c e s s o r>113

114 <!−− Método GET (HTTP) : Obtiene l a l i s t a de subca t ego r í a s −−>115 <p :p r o c e s s o r name="tmg:tm−http ">116 <p: input name=" con f i g " h r e f="#metodo_http_2"/>117 <p:output name="data" id="page_2"/>118 </ p :p r o c e s s o r>119

170 Apéndice B. Ficheros desarrollados para la aplicación

120 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTMLr e c i b i d o −−>

121 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">122 <p: input name=" con f i g ">123 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

x s l : v e r s i o n=" 2 .0 ">124 <subca t ego r i a s>125 <subca t ego r i a>126 <nombre>−−Todas l a s subcategor í a s−−</nombre>127 <va lo r />128 </ subca t ego r i a>129 <x s l : f o r −each s e l e c t="// s e l e c t / opt ion ">130 <x s l : i f t e s t=" po s i t i o n ( ) !=1">131 <subca t ego r i a>132 <nombre>133 <xs l : v a l u e−o f s e l e c t="normal ize−space (

t r a n s l a t e ( t ex t ( ) , ' , ' , '&#47; ' ) ) "/>134 </nombre>135 <va lo r>136 <xs l : v a l u e−o f s e l e c t="@value"/>137 </ va lo r>138 </ subca t ego r i a>139 </ x s l : i f>140 </ x s l : f o r −each>141 </ subca t ego r i a s>142 </ items>143 </p: input>144 <p: input name="data" h r e f="#page_2"/>145 <p:output name="data" id=" l i s ta_sub "/>146 </ p :p r o c e s s o r>147 </p:when>148

149 <!−− Si no se ha s e l e c c i onado ninguna ca tego r í a , se toma un va lo r porde f e c t o −−>

150 <p:o the rw i s e>151 <p :p r o c e s s o r name=" o x f : i d e n t i t y ">152 <p: input name="data">153 <items>154 <subca t ego r i a s>155 <subca t ego r i a>156 <nombre>−−Todas l a s subcategor í a s−−</nombre>157 <va lo r>−1</ va lo r>158 </ subca t ego r i a>159 </ subca t ego r i a s>160 </ items>161 </p: input>162 <p:output name="data" id=" l i s ta_sub "/>163 </ p :p r o c e s s o r>164 </ p :o the rw i s e>165 </p:choose>166

167 <!−− Generación de l f i c h e r o XML −−>168 <p :p r o c e s s o r name=" o x f : x s l t ">169 <p: input name=" con f i g " h r e f=" buscador_ofertas_formular io . x s l "/>170 <p: input name="data" h r e f="#l i s t a_ppa l "/>171 <p: input name=" l i s ta_sub " h r e f="#l i s ta_sub "/>172 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>173 <p: input name=" s e r v e r " h r e f="#se rv e r "/>174 <p:output name="data" id=" l i s t "/>175 </ p :p r o c e s s o r>176

177 <!−− S e r i a l i z a c i ó n de l f i c h e r o XML −−>178 <p :p r o c e s s o r name="oxf :xml−s e r i a l i z e r ">179 <p: input name=" con f i g ">

B.3. Directorio de gestión del canal de retorno 171

180 <config>181 <content−type>app l i c a t i on /xml</content−type>182 <encoding>utf−8</encoding>183 <version>1.0</version>184 </config>185 </p: input>186 <p: input name="data" h r e f="#l i s t "/>187 </ p :p r o c e s s o r>188

189 </ p : c o n f i g>

buscador_ofertas_formulario.xsl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

xmlns :xa lan=" ht tp : //xml . apache . org / x s l t " version=" 1 .0 ">3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <xs l : t emp l a t e match=" items ">7 <page>8

9 <help>c_help</help>10

11 <!−− Contenedor de l í n d i c e l a t e r a l −−>12 <container id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy=

"214" s i z e x="118" s i z e y="168">13 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="

118" s i z e y="28"></image>14 <image path=" images / ind_anuncios_on . png" posy="28" posx="0"

s i z e x="118" s i z e y="28"></image>15 <image path=" images / ind_empresas_off . png" posy="56" posx="0"

s i z e x="118" s i z e y="28"></image>16 <image path=" images / ind_formacion_off . png" posy="84" posx="0"

s i z e x="118" s i z e y="28"></image>17 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0"

s i z e x="118" s i z e y="28"></image>18 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="

118" s i z e y="28"></image>19 </container>20

21 <!−− Contenedor de l t exto de bienvenida −−>22 <container id="c_bienv" v i s="1" posx="30" posy="223" s i z e x="520"

s i z e y="90" alpha="0">23 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25"

s c r o l l="0">Buscador de o f e r t a s</text>24 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65"

s c r o l l="0">En es ta s e c c i ón puede encontrar l a s o f e r t a s deempleo que más l e i n t e r e s e n . E l i j a l a s opc iones que desee ypu l s e "OK" t r a s s e l e c c i o n a r e l botón "Buscar" .</text>

25 </container>26

27 <!−− Contenedor de l f o rmu la r i o de búsqueda −−>28 <container id="c_form" v i s="1" posx="30" posy="300" s i z e x="520"

s i z e y="259" alpha="0">29

30 <form posx="0" posy="10" s i z e x="520" s i z e y="259" s t y l e="s_menu_form">

31 <x s l : a t t r i b u t e name=" focus ">32 <xs l : c h o o s e>

172 Apéndice B. Ficheros desarrollados para la aplicación

33 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion /c a t e g o r i a = ' '">f_prov inc ia</ xs l :when>

34 <x s l : o t h e rw i s e>f_subcategor ia</ x s l : o t h e rw i s e>35 </ x s l : c h o o s e>36 </ x s l : a t t r i b u t e>37

38 <text s t r="Prov inc ia " posx="0" posy="0" s i z e x="155" s i z e y="25" s t y l e="s_body_form"></text>

39 <form_list id=" f_prov inc ia " type="harrows" posx="175" posy="0" s i z e x="330" s i z e y="25" up=" f_buscar ">

40 <x s l : a t t r i b u t e name="down">41 <xs l : c h o o s e>42 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion

/ ca t e go r i a = ' '">f_categor i a</ xs l :when>43 <x s l : o t h e rw i s e>f_subcategor ia</ x s l : o t h e rw i s e>44 </ x s l : c h o o s e>45 </ x s l : a t t r i b u t e>46 <x s l : a t t r i b u t e name=" va l ">47 <xs l : v a l u e−o f s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / prov inc i a "/>48 </ x s l : a t t r i b u t e>49 <x s l : a t t r i b u t e name=" opt ions ">50 <xs l : f o r− ea ch s e l e c t=" p rov i n c i a s / p rov inc i a ">51 <xs l : v a l u e−o f s e l e c t=" . / va l o r "/>52 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">53 <x s l : t e x t> ,</ x s l : t e x t>54 </ x s l : i f>55 </ xs l : f o r− ea ch>56 </ x s l : a t t r i b u t e>57 <x s l : a t t r i b u t e name=" opt ions_texts ">58 <xs l : f o r− ea ch s e l e c t=" p rov i n c i a s / p rov inc i a ">59 <xs l : v a l u e−o f s e l e c t=" . / nombre"/>60 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">61 <x s l : t e x t> ,</ x s l : t e x t>62 </ x s l : i f>63 </ xs l : f o r− ea ch>64 </ x s l : a t t r i b u t e>65 </ form_list>66

67 <text s t r="Categor ía " posx="0" posy="35" s i z e x="155" s i z e y="25" s t y l e="s_body_form"></text>

68 <form_list id=" f_categor i a " type="harrows" posx="175" posy="35" s i z e x="330" s i z e y="25" down=" f_cargarSub" up="f_prov inc ia ">

69 <x s l : a t t r i b u t e name=" va l ">70 <xs l : v a l u e−o f s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / c a t e go r i a "/>71 </ x s l : a t t r i b u t e>72 <x s l : a t t r i b u t e name=" opt ions ">73 <xs l : f o r− ea ch s e l e c t=" c a t e g o r i a s / c a t e g o r i a ">74 <xs l : v a l u e−o f s e l e c t=" . / va l o r "/>75 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">76 <x s l : t e x t> ,</ x s l : t e x t>77 </ x s l : i f>78 </ xs l : f o r− ea ch>79 </ x s l : a t t r i b u t e>80 <x s l : a t t r i b u t e name=" opt ions_texts ">81 <xs l : f o r− ea ch s e l e c t=" c a t e g o r i a s / c a t e g o r i a ">82 <xs l : v a l u e−o f s e l e c t=" . / nombre"/>83 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">84 <x s l : t e x t> ,</ x s l : t e x t>85 </ x s l : i f>86 </ xs l : f o r− ea ch>87 </ x s l : a t t r i b u t e>

B.3. Directorio de gestión del canal de retorno 173

88 </ form_list>89

90 <form_list id=" f_cargarSub" va l="0000" type="harrows" posx="208" posy="70" s i z e x="250" s i z e y="25" down="f_subcategor ia " up=" f_categor i a " opt ions="0"opt ions_texts="Cargar subca t ego r í a s ( pu l s e &#34;OK&#34;)">

91 <action key="OK">92 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )

/ r eque s t /server−name"/>93 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r

' ) / r eque s t / server−port "/>94 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>95 <x s l : v a r i a b l e name=" ca t e go r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / ca t e go r i a "/>96 <x s l : v a r i a b l e name="palabrasClave " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / pa labrasClave "/>97 <x s l : a t t r i b u t e name=" act ">98 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / buscador_ofertas_formular io ?p rov inc i a=$f_prov inc ia ;&amp ; c a t e go r i a=$f_categor i a ;&amp ; pa labrasClave=$f_palabras ; ) ' ) "/>

99 </ x s l : a t t r i b u t e>100 <x s l : a t t r i b u t e name="actback ">101 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / buscador_ofertas_formular io ?p rov inc i a = ' ,$ prov inc ia , '&amp ; c a t e go r i a = ' ,$ca t ego r i a , '&amp ; pa labrasClave = ' ,$ palabrasClave, ' ) ' ) "/>

102 </ x s l : a t t r i b u t e>103 </action>104 </ form_list>105

106 <text s t r=" Subcategor ía " posx="0" posy="105" s i z e x="155"s i z e y="25" s t y l e="s_body_form"></text>

107 <form_list id=" f_subcategor ia " va l="0000" type="harrows" posx="175" posy="105" s i z e x="330" s i z e y="25" down=" f_palabras">

108 <x s l : a t t r i b u t e name="up">109 <xs l : c h o o s e>110 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion

/ ca t e go r i a = ' '">f_cargarSub</xs l :when>111 <x s l : o t h e rw i s e>f_prov inc ia</ x s l : o t h e rw i s e>112 </ x s l : c h o o s e>113 </ x s l : a t t r i b u t e>114 <x s l : a t t r i b u t e name=" opt ions ">115 <xs l : f o r− ea ch s e l e c t="doc ( ' i nput : l i s t a_sub ' ) / items /

subca t ego r i a s / subca t ego r i a ">116 <xs l : v a l u e−o f s e l e c t=" . / va l o r "/>117 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">118 <x s l : t e x t> ,</ x s l : t e x t>119 </ x s l : i f>120 </ xs l : f o r− ea ch>121 </ x s l : a t t r i b u t e>122 <x s l : a t t r i b u t e name=" opt ions_texts ">123 <xs l : f o r− ea ch s e l e c t="doc ( ' i nput : l i s t a_sub ' ) / items /

subca t ego r i a s / subca t ego r i a ">124 <xs l : v a l u e−o f s e l e c t=" . / nombre"/>125 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">126 <x s l : t e x t> ,</ x s l : t e x t>

174 Apéndice B. Ficheros desarrollados para la aplicación

127 </ x s l : i f>128 </ xs l : f o r− ea ch>129 </ x s l : a t t r i b u t e>130 </ form_list>131

132 <text s t r="Palabras c l ave " posx="0" posy="140" s i z e x="155"s i z e y="25" s t y l e="s_body_form"></text>

133 <edit_text id=" f_palabras " c o l e d i t="#f f f f f f " posx="175" posy="140" s i z e x="330" s i z e y="25" up=" f_subcategor ia " down="f_buscar ">

134 <x s l : a t t r i b u t e name=" va l ">135 <xs l : v a l u e−o f s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / pa labrasClave "/>136 </ x s l : a t t r i b u t e>137 </edit_text>138

139 <form_imgbutton id="f_nuevaBusqueda" img=" images /bot_nuevaBusqueda_off . png" imgfocus=" images /bot_nuevaBusqueda_on . png" posx="120" posy="170" s i z e x="122" s i z e y="79" up=" f_palabras " down=" f_prov inc ia " l e f t="f_volver " r i g h t=" f_buscar " va l i d a t i o n=" f a l s e ">

140 <action key="OK">141 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )

/ r eque s t /server−name"/>142 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r

' ) / r eque s t / server−port "/>143 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>144 <x s l : v a r i a b l e name=" ca t e go r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / ca t e go r i a "/>145 <x s l : v a r i a b l e name="palabrasClave " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / pa labrasClave "/>146 <x s l : a t t r i b u t e name=" act ">147 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / buscador_ofertas_formular io ?p rov inc i a=$f_prov inc ia ;&amp ; c a t e go r i a=&amp ;pa labrasClave=$f_palabras ; ) ' ) "/>

148 </ x s l : a t t r i b u t e>149 <x s l : a t t r i b u t e name="actback ">150 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (

anuncios_empleo ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $servPort , ' / i t v /apps /16003/800/ rc /buscador_ofertas_formular io ? p rov inc i a = ' ,$prov inc ia , '&amp ; c a t e g o r i a = ' ,$ ca t ego r i a , '&amp ;pa labrasClave = ' ,$ palabrasClave , ' ) ' ) "/>

151 </ x s l : a t t r i b u t e>152 </action>153 </form_imgbutton>154

155 <form_imgbutton id=" f_buscar " img=" images /bot_buscar_off . png"imgfocus=" images /bot_buscar_on . png" posx="250" posy="170

" s i z e x="122" s i z e y="79" up=" f_palabras " down="f_prov inc ia " r i g h t=" f_volver " l e f t="f_nuevaBusqueda"va l i d a t i o n=" f a l s e ">

156 <action key="OK">157 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )

/ r eque s t /server−name"/>158 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r

' ) / r eque s t / server−port "/>159 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>160 <x s l : v a r i a b l e name=" ca t e go r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / ca t e go r i a "/>

B.3. Directorio de gestión del canal de retorno 175

161 <x s l : v a r i a b l e name="palabrasClave " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / pa labrasClave "/>

162 <x s l : a t t r i b u t e name=" act ">163 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / buscador_ofertas ? p rov inc i a=$f_prov inc ia ;&amp ; c a t e go r i a=$f_categor i a ;&amp ;subca t ego r i a=$f_subcategor ia ;&amp ; pa labrasClave=$f_palabras ;&amp ; pag=1) ' ) "/>

164 </ x s l : a t t r i b u t e>165 <x s l : a t t r i b u t e name="actback ">166 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / buscador_ofertas_formular io ?p rov inc i a = ' ,$ prov inc ia , '&amp ; c a t e go r i a = ' ,$ca t ego r i a , '&amp ; pa labrasClave = ' ,$ palabrasClave, ' ) ' ) "/>

167 </ x s l : a t t r i b u t e>168 </action>169 </form_imgbutton>170

171 <form_imgbutton id=" f_volver " img=" images / bot_volver_off . png"imgfocus=" images /bot_volver_on . png" posx="380" posy="170

" s i z e x="122" s i z e y="79" up=" f_palabras " down="f_prov inc ia " r i g h t="f_nuevaBusqueda" l e f t=" f_buscar "va l i d a t i o n=" f a l s e ">

172 <action key="OK">173 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )

/ r eque s t /server−name"/>174 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r

' ) / r eque s t / server−port "/>175 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>176 <x s l : v a r i a b l e name=" ca t e go r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / ca t e go r i a "/>177 <x s l : v a r i a b l e name="palabrasClave " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / pa labrasClave "/>178 <x s l : a t t r i b u t e name=" act ">179 <x s l : v a r i a b l e name="comun" s e l e c t=" ' hidepage (∗ ) ,

showpage ( anuncios_empleo ) ' "/>180 <xs l : v a l u e−o f s e l e c t="$comun"/>181 </ x s l : a t t r i b u t e>182 <x s l : a t t r i b u t e name="actback ">183 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (

anuncios_empleo ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $servPort , ' / i t v /apps /16003/800/ rc /buscador_ofertas_formular io ? p rov inc i a = ' ,$prov inc ia , '&amp ; c a t e g o r i a = ' ,$ ca t ego r i a , '&amp ;pa labrasClave = ' ,$ palabrasClave , ' ) ' ) "/>

184 </ x s l : a t t r i b u t e>185 </action>186 </form_imgbutton>187

188 </form>189 </container>190

191 </page>192

193 </ xs l : t emp l a t e>194

195 </ x s l : s t y l e s h e e t>

176 Apéndice B. Ficheros desarrollados para la aplicación

buscador_ofertas.xpl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <p : c on f i g xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns:tmg=" ht tp :

//www. tmira . com/ops/ p r o c e s s o r s " xmlns:p=" ht tp : //www. orbeon . com/ oxf /p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">

3

4 <p:param type=" input " name=" in s tance "/>5

6 <p :p r o c e s s o r name=" ox f : r e q u e s t ">7 <p: input name=" con f i g ">8 <config stream−type="xs:anyURI" xmlns :xs=" ht tp : //www.w3 . org /2001/

XMLSchema">9 <inc lude>/ reques t / se rve r−name</ inc lude>

10 <inc lude>/ reques t / se rve r−port</ inc lude>11 </config>12 </p: input>13 <p:output name="data" id=" s e r v e r "/>14 </ p :p r o c e s s o r>15

16 <!−− Procesador para generar e l config ne c e s a r i o para e l método HTTP −−>17 <p :p r o c e s s o r name=" o x f : x s l t ">18 <p: input name="data" h r e f="#in s tance "/>19 <p: input name=" con f i g ">20 <x s l : s t y l e s h e e t version=" 2 .0 ">21 <xs l : t emp l a t e match="/">22 <config>23 <method>post</method>24 <action>ht tp : //www. o f i c i naemp l eo . com/empleos</action>25 <cookies>yes</cookies>26 <parameters>27 <parameter name="hid_pagenext">28 <x s l : a t t r i b u t e name="value ">29 <xs l : v a l u e−o f s e l e c t="/ submiss ion /pag"/>30 </ x s l : a t t r i b u t e>31 </parameter>32 <parameter name="hid_city ">33 <x s l : a t t r i b u t e name="value ">34 <xs l : v a l u e−o f s e l e c t="/ submiss ion / p rov inc i a "/>35 </ x s l : a t t r i b u t e>36 </parameter>37 <parameter name="hid_area">38 <x s l : a t t r i b u t e name="value ">39 <xs l : v a l u e−o f s e l e c t="/ submiss ion / c a t e g o r i a "/>40 </ x s l : a t t r i b u t e>41 </parameter>42 <parameter name="hid_puesto">43 <x s l : a t t r i b u t e name="value ">44 <xs l : c h o o s e>45 <xsl :when t e s t="/ submiss ion / subca t ego r i a != '−1 '

">46 <xs l : v a l u e−o f s e l e c t="/ submiss ion /

subca t ego r i a "/>47 </xs l :when>48 <x s l : o t h e rw i s e />49 </ x s l : c h o o s e>50 </ x s l : a t t r i b u t e>51 </parameter>52 <parameter name="hid_keyword">53 <x s l : a t t r i b u t e name="value ">54 <x s l : c a l l −template name=" rep lace−s t r i n g ">55 <xs l :w i th−param name=" text " s e l e c t="/

submiss ion / palabrasClave "/>

B.3. Directorio de gestión del canal de retorno 177

56 <xs l :w i th−param name="from" s e l e c t=" '%20 '"/>57 <xs l :w i th−param name=" to " s e l e c t=" '+ '"/>58 </ x s l : c a l l −template>59 </ x s l : a t t r i b u t e>60 </parameter>61 </parameters>62 <timeout>40</timeout>63 <content−type>text /html</content−type>64 <encoding>utf−8</encoding>65 </config>66 </ xs l : t emp l a t e>67

68 <!−− P l a n t i l l a que reemplaza una cadena por ot ra −−>69 <xs l : t emp l a t e name=" rep lace−s t r i n g ">70 <xsl :param name=" text "/>71 <xsl :param name="from"/>72 <xsl :param name=" to "/>73 <xs l : c h o o s e>74 <xsl :when t e s t=" conta in s ($ text , $ from ) ">75 <x s l : v a r i a b l e name=" be f o r e " s e l e c t=" subst r ing−be f o r e

($ text , $ from ) "/>76 <x s l : v a r i a b l e name=" a f t e r " s e l e c t=" subst r ing−a f t e r ($

text , $ from ) "/>77 <x s l : v a r i a b l e name=" p r e f i x " s e l e c t=" concat ($ be fore ,

$ to ) "/>78 <xs l : v a l u e−o f s e l e c t="$ be f o r e "/>79 <xs l : v a l u e−o f s e l e c t="$ to "/>80 <x s l : c a l l −template name=" rep lace−s t r i n g ">81 <xs l :w i th−param name=" text " s e l e c t="$ a f t e r "/>82 <xs l :w i th−param name="from" s e l e c t="$from"/>83 <xs l :w i th−param name=" to " s e l e c t="$ to "/>84 </ x s l : c a l l −template>85 </xs l :when>86 <x s l : o t h e rw i s e>87 <xs l : v a l u e−o f s e l e c t="$ text "/>88 </ x s l : o t h e rw i s e>89 </ x s l : c h o o s e>90 </ xs l : t emp l a t e>91

92 </ x s l : s t y l e s h e e t>93 </p: input>94 <p:output name="data" id="metodo_http"/>95 </ p :p r o c e s s o r>96

97 <!−− Método POST (HTTP) −−>98 <p :p r o c e s s o r name="tmg:tm−http ">99 <p: input name=" con f i g " h r e f="#metodo_http"/>

100 <p:output name="data" id="page"/>101 </ p :p r o c e s s o r>102

103 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTML r e c i b i d o −−>104 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">105 <p: input name=" con f i g ">106 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" x s l : v e r s i o n

=" 2 .0 ">107 <o f e r t a s>108 <x s l : f o r −each s e l e c t="// tab l e / t r [ @class='normaltext ' ] ">109 <o f e r t a>110 <nombre><xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−space

( . / td [ 1 ] / t ab l e / t r / td [ 2 ] / a/span ),'&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;&#141;&#147;&#154;&#145;&#188;ÂÃ' , ' áéíóúñÁÉÍÓÚÑü ' ) "

/></nombre>

178 Apéndice B. Ficheros desarrollados para la aplicación

111 <idOfe r ta><xs l : v a l u e−o f s e l e c t=" subst r ing−be f o r e (t r a n s l a t e ( normal ize−space ( . / td [ 1 ] / t ab l e / t r / td [ 2 ] / a/@href ),'&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;&#141;&#147;&#154;&#145;&#188;ÂÃ' , ' áéíóúñÁÉÍÓÚÑü ' ), '= ') "/></ idOfe r ta>

112 <ubicac ion><xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−space ( . / td [ 2 ] ),'&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;&#141;&#147;&#154;&#145;&#188;ÂÃ' , ' áéíóúñÁÉÍÓÚÑü ' ) "

/></ ub icac ion>113 <empresa><xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−

space ( . / td [ 3 ] ),'&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;&#141;&#147;&#154;&#145;&#188;ÂÃ' , ' áéíóúñÁÉÍÓÚÑü ' ) "

/></empresa>114 <fecha><xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−space

( . / td [ 4 ] ),'&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;&#141;&#147;&#154;&#145;&#188;ÂÃ' , ' áéíóúñÁÉÍÓÚÑü ' ) "

/></ fecha>115 <idEmpresa>116 <x s l : v a r i a b l e name="nombre" s e l e c t=" t r a n s l a t e (

normal ize−space ( . / f o l l ow ing−s i b l i n g : : t r [ p o s i t i o n( ) =2]/ td [ 1 ] / a/@href ),'&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;&#141;&#147;&#154;&#145;ÂÃ' , ' áéíóúñÁÉÍÓÚÑ ' ) "/>

117 <xs l : c h o o s e>118 <xsl :when t e s t=" conta in s ($nombre , '&amp ; ' ) ">119 <xs l : v a l u e−o f s e l e c t=" concat ( subst r ing−be f o r e

($nombre , '&amp ; ' ) , 'AMPERSAND' , subst r ing−a f t e r ($nombre , '&amp ; ' ) ) "/>

120 </xs l :when>121 <x s l : o t h e rw i s e>122 <xs l : v a l u e−o f s e l e c t="$nombre"/>123 </ x s l : o t h e rw i s e>124 </ x s l : c h o o s e>125 </idEmpresa>126 </ o f e r t a>127 </ x s l : f o r −each>128 </ o f e r t a s>129 <paginas>130 <x s l : v a r i a b l e name=" tota l_pag inas ">131 <x s l : v a r i a b l e name="ultima_pag">132 <x s l : f o r −each s e l e c t="//a [ @href='empleos ' ] ">133 <x s l : i f t e s t=" po s i t i o n ( )=l a s t ( ) ">134 <xs l : v a l u e−o f s e l e c t=" subst r ing−be f o r e ( subst r ing−

a f t e r ( . / @onclick , ' pag inar ( ' ) , ' ) ' ) "/>135 </ x s l : i f>136 </ x s l : f o r −each>137 </ x s l : v a r i a b l e>138

139 <xs l : c h o o s e>140 <xsl :when t e s t="$ultima_pag &gt ; doc ( ' input :dat−

in s tance ' ) / submiss ion /pag">141 <xs l : v a l u e−o f s e l e c t="$ultima_pag"/>142 </xs l :when>143 <x s l : o t h e rw i s e>144 <xs l : v a l u e−o f s e l e c t="doc ( ' input :dat−in s tance ' ) /

submiss ion /pag"/>145 </ x s l : o t h e rw i s e>146 </ x s l : c h o o s e>147 </ x s l : v a r i a b l e>

B.3. Directorio de gestión del canal de retorno 179

148

149 <pagina>150 <x s l : a t t r i b u t e name=" ac tua l ">1</ x s l : a t t r i b u t e>151 <x s l : a t t r i b u t e name="numero">152 <xs l : v a l u e−o f s e l e c t="doc ( ' input :dat−in s tance ' ) /

submiss ion /pag"/>153 </ x s l : a t t r i b u t e>154 <x s l : a t t r i b u t e name=" t o t a l "><xs l : v a l u e−o f s e l e c t="$

tota l_pag inas "/></ x s l : a t t r i b u t e>155 </pagina>156 <x s l : f o r −each s e l e c t="//a [ @href='empleos ' ] ">157 <x s l : i f t e s t=" subst r ing−be f o r e ( subst r ing−a f t e r ( . / @onclick

, ' pag inar ( ' ) , ' ) ' )=text ( ) ">158 <pagina>159 <x s l : a t t r i b u t e name=" ac tua l ">0</ x s l : a t t r i b u t e>160 <x s l : a t t r i b u t e name="numero"><xs l : v a l u e−o f s e l e c t="

text ( ) "/></ x s l : a t t r i b u t e>161 <x s l : a t t r i b u t e name=" t o t a l "><xs l : v a l u e−o f s e l e c t="$

tota l_pag inas "/></ x s l : a t t r i b u t e>162 </pagina>163 </ x s l : i f>164 </ x s l : f o r −each>165 </paginas>166 </ items>167 </p: input>168 <p: input name="data" h r e f="#page"/>169 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>170 <p:output name="data" id=" resu l tDesordenado "/>171 </ p :p r o c e s s o r>172

173 <!−− Procesador para ordenar l a s páginas −−>174 <p :p r o c e s s o r name=" o x f : x s l t ">175 <p: input name="data" h r e f="#resu l tDesordenado "/>176 <p: input name=" con f i g ">177 <x s l : s t y l e s h e e t version=" 2 .0 ">178 <xs l : t emp l a t e match=" items ">179 <items>180 <o f e r t a s>181 <xs l : app ly−templates s e l e c t=" o f e r t a s / o f e r t a "/>182 </ o f e r t a s>183 <paginas>184 <xs l : app ly−templates s e l e c t="paginas /pagina ">185 <x s l : s o r t s e l e c t="@numero" data−type="number" order=

" ascending "/>186 </ xs l : app ly−templates>187 </paginas>188 </ items>189 </ xs l : t emp l a t e>190

191 <xs l : t emp l a t e match=" o f e r t a s / o f e r t a ">192 <o f e r t a>193 <nombre><xs l : v a l u e−o f s e l e c t="nombre"/></nombre>194 <idOfe r ta><xs l : v a l u e−o f s e l e c t=" idOfe r ta "/></ idOfe r ta>195 <idEmpresa><xs l : v a l u e−o f s e l e c t=" idEmpresa"/></idEmpresa>196 <ubicac ion><xs l : v a l u e−o f s e l e c t=" ub icac ion "/></ ub icac ion>197 <empresa><xs l : v a l u e−o f s e l e c t="empresa"/></empresa>198 <fecha><xs l : v a l u e−o f s e l e c t=" fecha "/></ fecha>199 </ o f e r t a>200 </ xs l : t emp l a t e>201 <xs l : t emp l a t e match="paginas /pagina ">202 <pagina>203 <x s l : a t t r i b u t e name=" ac tua l "><xs l : v a l u e−o f s e l e c t="@actual

"/></ x s l : a t t r i b u t e>

180 Apéndice B. Ficheros desarrollados para la aplicación

204 <x s l : a t t r i b u t e name="numero"><xs l : v a l u e−o f s e l e c t="@numero"/></ x s l : a t t r i b u t e>

205 <x s l : a t t r i b u t e name=" t o t a l "><xs l : v a l u e−o f s e l e c t="@total "/></ x s l : a t t r i b u t e>

206 </pagina>207 </ xs l : t emp l a t e>208

209 </ x s l : s t y l e s h e e t>210 </p: input>211 <p:output name="data" id=" r e s u l t "/>212 </ p :p r o c e s s o r>213

214 <!−− Generación de l f i c h e r o XML −−>215 <p :p r o c e s s o r name=" o x f : x s l t ">216 <p: input name=" con f i g " h r e f=" buscador_ofertas . x s l "/>217 <p: input name="data" h r e f="#r e s u l t "/>218 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>219 <p: input name=" s e r v e r " h r e f="#se rv e r "/>220 <p:output name="data" id=" l i s t "/>221 </ p :p r o c e s s o r>222

223 <!−− S e r i a l i z a c i ó n de l f i c h e r o XML −−>224 <p :p r o c e s s o r name="oxf :xml−s e r i a l i z e r ">225 <p: input name=" con f i g ">226 <config>227 <content−type>app l i c a t i on /xml</content−type>228 <encoding>utf−8</encoding>229 <version>1.0</version>230 </config>231 </p: input>232 <p: input name="data" h r e f="#l i s t "/>233 </ p :p r o c e s s o r>234

235 </ p : c o n f i g>

buscador_ofertas.xsl

1 <?xml version=" 1 .0 " encoding="utf−8"?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

xmlns :xa lan=" ht tp : //xml . apache . org / x s l t " version=" 1 .0 ">3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <xs l : t emp l a t e match=" items ">7 <page>8

9 <help>c_help</help>10

11 <!−− Contenedor de l í n d i c e l a t e r a l −−>12 <container id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy=

"214" s i z e x="118" s i z e y="168">13 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="

118" s i z e y="28"></image>14 <image path=" images / ind_anuncios_on . png" posy="28" posx="0"

s i z e x="118" s i z e y="28"></image>15 <image path=" images / ind_empresas_off . png" posy="56" posx="0"

s i z e x="118" s i z e y="28"></image>16 <image path=" images / ind_formacion_off . png" posy="84" posx="0"

s i z e x="118" s i z e y="28"></image>17 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0"

s i z e x="118" s i z e y="28"></image>

B.3. Directorio de gestión del canal de retorno 181

18 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118" s i z e y="28"></image>

19 </container>20

21 <!−− Contenedor de l menú ho r i z on t a l ( pag inac ión ) −−>22 <container alpha="0" id="c_menu_hor" s i z e y="35" s i z e x="530" posy="

215" posx="24" v i s="1">23 <menu type=" ho r i z on t a l " posx="10" posy="0" s i z e x="530" s i z e y="25

" itemx="36" itemy="25" sepx="4" sepy="0" s t y l e="s_menuhorCentrado">

24 <x s l : v a r i a b l e name=" total_pag" s e l e c t="/ items / paginas /pagina[ 1 ] / @total "/>

25 <x s l : v a r i a b l e name="primera_pag" s e l e c t="/ items / paginas /pagina [ 1 ] / @numero"/>

26 <x s l : v a r i a b l e name="ultima_pag" s e l e c t="/ items / paginas /pagina[ l a s t ( ) ] /@numero"/>

27 <x s l : v a r i a b l e name="num_pag" s e l e c t="doc ( ' input :dat− ins tance' ) / submiss ion /pag"/>

28

29 <xs l : c h o o s e>30 <xsl :when t e s t="$primera_pag= '1 '">31 <x s l : a t t r i b u t e name=" cursorx "><xs l : v a l u e−o f s e l e c t="

number ($num_pag − 1) "/></ x s l : a t t r i b u t e>32 </xs l :when>33 <x s l : o t h e rw i s e>34 <x s l : a t t r i b u t e name=" cursorx "><xs l : v a l u e−o f s e l e c t="

number ($num_pag − $primera_pag + 1) "/></x s l : a t t r i b u t e>

35 <menuitem img=" images /bot_matrix_off . png" imgfocus="images /bot_matrix_on . png" s t r="&#60;&#60;"/>

36 </ x s l : o t h e rw i s e>37 </ x s l : c h o o s e>38

39 <xs l :app ly− t emplate s s e l e c t="paginas /pagina "/>40

41 <x s l : i f t e s t="$ultima_pag != $ total_pag and $ultima_pag !='1 ' ">

42 <menuitem img=" images /bot_matrix_off . png" imgfocus=" images/bot_matrix_on . png" s t r="&#62;&#62;"/>

43 </ x s l : i f>44 </menu>45 </container>46

47 <!−− Contenedor de l menú v e r t i c a l ( l i s t a d o de empresas ) −−>48 <container id="c_menu" alpha="255" s i z e y="300" s i z e x="510" posy="

250" posx="30" v i s="1">49 <xs l : c h o o s e>50 <xsl :when t e s t="count (// o f e r t a ) !=0">51 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="510" s i z e y=

"275" itemx="510" itemy="25" sepx="0" sepy="0" s t y l e="s_menuverEmpresas">

52 <menuitem s t r="−−−−Rea l i z a r nueva búsqueda−−−−" >53 <action key="OK">54 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>55 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>56 <x s l : v a r i a b l e name=" ca t e go r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / ca t e go r i a "/>57 <x s l : v a r i a b l e name=" subca t ego r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / subca t ego r i a "/>

58 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / prov inc i a "/>

182 Apéndice B. Ficheros desarrollados para la aplicación

59 <x s l : v a r i a b l e name="palabrasClave " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / pa labrasClave"/>

60 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /pag"/>

61

62 <x s l : a t t r i b u t e name=" act ">63 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( '

hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :' , $ servPort , ' / i t v /apps /16003/800/ rc /buscador_ofertas_formular io ? c a t e go r i a=&amp; p rov inc i a=&amp ; pa labrasClave=) ' ) "/>

64 <xs l : v a l u e−o f s e l e c t="$comun"/>65 </ x s l : a t t r i b u t e>66

67 <x s l : a t t r i b u t e name="actback ">68 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( '

hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :' , $ servPort , ' / i t v /apps /16003/800/ rc /buscador_ofertas ? c a t e g o r i a = ' ,$ ca t ego r i a , '&amp ; subca t ego r i a = ' ,$ subcategor ia , '&amp ;p rov inc i a = ' ,$ prov inc ia , '&amp ; pag= ' ,$pag , '&amp ; pa labrasClave = ' ,$ palabrasClave , ' ) ' ) "/>

69 <xs l : v a l u e−o f s e l e c t="$comun"/>70 </ x s l : a t t r i b u t e>71

72 </action>73 </menuitem>74

75 <xs l :app ly− t emplate s s e l e c t=" o f e r t a s / o f e r t a "/>76

77 <menuitem s t r="−−−−Rea l i z a r nueva búsqueda−−−−" >78 <action key="OK">79 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>80 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>81 <x s l : v a r i a b l e name=" ca t e go r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / ca t e go r i a "/>82 <x s l : v a r i a b l e name=" subca t ego r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / subca t ego r i a "/>

83 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / prov inc i a "/>

84 <x s l : v a r i a b l e name="palabrasClave " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / pa labrasClave"/>

85 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /pag"/>

86

87 <x s l : a t t r i b u t e name=" act ">88 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( '

hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :' , $ servPort , ' / i t v /apps /16003/800/ rc /buscador_ofertas_formular io ? c a t e go r i a=&amp; p rov inc i a=&amp ; pa labrasClave=) ' ) "/>

89 <xs l : v a l u e−o f s e l e c t="$comun"/>90 </ x s l : a t t r i b u t e>91

92 <x s l : a t t r i b u t e name="actback ">93 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( '

hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :' , $ servPort , ' / i t v /apps /16003/800/ rc /buscador_ofertas ? c a t e g o r i a = ' ,$ ca t ego r i a , '&

B.3. Directorio de gestión del canal de retorno 183

amp ; subca t ego r i a = ' ,$ subcategor ia , '&amp ;p rov inc i a = ' ,$ prov inc ia , '&amp ; pag= ' ,$pag , '&amp ; pa labrasClave = ' ,$ palabrasClave , ' ) ' ) "/>

94 <xs l : v a l u e−o f s e l e c t="$comun"/>95 </ x s l : a t t r i b u t e>96

97 </action>98 </menuitem>99

100 </menu>101 </xs l :when>102 <x s l : o t h e rw i s e>103 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="510" s i z e y

="90" s c r o l l="0">No se ha encontrado ninguna o f e r t a deempleo con l o s parámetros de búsqueda s e l e c c i o nado s .

Pulse "OK" para r e a l i z a r una nueva búsqueda .</text>104 <menu type=" v e r t i c a l " posx="0" posy="115" s i z e x="510"

s i z e y="27" itemx="510" itemy="27" sepx="0" sepy="0"s t y l e="s_menuverCursos">

105 <menuitem s t r="−−−−Rea l i z a r nueva búsqueda−−−−" >106 <action key="OK">107 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>108 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>109 <x s l : v a r i a b l e name=" ca t e go r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / ca t e go r i a "/>110 <x s l : v a r i a b l e name=" subca t ego r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / subca t ego r i a "/>

111 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / prov inc i a "/>

112 <x s l : v a r i a b l e name="palabrasClave " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / pa labrasClave"/>

113 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /pag"/>

114

115 <x s l : a t t r i b u t e name=" act ">116 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( '

hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :' , $ servPort , ' / i t v /apps /16003/800/ rc /buscador_ofertas_formular io ? c a t e go r i a=&amp; p rov inc i a=&amp ; pa labrasClave=) ' ) "/>

117 <xs l : v a l u e−o f s e l e c t="$comun"/>118 </ x s l : a t t r i b u t e>119

120 <x s l : a t t r i b u t e name="actback ">121 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( '

hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :' , $ servPort , ' / i t v /apps /16003/800/ rc /buscador_ofertas ? c a t e g o r i a = ' ,$ ca t ego r i a , '&amp ; subca t ego r i a = ' ,$ subcategor ia , '&amp ;p rov inc i a = ' ,$ prov inc ia , '&amp ; pag= ' ,$pag , '&amp ; pa labrasClave = ' ,$ palabrasClave , ' ) ' ) "/>

122 <xs l : v a l u e−o f s e l e c t="$comun"/>123 </ x s l : a t t r i b u t e>124

125 </action>126 </menuitem>127 </menu>128 </ x s l : o t h e rw i s e>129 </ x s l : c h o o s e>130 </container>

184 Apéndice B. Ficheros desarrollados para la aplicación

131 </page>132 </ xs l : t emp l a t e>133

134 <xs l : t emp l a t e match="paginas /pagina ">135 <menuitem img=" images /bot_matrix_off . png" imgfocus=" images /

bot_matrix_on . png">136 <x s l : a t t r i b u t e name=" s t r "><xs l : v a l u e−o f s e l e c t="@numero"/></

x s l : a t t r i b u t e>137 <x s l : i f t e s t="@actual= '0 ' ">138 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' ) / r eque s t /

server−name"/>139 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r ' ) /

r eque s t / server−port "/>140 <x s l : v a r i a b l e name=" ca t e go r i a " s e l e c t="doc ( ' input :dat− ins tance ' )

/ submiss ion / c a t e g o r i a "/>141 <x s l : v a r i a b l e name=" subca t ego r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / subca t ego r i a "/>142 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( ' input :dat− ins tance ' )

/ submiss ion / p rov inc i a "/>143 <x s l : v a r i a b l e name="palabrasClave " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / pa labrasClave "/>144 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps /16003/800/ rc /buscador_ofertas ? c a t e g o r i a = ' ,$ ca t ego r i a , '&amp ; subca t ego r i a= ' ,$ subcategor ia , '&amp ; p rov inc i a = ' ,$ prov inc ia , '&amp ; pag= ' ,@numero , '&amp ; pa labrasClave = ' ,$ palabrasClave , ' ) ' ) "/>

145 <x s l : a t t r i b u t e name="onover ">146 <xs l : v a l u e−o f s e l e c t="$comun"/>147 </ x s l : a t t r i b u t e>148 </ x s l : i f>149 </menuitem>150 </ xs l : t emp l a t e>151

152 <xs l : t emp l a t e match=" o f e r t a s / o f e r t a ">153 <menuitem>154 <x s l : a t t r i b u t e name=" s t r ">155 <xs l : v a l u e−o f s e l e c t=" concat ( fecha , ' : ' , nombre , ' ( ' , empresa , ' ,

' , ub icac ion , ' ) ' ) "/>156 </ x s l : a t t r i b u t e>157

158 <action key="OK">159 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' ) / r eque s t /

server−name"/>160 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r ' ) /

r eque s t / server−port "/>161 <x s l : v a r i a b l e name=" ca t e go r i a " s e l e c t="doc ( ' input :dat− ins tance ' )

/ submiss ion / c a t e g o r i a "/>162 <x s l : v a r i a b l e name=" subca t ego r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / subca t ego r i a "/>163 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( ' input :dat− ins tance ' )

/ submiss ion / p rov inc i a "/>164 <x s l : v a r i a b l e name="palabrasClave " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / pa labrasClave "/>165 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion /pag"/>166

167 <x s l : a t t r i b u t e name=" act ">168 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage (∗ ) ,

showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / buscador_ofe r tas_deta l l e ? c a t e go r i a = ' ,$ca t ego r i a , '&amp ; subca t ego r i a = ' ,$ subcategor ia , '&amp ;p rov inc i a = ' ,$ prov inc ia , '&amp ; pag= ' ,$pag , '&amp ;pa labrasClave = ' ,$ palabrasClave , '&amp ; idOfe r ta = ' , idOferta, '&amp ; idEmpresa= ' , idEmpresa , ' ) ' ) "/>

B.3. Directorio de gestión del canal de retorno 185

169 <xs l : v a l u e−o f s e l e c t="$comun"/>170 </ x s l : a t t r i b u t e>171 <x s l : a t t r i b u t e name="actback ">172 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage (∗ ) ,

showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / buscador_ofertas ? c a t e go r i a = ' ,$ ca t ego r i a , '&amp ; subca t ego r i a = ' ,$ subcategor ia , '&amp ; p rov inc i a = ' ,$prov inc ia , '&amp ; pag= ' ,$pag , '&amp ; pa labrasClave = ' ,$palabrasClave , ' ) ' ) "/>

173 <xs l : v a l u e−o f s e l e c t="$comun"/>174 </ x s l : a t t r i b u t e>175 </action>176

177 </menuitem>178 </ xs l : t emp l a t e>179

180 </ x s l : s t y l e s h e e t>

buscador_ofertas_detalle.xpl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <p : c on f i g xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns:tmg=" ht tp :

//www. tmira . com/ops/ p r o c e s s o r s " xmlns:p=" ht tp : //www. orbeon . com/ oxf /p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">

3

4 <p:param type=" input " name=" in s tance "/>5

6 <p :p r o c e s s o r name=" ox f : r e q u e s t ">7 <p: input name=" con f i g ">8 <config stream−type="xs:anyURI" xmlns :xs=" ht tp : //www.w3 . org /2001/

XMLSchema">9 <inc lude>/ reques t / se rve r−name</ inc lude>

10 <inc lude>/ reques t / se rve r−port</ inc lude>11 </config>12 </p: input>13 <p:output name="data" id=" s e r v e r "/>14 </ p :p r o c e s s o r>15

16 <!−− Procesador para generar e l config ne c e s a r i o para e l método HTTP (datos de l a o f e r t a ) −−>

17 <p :p r o c e s s o r name=" o x f : x s l t ">18 <p: input name="data" h r e f="#in s tance "/>19 <p: input name=" con f i g ">20 <x s l : s t y l e s h e e t version=" 2 .0 ">21 <xs l : t emp l a t e match="/">22 <config>23 <method>url−http</method>24 <action>25 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www. o f i c i naemp l eo .

com ' , / submiss ion / idOferta , '= ' ) "/>26 </action>27 <cookies>yes</cookies>28 <timeout>40</timeout>29 <content−type>text /html</content−type>30 <encoding>utf−8</encoding>31 </config>32 </ xs l : t emp l a t e>33 </ x s l : s t y l e s h e e t>34 </p: input>35 <p:output name="data" id="metodo_http"/>36 </ p :p r o c e s s o r>

186 Apéndice B. Ficheros desarrollados para la aplicación

37

38 <!−− Primer método GET (HTTP) −−>39 <p :p r o c e s s o r name="tmg:tm−http ">40 <p: input name=" con f i g " h r e f="#metodo_http"/>41 <p:output name="data" id="page"/>42 </ p :p r o c e s s o r>43

44 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTML r e c i b i d o (datos de l a o f e r t a ) −−>

45 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">46 <p: input name=" con f i g ">47 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

x s l : v e r s i o n=" 2 .0 ">48

49 <t i t u l o>50 <x s l : f o r −each s e l e c t="// form [@method='post ' and @action

= ' ' ]/ t ab l e / t r / td/ tab l e / t r [ 1 ] / td [ 1 ] / t ab l e [ 1 ] / t r [ 2 ] / td[ 1 ] / t ab l e [ 2 ] / t r [ 1 ] / td [ 1 ] / t ab l e / t r [ 1 ] / td [ 1 ] / t ab l e / t r / td">

51 <x s l : v a r i a b l e name=" texto " s e l e c t=" . "/>52 <xs l : v a l u e−o f s e l e c t="normal ize−space ($ texto ) "/>53 </ x s l : f o r −each>54 </ t i t u l o>55

56 <tex to s>57 <x s l : f o r −each s e l e c t="// form [@method='post ' and @action

= ' ' ]/ t ab l e / t r / td/ tab l e / t r [ 1 ] / td [ 1 ] / t ab l e [ 1 ] / t r [ 2 ] / td[ 1 ] / t ab l e [ 2 ] / t r [ 1 ] / td [ 1 ] / t ab l e / t r [ 2 ] ">

58 <texto>59 <x s l : t e x t>∗∗∗</ x s l : t e x t>60 <xs l : v a l u e−o f s e l e c t=" . / td/ tab l e / t r / td/ st rong "/>61 <x s l : t e x t>

</ x s l : t e x t>62 <xs l : v a l u e−o f s e l e c t=" . / td/ tab l e / t r / td/p [ 1 ] / span"/>63 <x s l : t e x t>

</ x s l : t e x t>64 <x s l : t e x t>∗∗∗</ x s l : t e x t>65 <xs l : v a l u e−o f s e l e c t=" . / td/ tab l e / t r / td/p [ 2 ] / s t rong

[ 1 ] "/>66 <x s l : t e x t>

</ x s l : t e x t>67 <x s l : f o r −each s e l e c t=" . / td/ tab l e / t r / td/p [ 2 ] / t ex t ( ) ">68 <x s l : v a r i a b l e name=" texto " s e l e c t=" . "/>69 <x s l : i f t e s t=" po s i t i o n ( )=2">70 <xs l : v a l u e−o f s e l e c t="normal ize−space ($ texto ) "

/>71 <x s l : t e x t>

</ x s l : t e x t>72 </ x s l : i f>73 </ x s l : f o r −each>74 <x s l : t e x t>∗∗∗</ x s l : t e x t>75 <xs l : v a l u e−o f s e l e c t=" . / td/ tab l e / t r / td/p [ 2 ] / s t rong

[ 2 ] "/>76 <x s l : t e x t>

</ x s l : t e x t>77 <x s l : f o r −each s e l e c t=" . / td/ tab l e / t r / td/p [ 2 ] / t ex t ( ) ">78 <x s l : v a r i a b l e name=" texto " s e l e c t=" . "/>79 <x s l : i f t e s t=" po s i t i o n ( )=4">

B.3. Directorio de gestión del canal de retorno 187

80 <xs l : v a l u e−o f s e l e c t="normal ize−space ($ texto ) "/>

81 <x s l : t e x t>

</ x s l : t e x t>82 </ x s l : i f>83 </ x s l : f o r −each>84 </ texto>85 </ x s l : f o r −each>86

87 <x s l : f o r −each s e l e c t="// form [@method='post ' and @action= ' ' ]/ t ab l e / t r / td/ tab l e / t r [ 1 ] / td [ 1 ] / t ab l e [ 1 ] / t r [ 2 ] / td[ 1 ] / t ab l e [ 2 ] / t r [ 1 ] / td [ 1 ] / t ab l e / t r [ 3 ] / td/p">

88 <x s l : i f t e s t=" po s i t i o n ( ) &l t ; 4">89 <texto>90 <x s l : t e x t>∗∗∗</ x s l : t e x t>91 <xs l : v a l u e−o f s e l e c t=" . / s t rong "/>92 <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 <x s l : f o r −each s e l e c t=" . / text ( ) ">95 <x s l : v a r i a b l e name=" texto " s e l e c t=" . "/>96 <x s l : v a r i a b l e name="textoNorm" s e l e c t="

normal ize−space ($ texto ) "/>97 <x s l : i f t e s t="$textoNorm != ' ' ">98 <xs l : v a l u e−o f s e l e c t="$textoNorm"/>99 <x s l : t e x t>

</ x s l : t e x t>100 </ x s l : i f>101 </ x s l : f o r −each>102 </ texto>103 </ x s l : i f>104 </ x s l : f o r −each>105 </ tex to s>106 </ items>107 </p: input>108 <p: input name="data" h r e f="#page"/>109 <p:output name="data" id=" r e s u l t "/>110 </ p :p r o c e s s o r>111

112 <!−− Procesador para generar e l config ne c e s a r i o para e l método HTTP (d e t a l l e s de l a empresa ) −−>

113 <p :p r o c e s s o r name=" o x f : x s l t ">114 <p: input name="data" h r e f="#in s tance "/>115 <p: input name=" con f i g ">116 <x s l : s t y l e s h e e t version=" 2 .0 ">117 <xs l : t emp l a t e match="/">118 <config>119 <method>url−http</method>120 <action>121 <x s l : v a r i a b l e name="idEmpresa">122 <xs l : c h o o s e>123 <xsl :when t e s t=" conta in s (/ submiss ion / idEmpresa , '

AMPERSAND' ) ">124 <xs l : v a l u e−o f s e l e c t=" concat ( subst r ing−be f o r e

(/ submiss ion / idEmpresa , 'AMPERSAND' ) , '&amp; ' , subs t r ing−a f t e r (/ submiss ion / idEmpresa , 'AMPERSAND' ) ) "/>

125 </xs l :when>126 <x s l : o t h e rw i s e>

188 Apéndice B. Ficheros desarrollados para la aplicación

127 <xs l : v a l u e−o f s e l e c t="/ submiss ion / idEmpresa"/>128 </ x s l : o t h e rw i s e>129 </ x s l : c h o o s e>130 </ x s l : v a r i a b l e>131

132 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www. o f i c i naemp l eo .com ' , $ idEmpresa ) "/>

133 </action>134 <cookies>yes</cookies>135 <timeout>40</timeout>136 <content−type>text /html</content−type>137 <encoding>utf−8</encoding>138 </config>139 </ xs l : t emp l a t e>140 </ x s l : s t y l e s h e e t>141 </p: input>142 <p:output name="data" id="metodo_http2"/>143 </ p :p r o c e s s o r>144

145 <!−− Segundo método GET (HTTP) −−>146 <p :p r o c e s s o r name="tmg:tm−http ">147 <p: input name=" con f i g " h r e f="#metodo_http2"/>148 <p:output name="data" id="page2"/>149 </ p :p r o c e s s o r>150

151 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTML r e c i b i d o (d e t a l l e s de l a empresa ) −−>

152 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">153 <p: input name=" con f i g ">154 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

x s l : v e r s i o n=" 2 .0 ">155 <tex to s>156 <texto>157 <x s l : t e x t>−−−−−−−−−−−−−−Datos de l a empresa

−−−−−−−−−−−−−−</ x s l : t e x t>158 <x s l : t e x t>

</ x s l : t e x t>159 </ texto>160 <x s l : f o r −each s e l e c t="// div [ 2 ] / t ab l e [ 2 ] / t r [ 1 ] / td [ 2 ] / t ab l e

[ 1 ] / t r [ 1 ] / td [ 1 ] / t ab l e [ 1 ] / t r [ 6 ] / td [ 1 ] / t ab l e [ 1 ] / t r [ 1 ] / td[ 1 ] / t ab l e [ 2 ] / t r ">

161 <x s l : i f t e s t="count ( . / / t ab l e )=0 and count ( . / / a )=0">162 <texto>163 <x s l : t e x t>∗ </ x s l : t e x t>164 <xs l : v a l u e−o f s e l e c t=" . / td [ 1 ] / span"/>165 <x s l : t e x t> </ x s l : t e x t>166 <xs l : v a l u e−o f s e l e c t=" . / td [ 2 ] "/>167 <x s l : t e x t>

</ x s l : t e x t>168 </ texto>169 </ x s l : i f>170 </ x s l : f o r −each>171 </ tex to s>172 </ items>173 </p: input>174 <p: input name="data" h r e f="#page2"/>175 <p:output name="data" id=" resultEmpresa "/>176 </ p :p r o c e s s o r>177

178 <!−− Generación de l f i c h e r o XML −−>179 <p :p r o c e s s o r name=" o x f : x s l t ">180 <p: input name=" con f i g " h r e f=" buscador_ofe r tas_deta l l e . x s l "/>

B.3. Directorio de gestión del canal de retorno 189

181 <p: input name="data" h r e f="#r e s u l t "/>182 <p: input name="empresa" h r e f="#resultEmpresa "/>183 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>184 <p: input name=" s e r v e r " h r e f="#se rv e r "/>185 <p:output name="data" id=" l i s t "/>186 </ p :p r o c e s s o r>187

188 <!−− S e r i a l i z a c i ó n de l f i c h e r o XML −−>189 <p :p r o c e s s o r name="oxf :xml−s e r i a l i z e r ">190 <p: input name=" con f i g ">191 <config>192 <content−type>app l i c a t i on /xml</content−type>193 <encoding>utf−8</encoding>194 <version>1.0</version>195 </config>196 </p: input>197 <p: input name="data" h r e f="#l i s t "/>198 </ p :p r o c e s s o r>199

200 </ p : c o n f i g>

buscador_ofertas_detalle.xsl

1 <?xml version=" 1 .0 " encoding="utf−8"?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

xmlns :xa lan=" ht tp : //xml . apache . org / x s l t " version=" 1 .0 ">3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <xs l : t emp l a t e match=" items ">7 <page>8 <help>c_help</help>9

10 <!−− Contenedor de l í n d i c e l a t e r a l −−>11 <container id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy=

"214" s i z e x="118" s i z e y="168">12 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_anuncios_on . png" posy="28" posx="0"

s i z e x="118" s i z e y="28"></image>14 <image path=" images / ind_empresas_off . png" posy="56" posx="0"

s i z e x="118" s i z e y="28"></image>15 <image path=" images / ind_formacion_off . png" posy="84" posx="0"

s i z e x="118" s i z e y="28"></image>16 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0"

s i z e x="118" s i z e y="28"></image>17 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="

118" s i z e y="28"></image>18 </container>19

20 <!−− Contenedor de l t í t u l o −−>21 <container id=" c_texto_ti tu lo " v i s="1" alpha="0" posx="30" posy="

214" s i z e x="520" s i z e y="260">22 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25"

s c r o l l="0"><xs l : v a l u e−o f s e l e c t=" t i t u l o "/></text>23 </container>24

25 <!−− Contenedor de l t exto de in formac ión −−>26 <container id="c_textoGral " v i s="1" alpha="0" posx="30" posy="234"

s i z e x="520" s i z e y="260">

190 Apéndice B. Ficheros desarrollados para la aplicación

27 <text s t y l e=" s_bodyDetal le " posx="0" posy="0" s i z e x="520" s i z e y="240" s c r o l l="1">

28 <xs l : f o r− ea ch s e l e c t=" tex to s / texto ">29 <xs l : v a l u e−o f s e l e c t=" text ( ) "/>30 </ xs l : f o r− ea ch>31 <xs l : f o r− ea ch s e l e c t="doc ( ' input:empresa ' ) / items / t ex to s / texto

">32 <xs l : v a l u e−o f s e l e c t=" text ( ) "/>33 </ xs l : f o r− ea ch>34 </text>35 </container>36

37 <!−− Contenedor de l menú −−>38 <container id="c_menu" v i s="1" alpha="0" posx="145" posy="490"

s i z e x="290" s i z e y="45">39 <menu type=" ho r i z on t a l " posx="0" posy="0" s i z e x="290" s i z e y="45"

itemx="130" itemy="45" sepx="30" sepy="0" s t y l e="s_menuhor">

40 <menuitem s t r="Volver " >41 <action key="OK">42 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )

/ r eque s t /server−name"/>43 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r

' ) / r eque s t / server−port "/>44 <x s l : v a r i a b l e name=" ca t e go r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / ca t e go r i a "/>45 <x s l : v a r i a b l e name=" subca t ego r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / subca t ego r i a "/>46 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>47 <x s l : v a r i a b l e name="palabrasClave " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / pa labrasClave "/>48 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /pag"/>49 <x s l : v a r i a b l e name=" idOfe r ta " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / idOfe r ta "/>50 <x s l : v a r i a b l e name="idEmpresa" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / idEmpresa"/>51

52 <x s l : a t t r i b u t e name=" act ">53 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc / buscador_ofertas ? c a t e go r i a= ' ,$ ca t ego r i a , '&amp ; subca t ego r i a = ' ,$ subcategor ia, '&amp ; p rov inc i a = ' ,$ prov inc ia , '&amp ; pag= ' ,$pag, '&amp ; pa labrasClave = ' ,$ palabrasClave , ' ) ' ) "/>

54 <xs l : v a l u e−o f s e l e c t="$comun"/>55 </ x s l : a t t r i b u t e>56

57 <x s l : a t t r i b u t e name="actback ">58 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc / buscador_ofe r tas_deta l l e ?c a t e g o r i a = ' ,$ ca t ego r i a , '&amp ; subca t ego r i a = ' ,$subcategor ia , '&amp ; p rov inc i a = ' ,$ prov inc ia , '&amp ;pag= ' ,$pag , '&amp ; pa labrasClave = ' ,$ palabrasClave, '&amp ; idOfe r ta = ' ,$ idOferta , '&amp ; idEmpresa= ' ,$idEmpresa , ' ) ' ) "/>

59 <xs l : v a l u e−o f s e l e c t="$comun"/>60 </ x s l : a t t r i b u t e>61 </action>62 </menuitem>63

64 <menuitem s t r="Nueva búsqueda" >

B.3. Directorio de gestión del canal de retorno 191

65 <action key="OK">66 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )

/ r eque s t /server−name"/>67 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r

' ) / r eque s t / server−port "/>68 <x s l : v a r i a b l e name=" ca t e go r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / ca t e go r i a "/>69 <x s l : v a r i a b l e name=" subca t ego r i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / subca t ego r i a "/>70 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>71 <x s l : v a r i a b l e name="palabrasClave " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / pa labrasClave "/>72 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /pag"/>73 <x s l : v a r i a b l e name=" idOfe r ta " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / idOfe r ta "/>74 <x s l : v a r i a b l e name="idEmpresa" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / idEmpresa"/>75

76 <x s l : a t t r i b u t e name=" act ">77 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc /buscador_ofertas_formular io ? c a t e go r i a=&amp ;p rov inc i a=&amp ; pa labrasClave=) ' ) "/>

78 <xs l : v a l u e−o f s e l e c t="$comun"/>79 </ x s l : a t t r i b u t e>80

81 <x s l : a t t r i b u t e name="actback ">82 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc / buscador_ofe r tas_deta l l e ?c a t e g o r i a = ' ,$ ca t ego r i a , '&amp ; subca t ego r i a = ' ,$subcategor ia , '&amp ; p rov inc i a = ' ,$ prov inc ia , '&amp ;pag= ' ,$pag , '&amp ; pa labrasClave = ' ,$ palabrasClave, '&amp ; idOfe r ta = ' ,$ idOferta , '&amp ; idEmpresa= ' ,$idEmpresa , ' ) ' ) "/>

83 <xs l : v a l u e−o f s e l e c t="$comun"/>84 </ x s l : a t t r i b u t e>85 </action>86 </menuitem>87

88 </menu>89 </container>90 </page>91 </ xs l : t emp l a t e>92

93 </ x s l : s t y l e s h e e t>

ofertas_empleo_publico_datos.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2

3 <datos>4

5 <prov i n c i a s>6 <opt ion value="−1" nombreBusq="Todas" nombreUrl="Todas"></ opt ion>7 <opt ion value="Nac" nombreBusq="Nacional###Nacional " nombreUrl="

Nacional %23%23%23Nacional "></ opt ion>

192 Apéndice B. Ficheros desarrollados para la aplicación

8 <opt ion value="Pro" nombreBusq=" Prov i n c i a l###Todos" nombreUrl="Prov i n c i a l %23%23%23Todos"></ opt ion>

9 <opt ion value="Alm" nombreBusq=" Prov in c i a l###Almer&#xc3;&#xad ; a"nombreUrl=" Prov in c i a l %23%23%23Almer %C3%ADa"></ opt ion>

10 <opt ion value="Cad" nombreBusq=" Prov i n c i a l###C&#xc3;&#xa1 ; d i z "nombreUrl=" Prov in c i a l %23%23%23C%C3%A1diz"></ opt ion>

11 <opt ion value="Cor" nombreBusq=" Prov i n c i a l###C&#xc3;&#xb3 ; rdoba"nombreUrl=" Prov in c i a l %23%23%23C%C3%B3rdoba"></ opt ion>

12 <opt ion value="Gra" nombreBusq=" Prov i n c i a l###Granada" nombreUrl="Prov i n c i a l %23%23%23Granada"></ opt ion>

13 <opt ion value="Hue" nombreBusq=" Prov in c i a l###Huelva" nombreUrl="Prov i n c i a l %23%23%23Huelva"></ opt ion>

14 <opt ion value="Jae" nombreBusq=" Prov i n c i a l###Ja&#xc3;&#xa9 ; n"nombreUrl=" Prov in c i a l %23%23%23Ja %C3%A9n"></ opt ion>

15 <opt ion value="Mal" nombreBusq=" Prov in c i a l###M&#xc3;&#xa1 ; laga "nombreUrl=" Prov in c i a l %23%23%23M%C3%A1laga"></ opt ion>

16 <opt ion value="Sev" nombreBusq=" Prov in c i a l###S e v i l l a " nombreUrl="Prov i n c i a l %23%23%23S e v i l l a "></ opt ion>

17 </ prov i n c i a s>18

19 <t i t u l a c i o n e s>20 <opt ion value="−1" nombreBusq="Todas" nombreUrl="Todas"></ opt ion>21 <opt ion value="Bach" nombreBusq=" Ba ch i l l e r / FP I I " nombreUrl="

Ba ch i l l e r+%2F+FP+I I "></ opt ion>22 <opt ion value="Cert " nombreBusq=" Ce r t i f i c a d o de e s c o l a r i d ad " nombreUrl

=" Ce r t i f i c ad o+de+e s c o l a r i d ad "></ opt ion>23 <opt ion value="Dipl " nombreBusq="Diplomatura / Ing en i e r&#xc3;&#xad ; a t

&#xc3;&#xa9 ; cn i ca " nombreUrl="Diplomatura+%2F+Ingen i e r %C3%ADa+t %C3%A9cnica"></ opt ion>

24 <opt ion value="Doct" nombreBusq="Doctor" nombreUrl="Doctor"></ opt ion>25 <opt ion value="ESO" nombreBusq="ESO" nombreUrl="ESO"></ opt ion>26 <opt ion value="Grad" nombreBusq="Graduado e s c o l a r / FP I " nombreUrl="

Graduado+e s c o l a r+%2F+FP+I "></ opt ion>27 <opt ion value="Lice " nombreBusq=" L i c enc i a tu ra / Ing en i e r&#xc3;&#xad ; a"

nombreUrl=" L i c enc i a tu ra+%2F+Ingen i e r %C3%ADa"></opt ion>28 <opt ion value="NS" nombreBusq="N/S" nombreUrl="N%2FS"></ opt ion>29 <opt ion value="Secu" nombreBusq="Secundar ia " nombreUrl="Secundar ia "></

opt ion>30 <opt ion value="Sin " nombreBusq="Sin t i t u l a c i&#xc3;&#xb3 ; n" nombreUrl="

Sin+t i t u l a c i %C3%B3n"></ opt ion>31 </ t i t u l a c i o n e s>32

33 <t ipo s>34 <opt ion value="−1" nombreBusq="Todas" nombreUrl="Todas"></ opt ion>35 <opt ion value="Conc" nombreBusq="Concurso−op o s i c i&#xc3;&#xb3 ; n"

nombreUrl="Concurso−op o s i c i %C3%B3n"></ opt ion>36 <opt ion value="Opos" nombreBusq="Opos ic i&#xc3;&#xb3 ; n" nombreUrl="

Opos ic i %C3%B3n"></ opt ion>37 <opt ion value="Libr " nombreBusq="Opos ic i&#xc3;&#xb3 ; n l i b r e " nombreUrl

="Opos ic i %C3%B3n+l i b r e "></ opt ion>38 </ t i p o s>39

40 </datos>

ofertas_empleo_publico.xpl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <p : c on f i g xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns:tmg=" ht tp :

//www. tmira . com/ops/ p r o c e s s o r s " xmlns:p=" ht tp : //www. orbeon . com/ oxf /p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">

3

B.3. Directorio de gestión del canal de retorno 193

4 <p:param type=" input " name=" in s tance "/>5

6 <p :p r o c e s s o r name=" ox f : r e q u e s t ">7 <p: input name=" con f i g ">8 <config stream−type="xs:anyURI" xmlns :xs=" ht tp : //www.w3 . org /2001/

XMLSchema">9 <inc lude>/ reques t / se rve r−name</ inc lude>

10 <inc lude>/ reques t / se rve r−port</ inc lude>11 </config>12 </p: input>13 <p:output name="data" id=" s e r v e r "/>14 </ p :p r o c e s s o r>15

16 <p :p r o c e s s o r name=" o x f : i d e n t i t y ">17 <p: input name="data" h r e f="ofertas_empleo_publico_datos . xml"/>18 <p:output name="data" id="ofertas_empleo_publico_datos "/>19 </ p :p r o c e s s o r>20

21 <p:choose h r e f="#in s tance ">22

23 <!−− Si es l a primera vez que se accede −−>24 <p:when t e s t="/ submiss ion /primeraVez='S ' ">25

26 <!−− Procesador para generar e l config ne c e s a r i o para e l métodoHTTP que obtendrá l a cookie de s e s i ó n −−>

27 <p :p r o c e s s o r name=" o x f : x s l t ">28 <p: input name="data" h r e f="#in s tance "/>29 <p: input name=" con f i g ">30 <x s l : s t y l e s h e e t version=" 2 .0 ">31 <xs l : t emp l a t e match="/">32 <config>33 <method>se s s i o n</method>34 <action>ht tp : //www. juntadeanda luc ia . e s /

se rv i c i oanda luzdeempleo /web/websae/ po r t a l / es /empleo/ ofertasEmpleo / o f e r t a sPub l i c a s /? t i c k e t=nocas</action>

35 <timeout>40</timeout>36 </config>37 </ xs l : t emp l a t e>38 </ x s l : s t y l e s h e e t>39 </p: input>40 <p:output name="data" id="metodo_http_session"/>41 </ p :p r o c e s s o r>42

43 <!−− Método GET para obtener l a cookie de s e s i ó n −−>44 <p :p r o c e s s o r name="tmg:tm−http ">45 <p: input name=" con f i g " h r e f="#metodo_http_session"/>46 <p:output name="data" id=" cook i e "/>47 </ p :p r o c e s s o r>48

49 <!−− Procesador para generar e l config ne c e s a r i o para e l métodoHTTP que recuperará l a página con l o s r e s u l t ado s de l a búsqueda−−>

50 <p :p r o c e s s o r name=" o x f : x s l t ">51 <p: input name="data" h r e f="#in s tance "/>52 <p: input name=" con f i g ">53 <x s l : s t y l e s h e e t version=" 2 .0 ">54 <xs l : t emp l a t e match="/">55 <config>56 <method>post</method>57 <action>ht tp : //www. juntadeanda luc ia . e s /

se rv i c i oanda luzdeempleo /web/websae/ po r t a l / es /empleo/ ofertasEmpleo / o f e r t a sPub l i c a s /l i s t ado_opo s i c i on e s . html</action>

194 Apéndice B. Ficheros desarrollados para la aplicación

58 <cookies>yes</cookies>59 <cookie>60 <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=" subst r ing

−be f o r e ( doc ( ' i nput : cook i e ' ) / s e s s i o n /j s e s s i o n i d , ' ; ' ) "/>

61 <xs l : v a l u e−o f s e l e c t=" concat ( ' JSESSIONID= ' ,$j s e s s i o n i d ) "/>

62 </cookie>63 <parameters>64 <parameter name=" opDescr ipc ion " value=""/>65 <parameter name="opSubambito">66 <x s l : a t t r i b u t e name="value ">67 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="/

submiss ion / prov inc i a "/>68 <xs l : v a l u e−o f s e l e c t="doc ( ' input :datos ' ) /

datos / p r ov i n c i a s / opt ion [ @value=$prov inc i a ] /@nombreBusq"/>

69 </ x s l : a t t r i b u t e>70 </parameter>71 <parameter name=" opTi tu l a c i one s ">72 <x s l : a t t r i b u t e name="value ">73 <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="/

submiss ion / t i t u l a c i o n "/>74 <xs l : v a l u e−o f s e l e c t="doc ( ' input :datos ' ) /

datos / t i t u l a c i o n e s / opt ion [ @value=$t i t u l a c i o n ] /@nombreBusq"/>

75 </ x s l : a t t r i b u t e>76 </parameter>77 <parameter name="opTipo">78 <x s l : a t t r i b u t e name="value ">79 <x s l : v a r i a b l e name=" t ipo " s e l e c t="/

submiss ion / t ipoOpos i c i on "/>80 <xs l : v a l u e−o f s e l e c t="doc ( ' input :datos ' ) /

datos / t i p o s / opt ion [ @value=$t ipo ] /@nombreBusq"/>

81 </ x s l : a t t r i b u t e>82 </parameter>83 </parameters>84 <timeout>40</timeout>85 </config>86 </ xs l : t emp l a t e>87 </ x s l : s t y l e s h e e t>88 </p: input>89 <p: input name=" cook i e " h r e f="#cook i e "/>90 <p: input name="datos " h r e f="#ofertas_empleo_publico_datos "/>91 <p:output name="data" id="metodo_post"/>92 </ p :p r o c e s s o r>93

94 <!−− Método POST para obtener e l f i c h e r o HTML −−>95 <p :p r o c e s s o r name="tmg:tm−http ">96 <p: input name=" con f i g " h r e f="#metodo_post"/>97 <p:output name="data" id="web"/>98 </ p :p r o c e s s o r>99

100 <!−− Procesador para agregar a l o s datos de s a l i d a l a in formac iónde l a cookie ( j s e s s i o n i d ) −−>

101 <p :p r o c e s s o r name=" o x f : x s l t ">102 <p: input name=" con f i g ">103 <x s l : s t y l e s h e e t version=" 2 .0 ">104 <xs l : t emp l a t e match="@∗ | node ( ) ">105 <xs l : c opy>106 <xs l : app ly−templates s e l e c t="@∗ | node ( ) "/>107 </ xs l : c opy>108 </ xs l : t emp l a t e>

B.3. Directorio de gestión del canal de retorno 195

109

110 <xs l : t emp l a t e match="head">111 <j s e s s i o n i d>112 <xs l : v a l u e−o f s e l e c t=" subst r ing−be f o r e ( doc ( '

i nput : cook i e ' ) / s e s s i o n / j s e s s i o n i d , ' ; ' ) "/>113 </ j s e s s i o n i d>114 </ xs l : t emp l a t e>115 </ x s l : s t y l e s h e e t>116 </p: input>117 <p: input name="data" h r e f="#web"/>118 <p: input name=" cook i e " h r e f="#cook i e "/>119 <p:output name="data" id="page"/>120 </ p :p r o c e s s o r>121

122 </p:when>123

124 <!−− Si no es l a primera vez que se accede ( se ha hecho pag inac ión ) −−>

125 <p:o the rw i s e>126

127 <!−− Procesador para generar e l config ne c e s a r i o para e l métodoHTTP que recuperará l a página con l o s r e s u l t ado s de l a búsqueda−−>

128 <p :p r o c e s s o r name=" o x f : x s l t ">129 <p: input name=" con f i g ">130 <x s l : s t y l e s h e e t version=" 2 .0 ">131 <xs l : t emp l a t e match="/">132 <config>133 <method>get</method>134 <action>135 <x s l : v a r i a b l e name=" ur lba s e " s e l e c t=" ' h t tp : //www.

juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo /web/websae/ po r t a l / es /empleo/ ofertasEmpleo /o f e r t a sPub l i c a s / l i s t ado_opo s i c i on e s . html ? ' "/>

136 <x s l : v a r i a b l e name=" t ipo " s e l e c t="/ submiss ion /t ipoOpos i c i on "/>

137 <x s l : v a r i a b l e name=" t ipo2 " s e l e c t="doc ( 'input :datos ' ) / datos / t i p o s / opt ion [ @value=$t ipo] / @nombreUrl"/>

138 <x s l : v a r i a b l e name="opTipo" s e l e c t=" concat ( 'opTipo= ' ,$ t ipo2 , '&amp ; ' ) "/>

139 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="/submiss ion / prov inc i a "/>

140 <x s l : v a r i a b l e name="prov2" s e l e c t="doc ( 'input :datos ' ) / datos / p r ov i n c i a s / opt ion [ @value=$prov inc i a ] / @nombreUrl"/>

141 <x s l : v a r i a b l e name="opSubambito" s e l e c t=" concat ( 'opSubambito= ' ,$ prov2 , '&amp ; ' ) "/>

142 <x s l : v a r i a b l e name=" u r l " s e l e c t=" concat ( ' d− ' ,/submiss ion / ur l , '−p= ' ,/ submiss ion /pag , '&amp ; ' )"/>

143 <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="/submiss ion / t i t u l a c i o n "/>

144 <x s l : v a r i a b l e name=" t i t u 2 " s e l e c t="doc ( 'input :datos ' ) / datos / t i t u l a c i o n e s / opt ion [@value=$t i t u l a c i o n ] / @nombreUrl"/>

145 <x s l : v a r i a b l e name=" opTi tu l a c i one s " s e l e c t="concat ( ' opT i tu l a c i one s = ' ,$ t i tu2 , '&amp ; ' ) "/>

146 <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=Ofer tas+de+Empleo+P%C3%BAblico&amp ;opDescr ipc ion='"/>

147 <xs l : v a l u e−o f s e l e c t=" concat ($ ur lbase , $ opTipo , $opSubambito , $ ur l , $ opTi tu lac iones , $ f i n u r l ) "/>

148 </action>

196 Apéndice B. Ficheros desarrollados para la aplicación

149 <cookies>yes</cookies>150 <cookie>151 <xs l : v a l u e−o f s e l e c t=" concat ( ' JSESSIONID= ' ,/

submiss ion / j s e s s i o n i d ) "/>152 </cookie>153 <timeout>40</timeout>154 <content−type>text /html</content−type>155 <encoding>utf−8</encoding>156 </config>157 </ xs l : t emp l a t e>158 </ x s l : s t y l e s h e e t>159 </p: input>160 <p: input name="data" h r e f="#in s tance "/>161 <p: input name="datos " h r e f="#ofertas_empleo_publico_datos "/>162 <p:output name="data" id="metodo_get"/>163 </ p :p r o c e s s o r>164

165 <!−− Método GET para obtener e l f i c h e r o HTML −−>166 <p :p r o c e s s o r name="tmg:tm−http ">167 <p: input name=" con f i g " h r e f="#metodo_get"/>168 <p:output name="data" id="page"/>169 </ p :p r o c e s s o r>170

171 </ p :o the rw i s e>172

173 </p:choose>174

175 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTML r e c i b i d o −−>176 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">177 <p: input name=" con f i g ">178 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" x s l : v e r s i o n

=" 2 .0 ">179 <x s l : i f t e s t="doc ( ' input :dat−in s tance ' ) / submiss ion /primeraVez='S

' ">180 <j s e s s i o n i d>181 <xs l : v a l u e−o f s e l e c t="// j s e s s i o n i d "/>182 </ j s e s s i o n i d>183 </ x s l : i f>184

185 <o f e r t a s>186 <x s l : f o r −each s e l e c t="// tab l e [ @id='dataTable ' ] / tbody/ t r ">187 <o f e r t a>188 <nombre><xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−space

( . / td [ 1 ] ),'&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;&#141;&#147;&#154;&#145;&#188;ÂÃ' , ' áéíóúñÁÉÍÓÚÑü ' ) "

/></nombre>189 <fecha><xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−space

( . / td [ 2 ] ),'&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;&#141;&#147;&#154;&#145;&#188;ÂÃ' , ' áéíóúñÁÉÍÓÚÑü ' ) "

/></ fecha>190 <convocante><xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−

space ( . / td [ 3 ] ),'&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;&#141;&#147;&#154;&#145;&#188;ÂÃ' , ' áéíóúñÁÉÍÓÚÑü ' ) "

/></convocante>191 <t ipo><xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−space

( . / td [ 4 ] ),'&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;&#141;&#147;&#154;&#145;&#188;ÂÃ' , ' áéíóúñÁÉÍÓÚÑü ' ) "

/></ t ipo>192 <plaza s><xs l : v a l u e−o f s e l e c t="normal ize−space ( . / td [ 5 ] ) "

/></ p laza s>

B.3. Directorio de gestión del canal de retorno 197

193 <idOfe r ta>194 <x s l : v a r i a b l e name=" idOf " s e l e c t=" subst r ing−a f t e r (

normal ize−space ( . / td [ 6 ] / a/@href ) , ' opCodigo= ')"/>195 <xs l : c h o o s e>196 <xsl :when t e s t=" conta in s ($ idOf , '&amp ; ' ) ">197 <xs l : v a l u e−o f s e l e c t=" subst r ing−be f o r e ($ idOf

, '&amp ; ' ) "/>198 </xs l :when>199 <x s l : o t h e rw i s e>200 <xs l : v a l u e−o f s e l e c t="$ idOf "/>201 </ x s l : o t h e rw i s e>202 </ x s l : c h o o s e>203 </ idOfe r ta>204 </ o f e r t a>205 </ x s l : f o r −each>206 </ o f e r t a s>207 <paginas>208 <x s l : v a r i a b l e name=" tota l_pag inas ">209 <x s l : v a r i a b l e name=" i rUlt ima " s e l e c t="// div [ @class='

paginacion ' ] / a [ l a s t ( ) ] / @href "/>210 <xs l : c h o o s e>211 <xsl :when t e s t="$ i rUl t ima != ' ' ">212 <x s l : v a r i a b l e name=" to t a l_p rov i s i ona l " s e l e c t="

subst r ing−be f o r e ( subst r ing−a f t e r ($ irUlt ima , '−p= ') , '&amp ; ' ) "/>

213 <xs l : c h o o s e>214 <xsl :when t e s t="$ t o t a l_p rov i s i ona l &l t ; doc ( '

input :dat−in s tance ' ) / submiss ion /pag">215 <xs l : v a l u e−o f s e l e c t="doc ( ' input :dat−in s tance

' ) / submiss ion /pag"/>216 </xs l :when>217 <x s l : o t h e rw i s e>218 <xs l : v a l u e−o f s e l e c t="$ t o t a l_p rov i s i ona l "/>219 </ x s l : o t h e rw i s e>220 </ x s l : c h o o s e>221 </xs l :when>222 <x s l : o t h e rw i s e>223 <x s l : t e x t>1</ x s l : t e x t>224 </ x s l : o t h e rw i s e>225 </ x s l : c h o o s e>226 </ x s l : v a r i a b l e>227

228 <pagina>229 <x s l : a t t r i b u t e name=" ac tua l ">1</ x s l : a t t r i b u t e>230 <x s l : a t t r i b u t e name="numero">231 <xs l : v a l u e−o f s e l e c t="doc ( ' input :dat−in s tance ' ) /

submiss ion /pag"/>232 </ x s l : a t t r i b u t e>233 <x s l : a t t r i b u t e name=" t o t a l "><xs l : v a l u e−o f s e l e c t="$

tota l_pag inas "/></ x s l : a t t r i b u t e>234 <x s l : a t t r i b u t e name=" u r l "/>235 </pagina>236 <x s l : f o r −each s e l e c t="// div [ @class='paginacion ' ] / a">237 <x s l : i f t e s t=" subst r ing−a f t e r ( . / @t i t l e , ' g ina ' )=text ( ) ">238 <pagina>239 <x s l : a t t r i b u t e name=" ac tua l ">0</ x s l : a t t r i b u t e>240 <x s l : a t t r i b u t e name="numero"><xs l : v a l u e−o f s e l e c t="

text ( ) "/></ x s l : a t t r i b u t e>241 <x s l : a t t r i b u t e name=" t o t a l "><xs l : v a l u e−o f s e l e c t="$

tota l_pag inas "/></ x s l : a t t r i b u t e>242 <x s l : a t t r i b u t e name=" u r l "><xs l : v a l u e−o f s e l e c t="

subst r ing−be f o r e ( subst r ing−a f t e r ( . / @href , '&amp ; d− ') , '−p= ')"/></ x s l : a t t r i b u t e>

243 </pagina>

198 Apéndice B. Ficheros desarrollados para la aplicación

244 </ x s l : i f>245 </ x s l : f o r −each>246 </paginas>247 </ items>248 </p: input>249 <p: input name="data" h r e f="#page"/>250 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>251 <p:output name="data" id=" resu l tDesordenado "/>252 </ p :p r o c e s s o r>253

254 <!−− Procesador para ordenar l a s páginas −−>255 <p :p r o c e s s o r name=" o x f : x s l t ">256 <p: input name="data" h r e f="#resu l tDesordenado "/>257 <p: input name=" con f i g ">258 <x s l : s t y l e s h e e t version=" 2 .0 ">259 <xs l : t emp l a t e match=" items ">260 <items>261 <x s l : i f t e s t="doc ( ' input :dat−in s tance ' ) / submiss ion /

primeraVez='S ' ">262 <j s e s s i o n i d>263 <xs l : v a l u e−o f s e l e c t="// j s e s s i o n i d "/>264 </ j s e s s i o n i d>265 </ x s l : i f>266 <o f e r t a s>267 <xs l : app ly−templates s e l e c t=" o f e r t a s / o f e r t a "/>268 </ o f e r t a s>269 <paginas>270 <xs l : app ly−templates s e l e c t="paginas /pagina ">271 <x s l : s o r t s e l e c t="@numero" data−type="number" order=

" ascending "/>272 </ xs l : app ly−templates>273 </paginas>274 </ items>275 </ xs l : t emp l a t e>276

277 <xs l : t emp l a t e match=" o f e r t a s / o f e r t a ">278 <o f e r t a>279 <nombre><xs l : v a l u e−o f s e l e c t="nombre"/></nombre>280 <fecha><xs l : v a l u e−o f s e l e c t=" fecha "/></ fecha>281 <convocante><xs l : v a l u e−o f s e l e c t=" convocante "/></

convocante>282 <t ipo><xs l : v a l u e−o f s e l e c t=" t ipo "/></ t ipo>283 <plaza s><xs l : v a l u e−o f s e l e c t=" p laza s "/></ p laza s>284 <idOfe r ta><xs l : v a l u e−o f s e l e c t=" idOfe r ta "/></ idOfe r ta>285 </ o f e r t a>286 </ xs l : t emp l a t e>287 <xs l : t emp l a t e match="paginas /pagina ">288 <pagina>289 <x s l : a t t r i b u t e name=" ac tua l "><xs l : v a l u e−o f s e l e c t="@actual

"/></ x s l : a t t r i b u t e>290 <x s l : a t t r i b u t e name="numero"><xs l : v a l u e−o f s e l e c t="@numero

"/></ x s l : a t t r i b u t e>291 <x s l : a t t r i b u t e name=" t o t a l "><xs l : v a l u e−o f s e l e c t="@total "/

></ x s l : a t t r i b u t e>292 <x s l : a t t r i b u t e name=" u r l "><xs l : v a l u e−o f s e l e c t="@url"/></

x s l : a t t r i b u t e>293 </pagina>294 </ xs l : t emp l a t e>295

296 </ x s l : s t y l e s h e e t>297 </p: input>298 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>299 <p:output name="data" id=" r e s u l t "/>300 </ p :p r o c e s s o r>

B.3. Directorio de gestión del canal de retorno 199

301

302 <!−− Generación de l f i c h e r o XML −−>303 <p :p r o c e s s o r name=" o x f : x s l t ">304 <p: input name=" con f i g " h r e f=" ofertas_empleo_publ ico . x s l "/>305 <p: input name="data" h r e f="#r e s u l t "/>306 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>307 <p: input name=" s e r v e r " h r e f="#se rv e r "/>308 <p:output name="data" id=" l i s t "/>309 </ p :p r o c e s s o r>310

311 <!−− S e r i a l i z a c i ó n de l f i c h e r o XML −−>312 <p :p r o c e s s o r name="oxf :xml−s e r i a l i z e r ">313 <p: input name=" con f i g ">314 <config>315 <content−type>app l i c a t i on /xml</content−type>316 <encoding>utf−8</encoding>317 <version>1.0</version>318 </config>319 </p: input>320 <p: input name="data" h r e f="#l i s t "/>321 </ p :p r o c e s s o r>322

323 </ p : c o n f i g>

ofertas_empleo_publico.xsl

1 <?xml version=" 1 .0 " encoding="utf−8"?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

xmlns :xa lan=" ht tp : //xml . apache . org / x s l t " version=" 1 .0 ">3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <xs l : t emp l a t e match=" items ">7 <page>8

9 <help>c_help</help>10

11 <!−− Contenedor de l í n d i c e l a t e r a l −−>12 <container id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy=

"214" s i z e x="118" s i z e y="168">13 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="

118" s i z e y="28"></image>14 <image path=" images / ind_anuncios_on . png" posy="28" posx="0"

s i z e x="118" s i z e y="28"></image>15 <image path=" images / ind_empresas_off . png" posy="56" posx="0"

s i z e x="118" s i z e y="28"></image>16 <image path=" images / ind_formacion_off . png" posy="84" posx="0"

s i z e x="118" s i z e y="28"></image>17 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0"

s i z e x="118" s i z e y="28"></image>18 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="

118" s i z e y="28"></image>19 </container>20

21 <!−− Contenedor de l menú ho r i z on t a l ( pag inac ión ) −−>22 <container alpha="0" id="c_menu_hor" s i z e y="35" s i z e x="530" posy="

215" posx="30" v i s="1">23 <menu type=" ho r i z on t a l " posx="10" posy="0" s i z e x="530" s i z e y="25

" itemx="36" itemy="25" sepx="5" sepy="0" s t y l e="s_menuhorCentrado">

200 Apéndice B. Ficheros desarrollados para la aplicación

24 <x s l : v a r i a b l e name=" total_pag" s e l e c t="/ items / paginas /pagina[ 1 ] / @total "/>

25 <x s l : v a r i a b l e name="primera_pag" s e l e c t="/ items / paginas /pagina [ 1 ] / @numero"/>

26 <x s l : v a r i a b l e name="ultima_pag" s e l e c t="/ items / paginas /pagina[ l a s t ( ) ] /@numero"/>

27 <x s l : v a r i a b l e name="num_pag">28 <xs l : c h o o s e>29 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion /

primeraVez='S ' ">1</xs l :when>30 <x s l : o t h e rw i s e>31 <xs l : v a l u e−o f s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion /pag"/>32 </ x s l : o t h e rw i s e>33 </ x s l : c h o o s e>34 </ x s l : v a r i a b l e>35

36 <xs l : c h o o s e>37 <xsl :when t e s t="$primera_pag= '1 '">38 <x s l : a t t r i b u t e name=" cursorx "><xs l : v a l u e−o f s e l e c t="

number ($num_pag − 1) "/></ x s l : a t t r i b u t e>39 </xs l :when>40 <x s l : o t h e rw i s e>41 <x s l : a t t r i b u t e name=" cursorx "><xs l : v a l u e−o f s e l e c t="

number ($num_pag − $primera_pag + 1) "/></x s l : a t t r i b u t e>

42 <menuitem img=" images /bot_matrix_off . png" imgfocus="images /bot_matrix_on . png" s t r="&#60;&#60;"/>

43 </ x s l : o t h e rw i s e>44 </ x s l : c h o o s e>45

46 <xs l :app ly− t emplate s s e l e c t="paginas /pagina "/>47

48 <x s l : i f t e s t="$ultima_pag != $ total_pag and $ultima_pag !='1 ' ">

49 <menuitem img=" images /bot_matrix_off . png" imgfocus=" images/bot_matrix_on . png" s t r="&#62;&#62;"/>

50 </ x s l : i f>51 </menu>52 </container>53

54 <!−− Contenedor de l menú v e r t i c a l ( l i s t a d o de o f e r t a s ) −−>55 <container id="c_menu" alpha="255" s i z e y="300" s i z e x="510" posy="

250" posx="30" v i s="1">56 <xs l : c h o o s e>57 <xsl :when t e s t="count (// o f e r t a ) !=0">58 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="510" s i z e y=

"275" itemx="510" itemy="25" sepx="0" sepy="0" s t y l e="s_menuverEmpresas">

59 <menuitem s t r="−−−−Rea l i z a r nueva búsqueda−−−−" >60 <action key="OK">61 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>62 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>63 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>64 <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="doc ( '

input :dat− ins tance ' ) / submiss ion / t i t u l a c i o n "/>65 <x s l : v a r i a b l e name=" t ipoOpos i c i on " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / t ipoOpos i c i on"/>

66 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /pag"/>

B.3. Directorio de gestión del canal de retorno 201

67 <x s l : v a r i a b l e name="primeraVez" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /primeraVez"/>

68 <x s l : v a r i a b l e name=" u r l " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / u r l "/>

69 <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="doc ( 'input :dat− ins tance ' ) / submiss ion / j s e s s i o n i d "/>

70

71 <x s l : a t t r i b u t e name=" act ">72 <x s l : v a r i a b l e name="comun" s e l e c t=" ' hidepage

(∗ ) , showpage ( ofertas_empleo_publ ico ) ' "/>73 <xs l : v a l u e−o f s e l e c t="$comun"/>74 </ x s l : a t t r i b u t e>75

76 <x s l : a t t r i b u t e name="actback ">77 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) ,

showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc /ofertas_empleo_publ ico ? p rov inc i a = ' ,$prov inc ia , '&amp ; t i t u l a c i o n = ' ,$ t i t u l a c i o n, '&amp ; t ipoOpos i c i on = ' ,$ t ipoOpos ic ion , '&amp ; pag= ' ,$pag , '&amp ; primeraVez= ' ,$primeraVez , '&amp ; u r l = ' ,$ ur l , '&amp ;j s e s s i o n i d = ' ,$ j s e s s i o n i d , ' ) ' ) "/>

78 </ x s l : a t t r i b u t e>79

80 </action>81 </menuitem>82

83 <xs l :app ly− t emplate s s e l e c t=" o f e r t a s / o f e r t a "/>84

85 <menuitem s t r="−−−−Rea l i z a r nueva búsqueda−−−−" >86 <action key="OK">87 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>88 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>89 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>90 <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="doc ( '

input :dat− ins tance ' ) / submiss ion / t i t u l a c i o n "/>91 <x s l : v a r i a b l e name=" t ipoOpos i c i on " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / t ipoOpos i c i on"/>

92 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /pag"/>

93 <x s l : v a r i a b l e name="primeraVez" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /primeraVez"/>

94 <x s l : v a r i a b l e name=" u r l " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / u r l "/>

95 <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="doc ( 'input :dat− ins tance ' ) / submiss ion / j s e s s i o n i d "/>

96

97 <x s l : a t t r i b u t e name=" act ">98 <x s l : v a r i a b l e name="comun" s e l e c t=" ' hidepage

(∗ ) , showpage ( ofertas_empleo_publ ico ) ' "/>99 <xs l : v a l u e−o f s e l e c t="$comun"/>

100 </ x s l : a t t r i b u t e>101

102 <x s l : a t t r i b u t e name="actback ">103 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) ,

showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc /ofertas_empleo_publ ico ? p rov inc i a = ' ,$prov inc ia , '&amp ; t i t u l a c i o n = ' ,$ t i t u l a c i o n

202 Apéndice B. Ficheros desarrollados para la aplicación

, '&amp ; t ipoOpos i c i on = ' ,$ t ipoOpos ic ion , '&amp ; pag= ' ,$pag , '&amp ; primeraVez= ' ,$primeraVez , '&amp ; u r l = ' ,$ ur l , '&amp ;j s e s s i o n i d = ' ,$ j s e s s i o n i d , ' ) ' ) "/>

104 </ x s l : a t t r i b u t e>105

106 </action>107 </menuitem>108

109 </menu>110 </xs l :when>111 <x s l : o t h e rw i s e>112 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="510" s i z e y

="90" s c r o l l="0">No se ha encontrado ninguna o f e r t a deempleo púb l i co con l o s parámetros de búsquedas e l e c c i onado s . Pulse "OK" para r e a l i z a r una nuevabúsqueda .</text>

113 <menu type=" v e r t i c a l " posx="0" posy="115" s i z e x="510"s i z e y="27" itemx="510" itemy="27" sepx="0" sepy="0"s t y l e="s_menuverCursos">

114 <menuitem s t r="−−−−Rea l i z a r nueva búsqueda−−−−" >115 <action key="OK">116 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>117 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>118 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>119 <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="doc ( '

input :dat− ins tance ' ) / submiss ion / t i t u l a c i o n "/>120 <x s l : v a r i a b l e name=" t ipoOpos i c i on " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / t ipoOpos i c i on"/>

121 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /pag"/>

122 <x s l : v a r i a b l e name="primeraVez" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /primeraVez"/>

123 <x s l : v a r i a b l e name=" u r l " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / u r l "/>

124 <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="doc ( 'input :dat− ins tance ' ) / submiss ion / j s e s s i o n i d "/>

125

126 <x s l : a t t r i b u t e name=" act ">127 <x s l : v a r i a b l e name="comun" s e l e c t=" ' hidepage

(∗ ) , showpage ( ofertas_empleo_publ ico ) ' "/>128 <xs l : v a l u e−o f s e l e c t="$comun"/>129 </ x s l : a t t r i b u t e>130

131 <x s l : a t t r i b u t e name="actback ">132 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) ,

showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc /ofertas_empleo_publ ico ? p rov inc i a = ' ,$prov inc ia , '&amp ; t i t u l a c i o n = ' ,$ t i t u l a c i o n, '&amp ; t ipoOpos i c i on = ' ,$ t ipoOpos ic ion , '&amp ; pag= ' ,$pag , '&amp ; primeraVez= ' ,$primeraVez , '&amp ; u r l = ' ,$ ur l , '&amp ;j s e s s i o n i d = ' ,$ j s e s s i o n i d , ' ) ' ) "/>

133 </ x s l : a t t r i b u t e>134

135 </action>136 </menuitem>137 </menu>138 </ x s l : o t h e rw i s e>

B.3. Directorio de gestión del canal de retorno 203

139 </ x s l : c h o o s e>140 </container>141 </page>142 </ xs l : t emp l a t e>143

144 <xs l : t emp l a t e match="paginas /pagina ">145 <menuitem img=" images /bot_matrix_off . png" imgfocus=" images /

bot_matrix_on . png">146 <x s l : a t t r i b u t e name=" s t r "><xs l : v a l u e−o f s e l e c t="@numero"/></

x s l : a t t r i b u t e>147 <x s l : i f t e s t="@actual= '0 ' ">148 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' ) / r eque s t /

server−name"/>149 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r ' ) /

r eque s t / server−port "/>150 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( ' input :dat− ins tance ' )

/ submiss ion / p rov inc i a "/>151 <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="doc ( ' input :dat− ins tance

' ) / submiss ion / t i t u l a c i o n "/>152 <x s l : v a r i a b l e name=" t ipoOpos i c i on " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / t ipoOpos i c i on "/>153 <x s l : v a r i a b l e name=" j s e s s i o n i d ">154 <xs l : c h o o s e>155 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion /

primeraVez='S ' ">156 <xs l : v a l u e−o f s e l e c t="// j s e s s i o n i d "/>157 </xs l :when>158 <x s l : o t h e rw i s e>159 <xs l : v a l u e−o f s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / j s e s s i o n i d "/>160 </ x s l : o t h e rw i s e>161 </ x s l : c h o o s e>162 </ x s l : v a r i a b l e>163 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps /16003/800/ rc /ofertas_empleo_publ ico ? p rov inc i a = ' ,$ prov inc ia , '&amp ;t i t u l a c i o n = ' ,$ t i t u l a c i o n , '&amp ; t ipoOpos i c i on = ' ,$t ipoOpos ic ion , '&amp ; pag= ' ,@numero , '&amp ; primeraVez=N&amp ; u r l= ' ,@url , '&amp ; j s e s s i o n i d = ' ,$ j s e s s i o n i d , ' ) ' ) "/>

164 <x s l : a t t r i b u t e name="onover ">165 <xs l : v a l u e−o f s e l e c t="$comun"/>166 </ x s l : a t t r i b u t e>167 </ x s l : i f>168 </menuitem>169 </ xs l : t emp l a t e>170

171 <xs l : t emp l a t e match=" o f e r t a s / o f e r t a ">172 <menuitem>173 <x s l : a t t r i b u t e name=" s t r ">174 <xs l : v a l u e−o f s e l e c t=" concat ( nombre , ' . F . i n s t a n c i a : ' , fecha , ' .

Convocante: ' , convocante , ' . Tipo: ' , t ipo , ' . N. p l a z a s : ' ,p l a za s ) "/>

175 </ x s l : a t t r i b u t e>176

177 <action key="OK">178 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' ) / r eque s t /

server−name"/>179 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r ' ) /

r eque s t / server−port "/>180 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( ' input :dat− ins tance ' )

/ submiss ion / p rov inc i a "/>181 <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="doc ( ' input :dat− ins tance

' ) / submiss ion / t i t u l a c i o n "/>

204 Apéndice B. Ficheros desarrollados para la aplicación

182 <x s l : v a r i a b l e name=" t ipoOpos i c i on " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / t ipoOpos i c i on "/>

183 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( ' input :dat− ins tance ' ) /submiss ion /pag"/>

184 <x s l : v a r i a b l e name="primeraVez" s e l e c t="doc ( ' input :dat− ins tance' ) / submiss ion /primeraVez"/>

185 <x s l : v a r i a b l e name=" u r l " s e l e c t="doc ( ' input :dat− ins tance ' ) /submiss ion / u r l "/>

186 <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="doc ( ' input :dat− ins tance' ) / submiss ion / j s e s s i o n i d "/>

187 <x s l : v a r i a b l e name=" idOfe r ta " s e l e c t=" idOfe r ta "/>188

189 <x s l : a t t r i b u t e name=" act ">190 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) , showpage ( h t tp : // ' ,$

servIp , ' : ' , $ servPort , ' / i t v /apps /16003/800/ rc /ofertas_empleo_publ ico_deta l l e ? p rov inc i a = ' ,$ prov inc ia , '&amp ; t i t u l a c i o n = ' ,$ t i t u l a c i o n , '&amp ; t ipoOpos i c i on = ' ,$t ipoOpos ic ion , '&amp ; pag= ' ,$pag , '&amp ; primeraVez= ' ,$primeraVez , '&amp ; u r l = ' ,$ ur l , '&amp ; j s e s s i o n i d = ' ,$j s e s s i o n i d , '&amp ; idOfe r ta = ' ,$ idOferta , ' ) ' ) "/>

191 </ x s l : a t t r i b u t e>192 <x s l : a t t r i b u t e name="actback ">193 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) , showpage ( h t tp : // ' ,$

servIp , ' : ' , $ servPort , ' / i t v /apps /16003/800/ rc /ofertas_empleo_publ ico ? p rov inc i a = ' ,$ prov inc ia , '&amp ;t i t u l a c i o n = ' ,$ t i t u l a c i o n , '&amp ; t ipoOpos i c i on = ' ,$t ipoOpos ic ion , '&amp ; pag= ' ,$pag , '&amp ; primeraVez= ' ,$primeraVez , '&amp ; u r l = ' ,$ ur l , '&amp ; j s e s s i o n i d = ' ,$j s e s s i o n i d , ' ) ' ) "/>

194 </ x s l : a t t r i b u t e>195 </action>196

197 </menuitem>198 </ xs l : t emp l a t e>199

200 </ x s l : s t y l e s h e e t>

ofertas_empleo_publico_detalle.xpl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <p : c on f i g xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns:tmg=" ht tp :

//www. tmira . com/ops/ p r o c e s s o r s " xmlns:p=" ht tp : //www. orbeon . com/ oxf /p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">

3

4 <p:param type=" input " name=" in s tance "/>5

6 <p :p r o c e s s o r name=" ox f : r e q u e s t ">7 <p: input name=" con f i g ">8 <config stream−type="xs:anyURI" xmlns :xs=" ht tp : //www.w3 . org /2001/

XMLSchema">9 <inc lude>/ reques t / se rve r−name</ inc lude>

10 <inc lude>/ reques t / se rve r−port</ inc lude>11 </config>12 </p: input>13 <p:output name="data" id=" s e r v e r "/>14 </ p :p r o c e s s o r>15

16 <!−− Procesador para generar e l config ne c e s a r i o para e l método HTTP −−>17 <p :p r o c e s s o r name=" o x f : x s l t ">18 <p: input name="data" h r e f="#in s tance "/>19 <p: input name=" con f i g ">

B.3. Directorio de gestión del canal de retorno 205

20 <x s l : s t y l e s h e e t version=" 2 .0 ">21 <xs l : t emp l a t e match="/">22 <config>23 <method>url−http</method>24 <action>25 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www.

juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo /web/websae/ po r t a l / es /empleo/ ofertasEmpleo /o f e r t a sPub l i c a s / de t a l l e_opo s i c i on . html?opCodigo= ' ,/submiss ion / idOferta , '&amp ; t i c k e t=nocas ' ) "/>

26 </action>27 <cookies>yes</cookies>28 <timeout>40</timeout>29 <content−type>text /html</content−type>30 <encoding>utf−8</encoding>31 </config>32 </ xs l : t emp l a t e>33 </ x s l : s t y l e s h e e t>34 </p: input>35 <p:output name="data" id="metodo_http"/>36 </ p :p r o c e s s o r>37

38 <!−− Método GET (HTTP) −−>39 <p :p r o c e s s o r name="tmg:tm−http ">40 <p: input name=" con f i g " h r e f="#metodo_http"/>41 <p:output name="data" id="page"/>42 </ p :p r o c e s s o r>43

44 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTML r e c i b i d o −−>45 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">46 <p: input name=" con f i g ">47 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

x s l : v e r s i o n=" 2 .0 ">48

49 <t i t u l o>50 <x s l : f o r −each s e l e c t="//h4">51 <x s l : i f t e s t=" po s i t i o n ( )=1">52 <xs l : v a l u e−o f s e l e c t="normal ize−space ( t ex t ( ) ) "/>53 </ x s l : i f>54 </ x s l : f o r −each>55 </ t i t u l o>56

57 <tab la>58 <x s l : f o r −each s e l e c t="// f i e l d s e t [ @class=' formular io ' ] / div "

>59 <l i n e a>60 <x s l : f o r −each s e l e c t=" l a b e l ">61 <elemento>62 <xs l : v a l u e−o f s e l e c t="normal ize−space ( t ex t ( ) ) "

/>63 </elemento>64 </ x s l : f o r −each>65 </ l i n e a>66 </ x s l : f o r −each>67 </ tab la>68

69 </ items>70 </p: input>71 <p: input name="data" h r e f="#page"/>72 <p:output name="data" id=" r e s u l t "/>73 </ p :p r o c e s s o r>74

75 <!−− Generación de l f i c h e r o XML −−>76 <p :p r o c e s s o r name=" o x f : x s l t ">

206 Apéndice B. Ficheros desarrollados para la aplicación

77 <p: input name=" con f i g " h r e f=" ofertas_empleo_publ ico_deta l l e . x s l "/>78 <p: input name="data" h r e f="#r e s u l t "/>79 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>80 <p: input name=" s e r v e r " h r e f="#se rv e r "/>81 <p:output name="data" id=" l i s t "/>82 </ p :p r o c e s s o r>83

84 <!−− S e r i a l i z a c i ó n de l f i c h e r o XML −−>85 <p :p r o c e s s o r name="oxf :xml−s e r i a l i z e r ">86 <p: input name=" con f i g ">87 <config>88 <content−type>app l i c a t i on /xml</content−type>89 <encoding>utf−8</encoding>90 <version>1.0</version>91 </config>92 </p: input>93 <p: input name="data" h r e f="#l i s t "/>94 </ p :p r o c e s s o r>95

96 </ p : c o n f i g>

ofertas_empleo_publico_detalle.xsl

1 <?xml version=" 1 .0 " encoding="utf−8"?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

xmlns :xa lan=" ht tp : //xml . apache . org / x s l t " version=" 1 .0 ">3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <xs l : t emp l a t e match=" items ">7 <page>8 <help>c_help</help>9

10 <!−− Contenedor de l í n d i c e l a t e r a l −−>11 <container id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy=

"214" s i z e x="118" s i z e y="168">12 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_anuncios_on . png" posy="28" posx="0"

s i z e x="118" s i z e y="28"></image>14 <image path=" images / ind_empresas_off . png" posy="56" posx="0"

s i z e x="118" s i z e y="28"></image>15 <image path=" images / ind_formacion_off . png" posy="84" posx="0"

s i z e x="118" s i z e y="28"></image>16 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0"

s i z e x="118" s i z e y="28"></image>17 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="

118" s i z e y="28"></image>18 </container>19

20 <!−− Contenedor de l t í t u l o −−>21 <container id=" c_texto_ti tu lo " v i s="1" alpha="0" posx="30" posy="

214" s i z e x="520" s i z e y="30">22 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25"

s c r o l l="0"><xs l : v a l u e−o f s e l e c t=" t i t u l o "/></text>23 </container>24

25 <!−− Contenedor de l a tab la −−>26 <container id="c_tabla " v i s="1" alpha="0" posx="30" posy="239"

s i z e x="520" s i z e y="315">

B.3. Directorio de gestión del canal de retorno 207

27 <table s t y l e 1="s_tabla_impares " s t y l e 0=" s_tabla_pares " c e l l x="250" c e l l y="35" s i z e x="520" s i z e y="315" posx="0" posy="0">

28 <xs l :app ly− t emplate s s e l e c t=" tab la / l i n e a "/>29 </table>30 </container>31

32

33 <!−− Contenedor de l menú −−>34 <container id="c_menu" v i s="1" alpha="0" posx="545" posy="415"

s i z e x="118" s i z e y="100">35 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="118" s i z e y="100"

itemx="118" itemy="40" sepx="0" sepy="10" s t y l e="s_menuhor">36 <menuitem s t r="Volver " >37 <action key="OK">38 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )

/ r eque s t /server−name"/>39 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r

' ) / r eque s t / server−port "/>40 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>41 <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="doc ( '

input :dat− ins tance ' ) / submiss ion / t i t u l a c i o n "/>42 <x s l : v a r i a b l e name=" t ipoOpos i c i on " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / t ipoOpos i c i on "/>43 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /pag"/>44 <x s l : v a r i a b l e name="primeraVez" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /primeraVez"/>45 <x s l : v a r i a b l e name=" u r l " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / u r l "/>46 <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="doc ( '

input :dat− ins tance ' ) / submiss ion / j s e s s i o n i d "/>47 <x s l : v a r i a b l e name=" idOfe r ta " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / idOfe r ta "/>48

49 <x s l : a t t r i b u t e name=" act ">50 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / ofertas_empleo_publ ico ? p rov inc i a= ' ,$ prov inc ia , '&amp ; t i t u l a c i o n = ' ,$ t i t u l a c i o n , '&amp ; t ipoOpos i c i on = ' ,$ t ipoOpos ic ion , '&amp ; pag= ' ,$pag , '&amp ; primeraVez= ' ,$ primeraVez , '&amp ; u r l = ' ,$ur l , '&amp ; j s e s s i o n i d = ' ,$ j s e s s i o n i d , ' ) ' ) "/>

51 </ x s l : a t t r i b u t e>52

53 <x s l : a t t r i b u t e name="actback ">54 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / ofertas_empleo_publ ico_deta l l e ?p rov inc i a = ' ,$ prov inc ia , '&amp ; t i t u l a c i o n = ' ,$t i t u l a c i o n , '&amp ; t ipoOpos i c i on = ' ,$ t ipoOpos ic ion, '&amp ; pag= ' ,$pag , '&amp ; primeraVez= ' ,$ primeraVez, '&amp ; u r l = ' ,$ ur l , '&amp ; j s e s s i o n i d = ' ,$ j s e s s i o n i d, '&amp ; idOfe r ta = ' ,$ idOferta , ' ) ' ) "/>

55 </ x s l : a t t r i b u t e>56 </action>57 </menuitem>58

59 <menuitem s t r="Nueva búsqueda" >60 <action key="OK">61 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )

/ r eque s t /server−name"/>62 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r

' ) / r eque s t / server−port "/>

208 Apéndice B. Ficheros desarrollados para la aplicación

63 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / prov inc i a "/>

64 <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="doc ( 'input :dat− ins tance ' ) / submiss ion / t i t u l a c i o n "/>

65 <x s l : v a r i a b l e name=" t ipoOpos i c i on " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / t ipoOpos i c i on "/>

66 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /pag"/>

67 <x s l : v a r i a b l e name="primeraVez" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /primeraVez"/>

68 <x s l : v a r i a b l e name=" u r l " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / u r l "/>

69 <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="doc ( 'input :dat− ins tance ' ) / submiss ion / j s e s s i o n i d "/>

70 <x s l : v a r i a b l e name=" idOfe r ta " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / idOfe r ta "/>

71

72 <x s l : a t t r i b u t e name=" act ">73 <x s l : t e x t>hidepage (∗ ) , showpage (

ofertas_empleo_publ ico )</ x s l : t e x t>74 </ x s l : a t t r i b u t e>75

76 <x s l : a t t r i b u t e name="actback ">77 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / ofertas_empleo_publ ico_deta l l e ?p rov inc i a = ' ,$ prov inc ia , '&amp ; t i t u l a c i o n = ' ,$t i t u l a c i o n , '&amp ; t ipoOpos i c i on = ' ,$ t ipoOpos ic ion, '&amp ; pag= ' ,$pag , '&amp ; primeraVez= ' ,$ primeraVez, '&amp ; u r l = ' ,$ ur l , '&amp ; j s e s s i o n i d = ' ,$ j s e s s i o n i d, '&amp ; idOfe r ta = ' ,$ idOferta , ' ) ' ) "/>

78 </ x s l : a t t r i b u t e>79 </action>80 </menuitem>81

82 </menu>83 </container>84 </page>85 </ xs l : t emp l a t e>86

87 <xs l : t emp l a t e match=" tab la / l i n e a ">88 <tr>89 <xs l : f o r− ea ch s e l e c t=" elemento ">90 <td>91 <xs l : v a l u e−o f s e l e c t=" . "/>92 </td>93 </ xs l : f o r− ea ch>94 </ tr>95 </ xs l : t emp l a t e>96

97 </ x s l : s t y l e s h e e t>

B.3.3. Empresas andaluzas que ofrecen empleo

empresas_formulario.xpl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <p : c on f i g xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns:tmg=" ht tp :

//www. tmira . com/ops/ p r o c e s s o r s " xmlns:p=" ht tp : //www. orbeon . com/ oxf /p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">

B.3. Directorio de gestión del canal de retorno 209

3

4 <p:param type=" input " name=" in s tance "/>5

6 <p :p r o c e s s o r name=" ox f : r e q u e s t ">7 <p: input name=" con f i g ">8 <config stream−type="xs:anyURI" xmlns :xs=" ht tp : //www.w3 . org /2001/

XMLSchema">9 <inc lude>/ reques t / se rve r−name</ inc lude>

10 <inc lude>/ reques t / se rve r−port</ inc lude>11 </config>12 </p: input>13 <p:output name="data" id=" s e r v e r "/>14 </ p :p r o c e s s o r>15

16 <!−− Procesador para generar e l config ne c e s a r i o para e l método HTTP −−>17 <p :p r o c e s s o r name=" o x f : x s l t ">18 <p: input name="data" h r e f="#in s tance "/>19 <p: input name=" con f i g ">20 <x s l : s t y l e s h e e t version=" 2 .0 ">21 <xs l : t emp l a t e match="/">22 <config>23 <method>url−http</method>24 <cookies>yes</cookies>25 <action>ht tp : //www. juntadeanda luc ia . e s /

se rv i c i oanda luzdeempleo /web/websae/ i n i c i a l i z aBu squeda .do</action>

26 <timeout>40</timeout>27 <content−type>text /html</content−type>28 <encoding>utf−8</encoding>29 </config>30 </ xs l : t emp l a t e>31 </ x s l : s t y l e s h e e t>32 </p: input>33 <p:output name="data" id="metodo_http"/>34 </ p :p r o c e s s o r>35

36 <!−− Método GET (HTTP) −−>37 <p :p r o c e s s o r name="tmg:tm−http ">38 <p: input name=" con f i g " h r e f="#metodo_http"/>39 <p:output name="data" id="page"/>40 </ p :p r o c e s s o r>41

42 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTML r e c i b i d o −−>43 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">44 <p: input name=" con f i g ">45 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" x s l : v e r s i o n

=" 2 .0 ">46 <url>47 <xs l : v a l u e−o f s e l e c t=" subst r ing−a f t e r (// form [@name='

busquedaForm ' ] / @action , ' j s e s s i o n i d = ')"/>48 </url>49 <prov i n c i a s>50 <x s l : f o r −each s e l e c t="// s e l e c t [ @id=' ubicac ion ' ] / opt ion ">51 <prov inc i a>52 <nombre>53 <xs l : v a l u e−o f s e l e c t="normal ize−space ( t ex t ( ) ) "/>54 </nombre>55 <va lo r>56 <xs l : v a l u e−o f s e l e c t="@value"/>57 </ va lo r>58 </ prov inc i a>59 </ x s l : f o r −each>60 </ prov i n c i a s>61 <s e c t o r e s>

210 Apéndice B. Ficheros desarrollados para la aplicación

62 <x s l : f o r −each s e l e c t="// s e l e c t [ @id=' sec to r ' ] / opt ion ">63 <x s l : i f t e s t=" po s i t i o n ( ) !=1">64 <se c t o r>65 <nombre>66 <xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−space (

t ex t ( ) ) , ' , ' , ' ' ) "/>67 </nombre>68 <va lo r>69 <xs l : v a l u e−o f s e l e c t=" . / @value"/>70 </ va lo r>71 </ s e c t o r>72 </ x s l : i f>73 </ x s l : f o r −each>74 </ s e c t o r e s>75 </ items>76 </p: input>77 <p: input name="data" h r e f="#page"/>78 <p:output name="data" id=" resu l tDesordenado "/>79 </ p :p r o c e s s o r>80

81 <!−− Procesador para ordenar l o s s e c t o r e s −−>82 <p :p r o c e s s o r name=" o x f : x s l t ">83 <p: input name="data" h r e f="#resu l tDesordenado "/>84 <p: input name=" con f i g ">85 <x s l : s t y l e s h e e t version=" 2 .0 ">86 <xs l : t emp l a t e match=" items ">87 <items>88 <url>89 <xs l : v a l u e−o f s e l e c t=" u r l "/>90 </url>91 <prov i n c i a s>92 <xs l : app ly−templates s e l e c t=" p rov i n c i a s / p rov inc i a "/>93 </ prov i n c i a s>94 <s e c t o r e s>95 <se c t o r>96 <nombre>−−Todos−−</nombre>97 <va lo r></ va lo r>98 </ s e c t o r>99 <xs l : app ly−templates s e l e c t=" s e c t o r e s / s e c t o r ">

100 <x s l : s o r t s e l e c t="nombre" order=" ascending "/>101 </ xs l : app ly−templates>102 </ s e c t o r e s>103 </ items>104 </ xs l : t emp l a t e>105

106 <xs l : t emp l a t e match=" p rov i n c i a s / p rov inc i a ">107 <prov inc i a>108 <nombre>109 <xs l : v a l u e−o f s e l e c t="nombre"/>110 </nombre>111 <va lo r>112 <xs l : v a l u e−o f s e l e c t=" va lo r "/>113 </ va lo r>114 </ prov inc i a>115 </ xs l : t emp l a t e>116 <xs l : t emp l a t e match=" s e c t o r e s / s e c t o r ">117 <se c t o r>118 <nombre>119 <xs l : v a l u e−o f s e l e c t="nombre"/>120 </nombre>121 <va lo r>122 <xs l : v a l u e−o f s e l e c t=" va lo r "/>123 </ va lo r>124 </ s e c t o r>

B.3. Directorio de gestión del canal de retorno 211

125 </ xs l : t emp l a t e>126

127 </ x s l : s t y l e s h e e t>128 </p: input>129 <p:output name="data" id=" r e s u l t "/>130 </ p :p r o c e s s o r>131

132 <!−− Generación de l f i c h e r o XML −−>133 <p :p r o c e s s o r name=" o x f : x s l t ">134 <p: input name=" con f i g " h r e f=" empresas_formular io . x s l "/>135 <p: input name="data" h r e f="#r e s u l t "/>136 <p: input name=" s e r v e r " h r e f="#se rv e r "/>137 <p:output name="data" id=" l i s t "/>138 </ p :p r o c e s s o r>139

140 <!−− S e r i a l i z a c i ó n de l f i c h e r o XML −−>141 <p :p r o c e s s o r name="oxf :xml−s e r i a l i z e r ">142 <p: input name=" con f i g ">143 <config>144 <content−type>app l i c a t i on /xml</content−type>145 <encoding>utf−8</encoding>146 <version>1.0</version>147 </config>148 </p: input>149 <p: input name="data" h r e f="#l i s t "/>150 </ p :p r o c e s s o r>151

152 </ p : c o n f i g>

empresas_formulario.xsl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

xmlns :xa lan=" ht tp : //xml . apache . org / x s l t " version=" 1 .0 ">3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <xs l : t emp l a t e match=" items ">7 <page>8

9 <help>c_help</help>10

11 <!−− Contenedor de l í n d i c e l a t e r a l −−>12 <container id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy=

"214" s i z e x="118" s i z e y="168">13 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="

118" s i z e y="28"></image>14 <image path=" images / ind_anuncios_off . png" posy="28" posx="0"

s i z e x="118" s i z e y="28"></image>15 <image path=" images / ind_empresas_on . png" posy="56" posx="0"

s i z e x="118" s i z e y="28"></image>16 <image path=" images / ind_formacion_off . png" posy="84" posx="0"

s i z e x="118" s i z e y="28"></image>17 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0"

s i z e x="118" s i z e y="28"></image>18 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="

118" s i z e y="28"></image>19 </container>20

21 <!−− Contenedor de l t exto de bienvenida −−>

212 Apéndice B. Ficheros desarrollados para la aplicación

22 <container id="c_bienv" v i s="1" posx="30" posy="223" s i z e x="520"s i z e y="90" alpha="0">

23 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25"s c r o l l="0">Empresas andaluzas</text>

24 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="520" s i z e y="65"s c r o l l="0">En e s t e menú , podrá acceder a un buscador deempresas . E l i j a l o s v a l o r e s que desee en e l f o rmu la r i o ypu l s e "OK" sobre e l botón "Buscar" .</text>

25 </container>26

27 <!−− Contenedor de l f o rmu la r i o de búsqueda −−>28 <container id="c_form" v i s="1" posx="30" posy="325" s i z e x="520"

s i z e y="170" alpha="0">29

30 <form f o cu s=" f_prov inc ia " posx="0" posy="0" s i z e x="520" s i z e y="170" s t y l e="s_menu_form">

31

32 <text s t r="Prov inc ia " posx="0" posy="0" s i z e x="155" s i z e y="25" s t y l e="s_body_form"></text>

33 <form_list id=" f_prov inc ia " va l="0000" type="harrows" posx="175" posy="0" s i z e x="150" s i z e y="25" down=" f_sec to r " up="f_buscar ">

34 <x s l : a t t r i b u t e name=" opt ions ">35 <xs l : f o r− ea ch s e l e c t=" p rov i n c i a s / p rov inc i a ">36 <xs l : v a l u e−o f s e l e c t=" . / va l o r "/>37 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">38 <x s l : t e x t> ,</ x s l : t e x t>39 </ x s l : i f>40 </ xs l : f o r− ea ch>41 </ x s l : a t t r i b u t e>42 <x s l : a t t r i b u t e name=" opt ions_texts ">43 <xs l : f o r− ea ch s e l e c t=" p rov i n c i a s / p rov inc i a ">44 <xs l : v a l u e−o f s e l e c t=" . / nombre"/>45 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">46 <x s l : t e x t> ,</ x s l : t e x t>47 </ x s l : i f>48 </ xs l : f o r− ea ch>49 </ x s l : a t t r i b u t e>50 </ form_list>51

52 <text s t r=" Sector " posx="0" posy="40" s i z e x="155" s i z e y="25"s t y l e="s_body_form"></text>

53 <form_list id=" f_sec to r " va l="0000" type="harrows" posx="175"posy="40" s i z e x="330" s i z e y="25" down=" f_buscar " up="f_prov inc ia ">

54 <x s l : a t t r i b u t e name=" opt ions ">55 <xs l : f o r− ea ch s e l e c t=" s e c t o r e s / s e c t o r ">56 <xs l : v a l u e−o f s e l e c t=" . / va l o r "/>57 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">58 <x s l : t e x t> ,</ x s l : t e x t>59 </ x s l : i f>60 </ xs l : f o r− ea ch>61 </ x s l : a t t r i b u t e>62 <x s l : a t t r i b u t e name=" opt ions_texts ">63 <xs l : f o r− ea ch s e l e c t=" s e c t o r e s / s e c t o r ">64 <xs l : v a l u e−o f s e l e c t=" . / nombre"/>65 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">66 <x s l : t e x t> ,</ x s l : t e x t>67 </ x s l : i f>68 </ xs l : f o r− ea ch>69 </ x s l : a t t r i b u t e>70 </ form_list>71

B.3. Directorio de gestión del canal de retorno 213

72 <form_imgbutton id=" f_buscar " img=" images /bot_buscar_off . png"imgfocus=" images /bot_buscar_on . png"

73 posx="170" posy="90" s i z e x="122" s i z e y="79" up=" f_sec to r "down=" f_prov inc ia " r i g h t=" f_volver " va l i d a t i o n=" f a l s e ">

74 <action key="OK">75 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )

/ r eque s t /server−name"/>76 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r

' ) / r eque s t / server−port "/>77 <x s l : a t t r i b u t e name=" act ">78 <x s l : v a r i a b l e name=" u r l " s e l e c t=" u r l "/>79 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc / empresas ? p rov inc i a=$f_prov inc ia ;&amp ; s e c t o r=$f_sec to r ;&amp ; u r l = ' ,$ur l , '&amp ; primeraVez=S&amp ; ur lF in=&amp ; pag=1) ' ) "/>

80 <xs l : v a l u e−o f s e l e c t="$comun"/>81 </ x s l : a t t r i b u t e>82 <x s l : a t t r i b u t e name="actback ">83 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc / empresas_formular io ) ' ) "/>

84 <xs l : v a l u e−o f s e l e c t="$comun"/>85 </ x s l : a t t r i b u t e>86 </action>87 </form_imgbutton>88

89 <form_imgbutton id=" f_volver " img=" images / bot_volver_off . png"imgfocus=" images /bot_volver_on . png"

90 posx="300" posy="90" s i z e x="122" s i z e y="79" up=" f_sec to r "down=" f_prov inc ia " l e f t=" f_buscar " va l i d a t i o n=" f a l s e ">

91 <action key="OK">92 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )

/ r eque s t /server−name"/>93 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r

' ) / r eque s t / server−port "/>94 <x s l : a t t r i b u t e name=" act ">95 <x s l : v a r i a b l e name="comun" s e l e c t=" ' hidepage (∗ ) ,

showpage ( index ) ' "/>96 <xs l : v a l u e−o f s e l e c t="$comun"/>97 </ x s l : a t t r i b u t e>98 <x s l : a t t r i b u t e name="actback ">99 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc / empresas_formular io ) ' ) "/>

100 <xs l : v a l u e−o f s e l e c t="$comun"/>101 </ x s l : a t t r i b u t e>102 </action>103 </form_imgbutton>104

105 </form>106 </container>107

108 </page>109

110 </ xs l : t emp l a t e>111

112 </ x s l : s t y l e s h e e t>

empresas.xpl

214 Apéndice B. Ficheros desarrollados para la aplicación

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <p : c on f i g xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns:tmg=" ht tp :

//www. tmira . com/ops/ p r o c e s s o r s " xmlns:p=" ht tp : //www. orbeon . com/ oxf /p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">

3

4 <p:param type=" input " name=" in s tance "/>5

6 <p :p r o c e s s o r name=" ox f : r e q u e s t ">7 <p: input name=" con f i g ">8 <config stream−type="xs:anyURI" xmlns :xs=" ht tp : //www.w3 . org /2001/

XMLSchema">9 <inc lude>/ reques t / se rve r−name</ inc lude>

10 <inc lude>/ reques t / se rve r−port</ inc lude>11 </config>12 </p: input>13 <p:output name="data" id=" s e r v e r "/>14 </ p :p r o c e s s o r>15

16 <!−− Procesador para generar e l config ne c e s a r i o para e l método HTTP −−>17 <p :p r o c e s s o r name=" o x f : x s l t ">18 <p: input name="data" h r e f="#in s tance "/>19 <p: input name=" con f i g ">20 <x s l : s t y l e s h e e t version=" 2 .0 ">21 <xs l : t emp l a t e match="/">22 <config>23 <xs l : c h o o s e>24 <xsl :when t e s t="/ submiss ion /primeraVez='S ' ">25 <method>post</method>26 <action>27 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www.

juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo /web/websae/ i n i c i a l i z aBusqueda . do ; j s e s s i o n i d= ' ,/ submiss ion / u r l ) "/>

28 </action>29 <parameters>30 <parameter name=" r a z on s o c i a l " va lue=""/>31 <parameter name=" ub icac ion ">32 <x s l : a t t r i b u t e name="value ">33 <xs l : v a l u e−o f s e l e c t="/ submiss ion / p rov inc i a

"/>34 </ x s l : a t t r i b u t e>35 </parameter>36 <parameter name=" s e c t o r ">37 <x s l : a t t r i b u t e name="value ">38 <xs l : v a l u e−o f s e l e c t="/ submiss ion / s e c t o r "/>39 </ x s l : a t t r i b u t e>40 </parameter>41 </parameters>42 </xs l :when>43 <x s l : o t h e rw i s e>44 <method>url−http</method>45 <action>46 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www.

juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo /web/websae/ i n i c i a l i z aBusqueda . do ; j s e s s i o n i d= ' ,/ submiss ion / ur l , ' ? ' , / submiss ion / ur lFin , '−p= ' ,/ submiss ion /pag ) "/>

47 </action>48 <content−type>text /html</content−type>49 <encoding>utf−8</encoding>50 </ x s l : o t h e rw i s e>51 </ x s l : c h o o s e>52 <cookies>yes</cookies>

B.3. Directorio de gestión del canal de retorno 215

53 <timeout>40</timeout>54 </config>55 </ xs l : t emp l a t e>56 </ x s l : s t y l e s h e e t>57 </p: input>58 <p:output name="data" id="metodo_http"/>59 </ p :p r o c e s s o r>60

61 <!−− Método POST o GET (HTTP) −−>62 <p :p r o c e s s o r name="tmg:tm−http ">63 <p: input name=" con f i g " h r e f="#metodo_http"/>64 <p:output name="data" id="page"/>65 </ p :p r o c e s s o r>66

67 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTML r e c i b i d o −−>68 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">69 <p: input name=" con f i g ">70 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" x s l : v e r s i o n

=" 2 .0 ">71 <empresas>72 <x s l : f o r −each s e l e c t="// tab l e [ @id='dataTable ' ] / tbody/ t r ">73 <empresa>74 <nombre><xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−space

( . / td [ 1 ] ),'&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;&#141;&#147;&#154;&#145;&#188;ÂÃ' , ' áéíóúñÁÉÍÓÚÑü ' ) "

/></nombre>75 <se c t o r><xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−space

( . / td [ 2 ] ),'&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;&#141;&#147;&#154;&#145;&#188;ÂÃ' , ' áéíóúñÁÉÍÓÚÑü ' ) "

/></ s e c t o r>76 <prov inc i a><xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−

space ( . / td [ 3 ] ),'&#161;&#169;&#173;&#179;&#186;&#177;&#129;&#137;&#141;&#147;&#154;&#145;&#188;ÂÃ' , ' áéíóúñÁÉÍÓÚÑü ' ) "

/></ prov inc i a>77 <idEmpresa><xs l : v a l u e−o f s e l e c t=" subst r ing−be f o r e (

subst r ing−a f t e r ( normal ize−space ( . / td [ 4 ] / a/@href ) , 'idEmpresa= ') , '&amp ; idProv inc ia ' ) "/></idEmpresa>

78 <idProv inc i a>79 <x s l : v a r i a b l e name=" idProv" s e l e c t=" subst r ing−a f t e r (

normal ize−space ( . / td [ 4 ] / a/@href ) , ' i dProv inc i a = ')"/>

80 <xs l : c h o o s e>81 <xsl :when t e s t=" conta in s ($ idProv , '−p= ')">82 <xs l : v a l u e−o f s e l e c t=" subst r ing−be f o r e ($ idProv

, '&amp ; ' ) "/>83 </xs l :when>84 <x s l : o t h e rw i s e>85 <xs l : v a l u e−o f s e l e c t="$ idProv"/>86 </ x s l : o t h e rw i s e>87 </ x s l : c h o o s e>88 </ idProv inc i a>89 </empresa>90 </ x s l : f o r −each>91 </empresas>92 <paginas>93 <x s l : v a r i a b l e name=" tota l_pag inas ">94 <x s l : v a r i a b l e name=" i rUlt ima " s e l e c t="// div [ @class='

paginacion ' ] / a [ l a s t ( ) ] / @href "/>95 <xs l : c h o o s e>96 <xsl :when t e s t="$ i rUl t ima != ' ' ">

216 Apéndice B. Ficheros desarrollados para la aplicación

97 <x s l : v a r i a b l e name=" to t a l_p rov i s i ona l " s e l e c t="subst r ing−a f t e r ($ irUlt ima , '−p= ')"/>

98 <xs l : c h o o s e>99 <xsl :when t e s t="$ t o t a l_p rov i s i ona l &l t ; doc ( '

input :dat−in s tance ' ) / submiss ion /pag">100 <xs l : v a l u e−o f s e l e c t="doc ( ' input :dat−in s tance

' ) / submiss ion /pag"/>101 </xs l :when>102 <x s l : o t h e rw i s e>103 <xs l : v a l u e−o f s e l e c t="$ t o t a l_p rov i s i ona l "/>104 </ x s l : o t h e rw i s e>105 </ x s l : c h o o s e>106 </xs l :when>107 <x s l : o t h e rw i s e>108 <x s l : t e x t>1</ x s l : t e x t>109 </ x s l : o t h e rw i s e>110 </ x s l : c h o o s e>111 </ x s l : v a r i a b l e>112

113 <pagina>114 <x s l : a t t r i b u t e name=" ac tua l ">1</ x s l : a t t r i b u t e>115 <x s l : a t t r i b u t e name="numero">116 <xs l : v a l u e−o f s e l e c t="doc ( ' input :dat−in s tance ' ) /

submiss ion /pag"/>117 </ x s l : a t t r i b u t e>118 <x s l : a t t r i b u t e name=" t o t a l "><xs l : v a l u e−o f s e l e c t="$

tota l_pag inas "/></ 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 name=" j s e s s i o n i d "/>120 <x s l : a t t r i b u t e name=" f i n u r l "/>121 </pagina>122 <x s l : f o r −each s e l e c t="// div [ @class='paginacion ' ] / a">123 <x s l : i f t e s t=" subst r ing−a f t e r ( . / @t i t l e , ' g ina ' )=text ( ) ">124 <pagina>125 <x s l : a t t r i b u t e name=" ac tua l ">0</ x s l : a t t r i b u t e>126 <x s l : a t t r i b u t e name="numero"><xs l : v a l u e−o f s e l e c t="

text ( ) "/></ x s l : a t t r i b u t e>127 <x s l : a t t r i b u t e name=" t o t a l "><xs l : v a l u e−o f s e l e c t="$

tota l_pag inas "/></ x s l : a t t r i b u t e>128 <x s l : a t t r i b u t e name=" j s e s s i o n i d "><xs l : v a l u e−o f

s e l e c t=" subst r ing−be f o r e ( subst r ing−a f t e r ( . / @href, ' j s e s s i o n i d = ') , ' ? ' ) "/></ x s l : a t t r i b u t e>

129 <x s l : a t t r i b u t e name=" f i n u r l ">130 <xs l : c h o o s e>131 <xsl :when t e s t=" conta in s ( . / @href , ' r a z on so c i a l

' ) ">132 <xs l : v a l u e−o f s e l e c t=" subst r ing−be f o r e (

subst r ing−a f t e r ( . / @href , ' ? r a z on s o c i a l=&amp ; ' ) , '−p= ')"/>

133 </xs l :when>134 <x s l : o t h e rw i s e>135 <xs l : v a l u e−o f s e l e c t=" subst r ing−be f o r e (

subst r ing−a f t e r ( . / @href , ' ? ' ) , '−p= ')"/>136 </ x s l : o t h e rw i s e>137 </ x s l : c h o o s e>138 </ x s l : a t t r i b u t e>139 </pagina>140 </ x s l : i f>141 </ x s l : f o r −each>142 </paginas>143 </ items>144 </p: input>145 <p: input name="data" h r e f="#page"/>146 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>147 <p:output name="data" id=" resu l tDesordenado "/>

B.3. Directorio de gestión del canal de retorno 217

148 </ p :p r o c e s s o r>149

150 <!−− Procesador para ordenar l a s páginas −−>151 <p :p r o c e s s o r name=" o x f : x s l t ">152 <p: input name="data" h r e f="#resu l tDesordenado "/>153 <p: input name=" con f i g ">154 <x s l : s t y l e s h e e t version=" 2 .0 ">155 <xs l : t emp l a t e match=" items ">156 <items>157 <empresas>158 <xs l : app ly−templates s e l e c t="empresas /empresa"/>159 </empresas>160 <paginas>161 <xs l : app ly−templates s e l e c t="paginas /pagina ">162 <x s l : s o r t s e l e c t="@numero" data−type="number" order=

" ascending "/>163 </ xs l : app ly−templates>164 </paginas>165 </ items>166 </ xs l : t emp l a t e>167

168 <xs l : t emp l a t e match="empresas /empresa">169 <empresa>170 <nombre><xs l : v a l u e−o f s e l e c t="nombre"/></nombre>171 <se c t o r><xs l : v a l u e−o f s e l e c t=" s e c t o r "/></ s e c t o r>172 <prov inc i a><xs l : v a l u e−o f s e l e c t=" prov inc i a "/></ prov inc i a>173 <idEmpresa><xs l : v a l u e−o f s e l e c t=" idEmpresa"/></idEmpresa>174 <idProv inc i a><xs l : v a l u e−o f s e l e c t=" idProv inc i a "/></

idProv inc i a>175 </empresa>176 </ xs l : t emp l a t e>177 <xs l : t emp l a t e match="paginas /pagina ">178 <pagina>179 <x s l : a t t r i b u t e name=" ac tua l "><xs l : v a l u e−o f s e l e c t="@actual

"/></ x s l : a t t r i b u t e>180 <x s l : a t t r i b u t e name="numero"><xs l : v a l u e−o f s e l e c t="@numero

"/></ x s l : a t t r i b u t e>181 <x s l : a t t r i b u t e name=" t o t a l "><xs l : v a l u e−o f s e l e c t="@total "/

></ x s l : a t t r i b u t e>182 <x s l : a t t r i b u t e name=" j s e s s i o n i d "><xs l : v a l u e−o f s e l e c t="

@j s e s s i on i d "/></ x s l : a t t r i b u t e>183 <x s l : a t t r i b u t e name=" f i n u r l "><xs l : v a l u e−o f s e l e c t="@f inur l

"/></ x s l : a t t r i b u t e>184 </pagina>185 </ xs l : t emp l a t e>186

187 </ x s l : s t y l e s h e e t>188 </p: input>189 <p:output name="data" id=" r e s u l t "/>190 </ p :p r o c e s s o r>191

192 <!−− Generación de l f i c h e r o XML −−>193 <p :p r o c e s s o r name=" o x f : x s l t ">194 <p: input name=" con f i g " h r e f="empresas . x s l "/>195 <p: input name="data" h r e f="#r e s u l t "/>196 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>197 <p: input name=" s e r v e r " h r e f="#se rv e r "/>198 <p:output name="data" id=" l i s t "/>199 </ p :p r o c e s s o r>200

201 <!−− S e r i a l i z a c i ó n de l f i c h e r o XML −−>202 <p :p r o c e s s o r name="oxf :xml−s e r i a l i z e r ">203 <p: input name=" con f i g ">204 <config>

218 Apéndice B. Ficheros desarrollados para la aplicación

205 <content−type>app l i c a t i on /xml</content−type>206 <encoding>utf−8</encoding>207 <version>1.0</version>208 </config>209 </p: input>210 <p: input name="data" h r e f="#l i s t "/>211 </ p :p r o c e s s o r>212

213 </ p : c o n f i g>

empresas.xsl

1 <?xml version=" 1 .0 " encoding="utf−8"?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

xmlns :xa lan=" ht tp : //xml . apache . org / x s l t " version=" 1 .0 ">3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <xs l : t emp l a t e match=" items ">7 <page>8

9 <help>c_help</help>10

11 <!−− Contenedor de l í n d i c e l a t e r a l −−>12 <container id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy=

"214" s i z e x="118" s i z e y="168">13 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="

118" s i z e y="28"></image>14 <image path=" images / ind_anuncios_off . png" posy="28" posx="0"

s i z e x="118" s i z e y="28"></image>15 <image path=" images / ind_empresas_on . png" posy="56" posx="0"

s i z e x="118" s i z e y="28"></image>16 <image path=" images / ind_formacion_off . png" posy="84" posx="0"

s i z e x="118" s i z e y="28"></image>17 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0"

s i z e x="118" s i z e y="28"></image>18 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="

118" s i z e y="28"></image>19 </container>20

21 <!−− Contenedor de l menú ho r i z on t a l ( pag inac ión ) −−>22 <container alpha="0" id="c_menu_hor" s i z e y="35" s i z e x="530" posy="

215" posx="30" v i s="1">23 <menu type=" ho r i z on t a l " posx="10" posy="0" s i z e x="530" s i z e y="25

" itemx="36" itemy="25" sepx="5" sepy="0" s t y l e="s_menuhorCentrado">

24 <x s l : v a r i a b l e name=" total_pag" s e l e c t="/ items / paginas /pagina[ 1 ] / @total "/>

25 <x s l : v a r i a b l e name="primera_pag" s e l e c t="/ items / paginas /pagina [ 1 ] / @numero"/>

26 <x s l : v a r i a b l e name="ultima_pag" s e l e c t="/ items / paginas /pagina[ l a s t ( ) ] /@numero"/>

27 <x s l : v a r i a b l e name="num_pag">28 <xs l : c h o o s e>29 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion /

primeraVez='S ' ">1</xs l :when>30 <x s l : o t h e rw i s e>31 <xs l : v a l u e−o f s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion /pag"/>32 </ x s l : o t h e rw i s e>33 </ x s l : c h o o s e>

B.3. Directorio de gestión del canal de retorno 219

34 </ x s l : v a r i a b l e>35

36 <xs l : c h o o s e>37 <xsl :when t e s t="$primera_pag= '1 '">38 <x s l : a t t r i b u t e name=" cursorx "><xs l : v a l u e−o f s e l e c t="

number ($num_pag − 1) "/></ x s l : a t t r i b u t e>39 </xs l :when>40 <x s l : o t h e rw i s e>41 <x s l : a t t r i b u t e name=" cursorx "><xs l : v a l u e−o f s e l e c t="

number ($num_pag − $primera_pag + 1) "/></x s l : a t t r i b u t e>

42 <menuitem img=" images /bot_matrix_off . png" imgfocus="images /bot_matrix_on . png" s t r="&#60;&#60;"/>

43 </ x s l : o t h e rw i s e>44 </ x s l : c h o o s e>45

46 <xs l :app ly− t emplate s s e l e c t="paginas /pagina "/>47

48 <x s l : i f t e s t="$ultima_pag != $ total_pag and $ultima_pag !='1 ' ">

49 <menuitem img=" images /bot_matrix_off . png" imgfocus=" images/bot_matrix_on . png" s t r="&#62;&#62;"/>

50 </ x s l : i f>51 </menu>52 </container>53

54 <!−− Contenedor de l menú v e r t i c a l ( l i s t a d o de empresas ) −−>55 <container id="c_menu" alpha="255" s i z e y="300" s i z e x="510" posy="

250" posx="30" v i s="1">56 <xs l : c h o o s e>57 <xsl :when t e s t="count (// empresa ) !=0">58 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="510" s i z e y=

"275" itemx="510" itemy="25" sepx="0" sepy="0" s t y l e="s_menuverEmpresas">

59 <menuitem s t r="−−−−Rea l i z a r nueva búsqueda−−−−" >60 <action key="OK">61 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>62 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>63 <x s l : v a r i a b l e name=" u r l " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / u r l "/>64 <x s l : v a r i a b l e name=" ur lF in " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / ur lF in "/>65 <x s l : v a r i a b l e name="primeraVez" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /primeraVez"/>66 <x s l : v a r i a b l e name=" s e c t o r " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / s e c t o r "/>67 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>68 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /pag"/>69

70 <x s l : a t t r i b u t e name=" act ">71 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( '

hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :' , $ servPort , ' / i t v /apps /16003/800/ rc /empresas_formular io ) ' ) "/>

72 <xs l : v a l u e−o f s e l e c t="$comun"/>73 </ x s l : a t t r i b u t e>74

75 <x s l : a t t r i b u t e name="actback ">76 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( '

hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :

220 Apéndice B. Ficheros desarrollados para la aplicación

' , $ servPort , ' / i t v /apps /16003/800/ rc /empresas ? p rov inc i a = ' ,$ prov inc ia , '&amp ;primeraVez= ' ,$ primeraVez , '&amp ; s e c t o r = ' ,$s ec to r , '&amp ; u r l = ' ,$ ur l , '&amp ; ur lF in = ' ,$ur lFin , '&amp ; pag= ' ,$pag , ' ) ' ) "/>

77 <xs l : v a l u e−o f s e l e c t="$comun"/>78 </ x s l : a t t r i b u t e>79

80 </action>81 </menuitem>82

83 <xs l :app ly− t emplate s s e l e c t="empresas /empresa"/>84

85 <menuitem s t r="−−−−Rea l i z a r nueva búsqueda−−−−" >86 <action key="OK">87 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>88 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>89 <x s l : v a r i a b l e name=" u r l " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / u r l "/>90 <x s l : v a r i a b l e name=" ur lF in " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / ur lF in "/>91 <x s l : v a r i a b l e name="primeraVez" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /primeraVez"/>92 <x s l : v a r i a b l e name=" s e c t o r " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / s e c t o r "/>93 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>94 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /pag"/>95

96 <x s l : a t t r i b u t e name=" act ">97 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( '

hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :' , $ servPort , ' / i t v /apps /16003/800/ rc /empresas_formular io ) ' ) "/>

98 <xs l : v a l u e−o f s e l e c t="$comun"/>99 </ x s l : a t t r i b u t e>

100

101 <x s l : a t t r i b u t e name="actback ">102 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( '

hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :' , $ servPort , ' / i t v /apps /16003/800/ rc /empresas ? p rov inc i a = ' ,$ prov inc ia , '&amp ;primeraVez= ' ,$ primeraVez , '&amp ; s e c t o r = ' ,$s ec to r , '&amp ; u r l = ' ,$ ur l , '&amp ; ur lF in = ' ,$ur lFin , '&amp ; pag= ' ,$pag , ' ) ' ) "/>

103 <xs l : v a l u e−o f s e l e c t="$comun"/>104 </ x s l : a t t r i b u t e>105

106 </action>107 </menuitem>108

109 </menu>110 </xs l :when>111 <x s l : o t h e rw i s e>112 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="510" s i z e y

="90" s c r o l l="0">No se ha encontrado ninguna empresacon l o s parámetros de búsqueda s e l e c c i o nado s . Pulse "OK" para r e a l i z a r una nueva búsqueda .</text>

113 <menu type=" v e r t i c a l " posx="0" posy="115" s i z e x="510"s i z e y="27" itemx="510" itemy="27" sepx="0" sepy="0"s t y l e="s_menuverCursos">

B.3. Directorio de gestión del canal de retorno 221

114 <menuitem s t r="−−−−Rea l i z a r nueva búsqueda−−−−" >115 <action key="OK">116 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>117 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>118 <x s l : v a r i a b l e name=" u r l " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / u r l "/>119 <x s l : v a r i a b l e name=" ur lF in " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / ur lF in "/>120 <x s l : v a r i a b l e name="primeraVez" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /primeraVez"/>121 <x s l : v a r i a b l e name=" s e c t o r " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / s e c t o r "/>122 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>123 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /pag"/>124

125 <x s l : a t t r i b u t e name=" act ">126 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( '

hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :' , $ servPort , ' / i t v /apps /16003/800/ rc /empresas_formular io ) ' ) "/>

127 <xs l : v a l u e−o f s e l e c t="$comun"/>128 </ x s l : a t t r i b u t e>129

130 <x s l : a t t r i b u t e name="actback ">131 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( '

hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :' , $ servPort , ' / i t v /apps /16003/800/ rc /empresas ? p rov inc i a = ' ,$ prov inc ia , '&amp ;primeraVez= ' ,$ primeraVez , '&amp ; s e c t o r = ' ,$s ec to r , '&amp ; u r l = ' ,$ ur l , '&amp ; ur lF in = ' ,$ur lFin , '&amp ; pag= ' ,$pag , ' ) ' ) "/>

132 <xs l : v a l u e−o f s e l e c t="$comun"/>133 </ x s l : a t t r i b u t e>134

135 </action>136 </menuitem>137 </menu>138 </ x s l : o t h e rw i s e>139 </ x s l : c h o o s e>140 </container>141 </page>142 </ xs l : t emp l a t e>143

144 <xs l : t emp l a t e match="paginas /pagina ">145 <menuitem img=" images /bot_matrix_off . png" imgfocus=" images /

bot_matrix_on . png">146 <x s l : a t t r i b u t e name=" s t r "><xs l : v a l u e−o f s e l e c t="@numero"/></

x s l : a t t r i b u t e>147 <x s l : i f t e s t="@actual= '0 ' ">148 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' ) / r eque s t /

server−name"/>149 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r ' ) /

r eque s t / server−port "/>150 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps /16003/800/ rc /empresas ? p rov inc i a=&amp ; s e c t o r=&amp ; primeraVez=N&amp ; u r l = ' ,@ j s e s s i on id , '&amp ; ur lF in = ' , @f inur l , '&amp ; pag= ' ,@numero , ' ) ' ) "/>

151 <x s l : a t t r i b u t e name="onover ">152 <xs l : v a l u e−o f s e l e c t="$comun"/>

222 Apéndice B. Ficheros desarrollados para la aplicación

153 </ x s l : a t t r i b u t e>154 </ x s l : i f>155 </menuitem>156 </ xs l : t emp l a t e>157

158 <xs l : t emp l a t e match="empresas /empresa">159 <menuitem>160 <x s l : a t t r i b u t e name=" s t r ">161 <xs l : v a l u e−o f s e l e c t=" concat ( nombre , ' . S e c t o r : ' , s e c to r , ' .

P r ov i n c i a : ' , p r ov in c i a ) "/>162 </ x s l : a t t r i b u t e>163

164 <action key="OK">165 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' ) / r eque s t /

server−name"/>166 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r ' ) /

r eque s t / server−port "/>167 <x s l : v a r i a b l e name=" idProv inc i a " s e l e c t=" idProv inc i a "/>168 <x s l : v a r i a b l e name="idEmpresa" s e l e c t=" idEmpresa"/>169 <x s l : v a r i a b l e name=" u r l " s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / u r l "/>170 <x s l : v a r i a b l e name=" ur lF in " s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / ur lF in "/>171 <x s l : v a r i a b l e name="primeraVez" s e l e c t="doc ( ' input :dat− ins tance

' ) / submiss ion /primeraVez"/>172 <x s l : v a r i a b l e name=" s e c t o r " s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / s e c t o r "/>173 <x s l : v a r i a b l e name=" prov inc i a " s e l e c t="doc ( ' input :dat− ins tance ' )

/ submiss ion / p rov inc i a "/>174 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion /pag"/>175 <x s l : a t t r i b u t e name=" act ">176 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage (∗ ) ,

showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / empresas_deta l l e ? p rov inc i a = ' ,$ prov inc ia , '&amp ; idEmpresa= ' ,$ idEmpresa , '&amp ; idProv inc i a = ' ,$idProv inc ia , '&amp ; primeraVez= ' ,$ primeraVez , '&amp ; s e c t o r= ' ,$ s ec to r , '&amp ; u r l = ' ,$ ur l , '&amp ; ur lF in = ' ,$ ur lFin , '&amp ;pag= ' ,$pag , ' ) ' ) "/>

177 <xs l : v a l u e−o f s e l e c t="$comun"/>178 </ x s l : a t t r i b u t e>179 <x s l : a t t r i b u t e name="actback ">180 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage (∗ ) ,

showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / empresas ? p rov inc i a = ' ,$ prov inc ia , '&amp ;primeraVez= ' ,$ primeraVez , '&amp ; s e c t o r = ' ,$ s ec to r , '&amp ; u r l= ' ,$ ur l , '&amp ; ur lF in = ' ,$ ur lFin , '&amp ; pag= ' ,$pag , ' ) ' ) "/>

181 <xs l : v a l u e−o f s e l e c t="$comun"/>182 </ x s l : a t t r i b u t e>183 </action>184

185 </menuitem>186 </ xs l : t emp l a t e>187

188 </ x s l : s t y l e s h e e t>

empresas_detalle.xpl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <p : c on f i g xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns:tmg=" ht tp :

//www. tmira . com/ops/ p r o c e s s o r s " xmlns:p=" ht tp : //www. orbeon . com/ oxf /

B.3. Directorio de gestión del canal de retorno 223

p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">3

4 <p:param type=" input " name=" in s tance "/>5

6 <p :p r o c e s s o r name=" ox f : r e q u e s t ">7 <p: input name=" con f i g ">8 <config stream−type="xs:anyURI" xmlns :xs=" ht tp : //www.w3 . org /2001/

XMLSchema">9 <inc lude>/ reques t / se rve r−name</ inc lude>

10 <inc lude>/ reques t / se rve r−port</ inc lude>11 </config>12 </p: input>13 <p:output name="data" id=" s e r v e r "/>14 </ p :p r o c e s s o r>15

16 <!−− Procesador para generar e l config ne c e s a r i o para e l método HTTP −−>17 <p :p r o c e s s o r name=" o x f : x s l t ">18 <p: input name="data" h r e f="#in s tance "/>19 <p: input name=" con f i g ">20 <x s l : s t y l e s h e e t version=" 2 .0 ">21 <xs l : t emp l a t e match="/">22 <config>23 <method>url−http</method>24 <action>25 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www.

juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo /web/websae/ deta l leEmpresa . do? idEmpresa= ' ,/ submiss ion /idEmpresa , '&amp ; idProv inc i a = ' ,/ submiss ion /idProv inc i a ) "/>

26 </action>27 <cookies>yes</cookies>28 <timeout>40</timeout>29 <content−type>text /html</content−type>30 <encoding>utf−8</encoding>31 </config>32 </ xs l : t emp l a t e>33 </ x s l : s t y l e s h e e t>34 </p: input>35 <p:output name="data" id="metodo_http"/>36 </ p :p r o c e s s o r>37

38 <!−− Método GET (HTTP) −−>39 <p :p r o c e s s o r name="tmg:tm−http ">40 <p: input name=" con f i g " h r e f="#metodo_http"/>41 <p:output name="data" id="page"/>42 </ p :p r o c e s s o r>43

44 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTML r e c i b i d o −−>45 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">46 <p: input name=" con f i g ">47 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

x s l : v e r s i o n=" 2 .0 ">48

49 <t i t u l o>50 <x s l : f o r −each s e l e c t="//h4/span">51 <x s l : i f t e s t=" po s i t i o n ( )=1">52 <xs l : v a l u e−o f s e l e c t=" text ( ) "/>53 </ x s l : i f>54 </ x s l : f o r −each>55 </ t i t u l o>56

57 <x s l : f o r −each s e l e c t="// f i e l d s e t [ @class=' formular io ' ] ">58 <tex to s>59 <x s l : f o r −each s e l e c t=" . / div / l a b e l ">

224 Apéndice B. Ficheros desarrollados para la aplicación

60 <texto>61 <x s l : i f t e s t="number ( p o s i t i o n ( ) mod 2)=1">62 <x s l : t e x t>∗∗∗</ x s l : t e x t>63 </ x s l : i f>64 <xs l : c h o o s e>65 <xsl :when t e s t="count ( . / / a )=0">66 <xs l : v a l u e−o f s e l e c t="normal ize−space ( t ex t

( ) ) "/>67 </xs l :when>68 <x s l : o t h e rw i s e>69 <x s l : f o r −each s e l e c t=" .//∗ ">70 <x s l : i f t e s t="normal ize−space ( t ex t ( ) )

!= ' ' ">71 <xs l : v a l u e−o f s e l e c t="normal ize−space

( t ex t ( ) ) "/>72 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">73 <x s l : t e x t>; </ x s l : t e x t>74 </ x s l : i f>75 </ x s l : i f>76 </ x s l : f o r −each>77 </ x s l : o t h e rw i s e>78 </ x s l : c h o o s e>79 </ texto>80 </ x s l : f o r −each>81 </ tex to s>82 </ x s l : f o r −each>83

84 </ items>85 </p: input>86 <p: input name="data" h r e f="#page"/>87 <p:output name="data" id=" r e s u l t "/>88 </ p :p r o c e s s o r>89

90 <!−− Generación de l f i c h e r o XML −−>91 <p :p r o c e s s o r name=" o x f : x s l t ">92 <p: input name=" con f i g " h r e f=" empresas_deta l l e . x s l "/>93 <p: input name="data" h r e f="#r e s u l t "/>94 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>95 <p: input name=" s e r v e r " h r e f="#se rv e r "/>96 <p:output name="data" id=" l i s t "/>97 </ p :p r o c e s s o r>98

99 <!−− S e r i a l i z a c i ó n de l f i c h e r o XML −−>100 <p :p r o c e s s o r name="oxf :xml−s e r i a l i z e r ">101 <p: input name=" con f i g ">102 <config>103 <content−type>app l i c a t i on /xml</content−type>104 <encoding>utf−8</encoding>105 <version>1.0</version>106 </config>107 </p: input>108 <p: input name="data" h r e f="#l i s t "/>109 </ p :p r o c e s s o r>110

111 </ p : c o n f i g>

empresas_detalle.xsl

1 <?xml version=" 1 .0 " encoding="utf−8"?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

xmlns :xa lan=" ht tp : //xml . apache . org / x s l t " version=" 1 .0 ">

B.3. Directorio de gestión del canal de retorno 225

3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <xs l : t emp l a t e match=" items ">7 <page>8 <help>c_help</help>9

10 <!−− Contenedor de l í n d i c e l a t e r a l −−>11 <container id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy=

"214" s i z e x="118" s i z e y="168">12 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_anuncios_off . png" posy="28" posx="0"

s i z e x="118" s i z e y="28"></image>14 <image path=" images / ind_empresas_on . png" posy="56" posx="0"

s i z e x="118" s i z e y="28"></image>15 <image path=" images / ind_formacion_off . png" posy="84" posx="0"

s i z e x="118" s i z e y="28"></image>16 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0"

s i z e x="118" s i z e y="28"></image>17 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="

118" s i z e y="28"></image>18 </container>19

20 <!−− Contenedor de l t í t u l o −−>21 <container id=" c_texto_ti tu lo " v i s="1" alpha="0" posx="30" posy="

214" s i z e x="520" s i z e y="260">22 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25"

s c r o l l="0"><xs l : v a l u e−o f s e l e c t=" t i t u l o "/></text>23 </container>24

25 <!−− Contenedor de l t exto de in formac ión −−>26 <container id="c_textoGral " v i s="1" alpha="0" posx="30" posy="234"

s i z e x="520" s i z e y="260">27 <text s t y l e=" s_bodyDetal le " posx="0" posy="0" s i z e x="520" s i z e y=

"240" s c r o l l="1">28 <xs l : f o r− ea ch s e l e c t=" tex to s [ 1 ] / texto ">29 <xs l : v a l u e−o f s e l e c t=" text ( ) "/> <

x s l : t e x t>

</ x s l : t e x t>30 </ xs l : f o r− ea ch>31

32 <x s l : t e x t>−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−33 Datos de con ta c t o :34 </ x s l : t e x t>35 <xs l : f o r− ea ch s e l e c t=" tex to s [ 2 ] / texto ">36 <xs l : v a l u e−o f s e l e c t=" text ( ) "/> <

x s l : t e x t>

</ x s l : t e x t>37 </ xs l : f o r− ea ch>38 </text>39 </container>40

41

42 <!−− Contenedor de l menú −−>43 <container id="c_menu" v i s="1" alpha="0" posx="145" posy="490"

s i z e x="290" s i z e y="45">44 <menu type=" ho r i z on t a l " posx="0" posy="0" s i z e x="290" s i z e y="45"

itemx="130" itemy="45" sepx="30" sepy="0" s t y l e="s_menuhor">

45 <menuitem s t r="Volver " >46 <action key="OK">

226 Apéndice B. Ficheros desarrollados para la aplicación

47 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )/ r eque s t /server−name"/>

48 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r' ) / r eque s t / server−port "/>

49 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /pag"/>

50 <x s l : v a r i a b l e name="prov" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / prov inc i a "/>

51 <x s l : v a r i a b l e name=" s e c t o r " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / s e c t o r "/>

52 <x s l : v a r i a b l e name=" u r l " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / u r l "/>

53 <x s l : v a r i a b l e name=" ur lF in " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / ur lF in "/>

54 <x s l : v a r i a b l e name="primeraVez" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /primeraVez"/>

55 <x s l : v a r i a b l e name=" idProv inc i a " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / idProv inc i a "/>

56 <x s l : v a r i a b l e name="idEmpresa" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / idEmpresa"/>

57

58 <x s l : a t t r i b u t e name=" act ">59 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc / empresas ? p rov inc i a = ' ,$ prov, '&amp ; s e c t o r = ' ,$ s ec to r , '&amp ; u r l = ' ,$ ur l , '&amp ;ur lF in = ' ,$ ur lFin , '&amp ; primeraVez= ' ,$ primeraVez, '&amp ; pag= ' ,$pag , ' ) ' ) "/>

60 <xs l : v a l u e−o f s e l e c t="$comun"/>61 </ x s l : a t t r i b u t e>62

63 <x s l : a t t r i b u t e name="actback ">64 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc / empresas_deta l l e ? p rov inc i a= ' ,$ prov , '&amp ; s e c t o r = ' ,$ s ec to r , '&amp ; u r l = ' ,$ ur l, '&amp ; ur lF in = ' ,$ ur lFin , '&amp ; primeraVez= ' ,$primeraVez , '&amp ; pag= ' ,$pag , '&amp ; idEmpresa= ' ,$idEmpresa , '&amp ; idProv inc i a = ' ,$ idProv inc ia , ' ) ' ) "/>

65 <xs l : v a l u e−o f s e l e c t="$comun"/>66 </ x s l : a t t r i b u t e>67 </action>68 </menuitem>69

70 <menuitem s t r="Nueva búsqueda" >71 <action key="OK">72 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )

/ r eque s t /server−name"/>73 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r

' ) / r eque s t / server−port "/>74 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /pag"/>75 <x s l : v a r i a b l e name="prov" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>76 <x s l : v a r i a b l e name=" s e c t o r " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / s e c t o r "/>77 <x s l : v a r i a b l e name=" u r l " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / u r l "/>78 <x s l : v a r i a b l e name=" ur lF in " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / ur lF in "/>79 <x s l : v a r i a b l e name="primeraVez" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /primeraVez"/>

B.3. Directorio de gestión del canal de retorno 227

80 <x s l : v a r i a b l e name=" idProv inc i a " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / idProv inc i a "/>

81 <x s l : v a r i a b l e name="idEmpresa" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / idEmpresa"/>

82

83 <x s l : a t t r i b u t e name=" act ">84 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / empresas_formular io ) ' ) "/>

85 </ x s l : a t t r i b u t e>86

87 <x s l : a t t r i b u t e name="actback ">88 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc / empresas_deta l l e ? p rov inc i a= ' ,$ prov , '&amp ; s e c t o r = ' ,$ s ec to r , '&amp ; u r l = ' ,$ ur l, '&amp ; ur lF in = ' ,$ ur lFin , '&amp ; primeraVez= ' ,$primeraVez , '&amp ; pag= ' ,$pag , '&amp ; idEmpresa= ' ,$idEmpresa , '&amp ; idProv inc i a = ' ,$ idProv inc ia , ' ) ' ) "/>

89 <xs l : v a l u e−o f s e l e c t="$comun"/>90 </ x s l : a t t r i b u t e>91 </action>92 </menuitem>93

94 </menu>95 </container>96 </page>97 </ xs l : t emp l a t e>98

99 </ x s l : s t y l e s h e e t>

B.3.4. Formación para el empleo

cursos_formulario.xpl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <p : c on f i g xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns:tmg=" ht tp :

//www. tmira . com/ops/ p r o c e s s o r s " xmlns:p=" ht tp : //www. orbeon . com/ oxf /p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">

3

4 <p:param type=" input " name=" in s tance "/>5

6 <p :p r o c e s s o r name=" ox f : r e q u e s t ">7 <p: input name=" con f i g ">8 <config stream−type="xs:anyURI" xmlns :xs=" ht tp : //www.w3 . org /2001/

XMLSchema">9 <inc lude>/ reques t / se rve r−name</ inc lude>

10 <inc lude>/ reques t / se rve r−port</ inc lude>11 </config>12 </p: input>13 <p:output name="data" id=" s e r v e r "/>14 </ p :p r o c e s s o r>15

16 <!−− Procesador para generar e l config ne c e s a r i o para e l método HTTP −−>17 <p :p r o c e s s o r name=" o x f : x s l t ">18 <p: input name="data" h r e f="#in s tance "/>19 <p: input name=" con f i g ">20 <x s l : s t y l e s h e e t version=" 2 .0 ">21 <xs l : t emp l a t e match="/">

228 Apéndice B. Ficheros desarrollados para la aplicación

22 <config>23 <method>url−http</method>24 <cookies>yes</cookies>25 <action>26 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www.

juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo /web/websae/ po r t a l / es /empleo/ formacion /ofertasFPE / ' ,/submiss ion / tipoCursoText , ' / busquedaAvanzada . html?t i c k e t=nocas ' ) "/>

27 </action>28 <timeout>40</timeout>29 <content−type>text /html</content−type>30 <encoding>utf−8</encoding>31 </config>32 </ xs l : t emp l a t e>33 </ x s l : s t y l e s h e e t>34 </p: input>35 <p:output name="data" id="metodo_http"/>36 </ p :p r o c e s s o r>37

38 <!−− Método GET (HTTP) −−>39 <p :p r o c e s s o r name="tmg:tm−http ">40 <p: input name=" con f i g " h r e f="#metodo_http"/>41 <p:output name="data" id="page"/>42 </ p :p r o c e s s o r>43

44 <!−− Recupera l a l i s t a de munic ip ios −−>45 <p :p r o c e s s o r name=" o x f : i d e n t i t y ">46 <p: input name="data" h r e f="munic ip ios . xml"/>47 <p:output name="data" id="municipiosxml "/>48 </ p :p r o c e s s o r>49

50 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTML r e c i b i d o −−>51 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">52 <p: input name=" con f i g ">53 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" x s l : v e r s i o n

=" 2 .0 ">54 <munic ip ios>55 <x s l : f o r −each s e l e c t="doc ( ' input :munic ip iosxml ' ) / p r ov i n c i a s /

p rov inc i a [@cp=doc ( ' input :dat−in s tance ' ) / submiss ion /p rov inc i a ] ">

56 <x s l : f o r −each s e l e c t=" . / opt ion ">57 <munic ip io>58 <nombre>59 <xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−space (

t ex t ( ) ) , ' , ' , ' ' ) "/>60 </nombre>61 <va lo r>62 <xs l : v a l u e−o f s e l e c t="@value"/>63 </ va lo r>64 </munic ip io>65 </ x s l : f o r −each>66 </ x s l : f o r −each>67 </munic ip ios>68 <f am i l i a s>69 <x s l : f o r −each s e l e c t="// s e l e c t [ @id=' f ami l i a ' ] / opt ion ">70 <fam i l i a>71 <nombre>72 <xs l : v a l u e−o f s e l e c t=" t r a n s l a t e ( normal ize−space ( t ex t

( ) ) , ' , ' , ' ' ) "/>73 </nombre>74 <va lo r>75 <xs l : v a l u e−o f s e l e c t=" . / @value"/>76 </ va lo r>

B.3. Directorio de gestión del canal de retorno 229

77 </ f am i l i a>78 </ x s l : f o r −each>79 </ f am i l i a s>80 </ items>81 </p: input>82 <p: input name="data" h r e f="#page"/>83 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>84 <p: input name="municipiosxml " h r e f="#municipiosxml "/>85 <p:output name="data" id=" r e s u l t "/>86 </ p :p r o c e s s o r>87

88 <!−− Generación de l f i c h e r o XML −−>89 <p :p r o c e s s o r name=" o x f : x s l t ">90 <p: input name=" con f i g " h r e f=" cursos_formular io . x s l "/>91 <p: input name="data" h r e f="#r e s u l t "/>92 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>93 <p: input name=" s e r v e r " h r e f="#se rv e r "/>94 <p:output name="data" id=" l i s t "/>95 </ p :p r o c e s s o r>96

97 <!−− S e r i a l i z a c i ó n de l f i c h e r o XML −−>98 <p :p r o c e s s o r name="oxf :xml−s e r i a l i z e r ">99 <p: input name=" con f i g ">

100 <config>101 <content−type>app l i c a t i on /xml</content−type>102 <encoding>utf−8</encoding>103 <version>1.0</version>104 </config>105 </p: input>106 <p: input name="data" h r e f="#l i s t "/>107 </ p :p r o c e s s o r>108

109 </ p : c o n f i g>

cursos_formulario.xsl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

xmlns :xa lan=" ht tp : //xml . apache . org / x s l t " version=" 1 .0 ">3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <xs l : t emp l a t e match=" items ">7 <page>8 <help>c_help</help>9

10 <!−− Contenedor de l í n d i c e l a t e r a l −−>11 <container id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy=

"214" s i z e x="118" s i z e y="168">12 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_anuncios_off . png" posy="28" posx="0"

s i z e x="118" s i z e y="28"></image>14 <image path=" images / ind_empresas_off . png" posy="56" posx="0"

s i z e x="118" s i z e y="28"></image>15 <image path=" images / ind_formacion_on . png" posy="84" posx="0"

s i z e x="118" s i z e y="28"></image>16 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0"

s i z e x="118" s i z e y="28"></image>17 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="

118" s i z e y="28"></image>

230 Apéndice B. Ficheros desarrollados para la aplicación

18 </container>19

20 <!−− Contenedor de l f o rmu la r i o de búsqueda −−>21 <container id="c_form" v i s="1" alpha="0" posx="30" posy="233" s i z e x

="520" s i z e y="330">22 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25"

s c r o l l="0">Cursos de formación para e l empleo</text>23

24 <form f o cu s=" f_tipoCurso " posx="0" posy="30" s i z e x="520" s i z e y="300" s t y l e="s_menu_form">

25

26 <text s t r="Tipo de curso " posx="0" posy="0" s i z e x="155" s i z e y="25" s t y l e="s_body_form"></text>

27 <form_list id=" f_tipoCurso " va l="0000" type="harrows" posx="175" posy="0" s i z e x="150" s i z e y="25" down=" f_ i n i c i o " up="f_buscar ">

28 <x s l : a t t r i b u t e name=" opt ions "><xs l : v a l u e−o f s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / t ipoCurso "/></x s l : a t t r i b u t e>

29 <xs l : c h o o s e>30 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion /

t ipoCurso='PRV' ">31 <x s l : a t t r i b u t e name=" opt ions_texts ">Prev i s t o s</

x s l : a t t r i b u t e>32 </xs l :when>33 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion /

t ipoCurso='PUB' ">34 <x s l : a t t r i b u t e name=" opt ions_texts ">Convocados</

x s l : a t t r i b u t e>35 </xs l :when>36 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion /

t ipoCurso='AMP' ">37 <x s l : a t t r i b u t e name=" opt ions_texts ">Plazo Ampliado</

x s l : a t t r i b u t e>38 </xs l :when>39 </ x s l : c h o o s e>40 </ form_list>41

42 <text s t r=" I n i c i o programado en" posx="0" posy="30" s i z e x="155" s i z e y="25" s t y l e="s_body_form"></text>

43 <form_list id=" f_ i n i c i o " opt ions="−1 ,01 ,02 ,03 ,04 ,05 ,06 ,07 ,08 ,09 ,10 ,11 ,12 " opt ions_texts="Cualquier mes , Enero , Febrero , Marzo , Abri l ,Mayo , Junio , Ju l i o ,Agosto , Septiembre , Octubre , Noviembre , Diciembre " va l="0000"type="harrows" posx="175" posy="30" s i z e x="150" s i z e y="

25" up=" f_tipoCurso " down=" f_municipio "></ form_list>44

45 <text s t r="Municipio " posx="0" posy="60" s i z e x="155" s i z e y="25" s t y l e="s_body_form"></text>

46 <form_list id=" f_municipio " va l="0000" type="harrows" posx="175" posy="60" s i z e x="330" s i z e y="25" up=" f_ i n i c i o ">

47 <x s l : a t t r i b u t e name="down">48 <xs l : c h o o s e>49 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion

/ t ipoCurso != 'AMP' ">50 <x s l : t e x t>f_co l e c t i v o</ x s l : t e x t>51 </xs l :when>52 <x s l : o t h e rw i s e>53 <x s l : t e x t>f_codigo</ x s l : t e x t>54 </ x s l : o t h e rw i s e>55 </ x s l : c h o o s e>56 </ x s l : a t t r i b u t e>57 <x s l : a t t r i b u t e name=" opt ions ">58 <xs l : f o r− ea ch s e l e c t="munic ip ios /munic ip io ">

B.3. Directorio de gestión del canal de retorno 231

59 <xs l : v a l u e−o f s e l e c t=" . / va l o r "/>60 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">61 <x s l : t e x t> ,</ x s l : t e x t>62 </ x s l : i f>63 </ xs l : f o r− ea ch>64 </ x s l : a t t r i b u t e>65 <x s l : a t t r i b u t e name=" opt ions_texts ">66 <xs l : f o r− ea ch s e l e c t="munic ip ios /munic ip io ">67 <xs l : v a l u e−o f s e l e c t=" . / nombre"/>68 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">69 <x s l : t e x t> ,</ x s l : t e x t>70 </ x s l : i f>71 </ xs l : f o r− ea ch>72 </ x s l : a t t r i b u t e>73 </ form_list>74

75 <x s l : i f t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion / t ipoCurso!= 'AMP' ">

76 <text s t r="Co l e c t i vo " posx="0" posy="90" s i z e x="155" s i z e y="25" s t y l e="s_body_form"></text>

77 <form_list id=" f_co l e c t i v o " opt ions="−1 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 " opt ions_texts="Todos l o sc o l e c t i v o s , Desempleados ( gene ra l ) , Desempleados (jóvenes ) , Desempleados ( minor ías é t n i c a s /migrantes yo t r o s c o l e c t i v o s d e s f avo r e c i d o s ) , Desempleados (minusvá l idos ) , Desempleados ( mujeres ) , Formadores (desempleados /ocupados ) , Inmigrantes , Ocupados ( trab .pymes de ec . s o c i a l y autónomos ) , Plan memta , Prote ja "va l="0000" type="harrows" posx="175" posy="90" s i z e x="330" s i z e y="25" up=" f_municipio " down=" f_prac t i c a s "></form_list>

78

79 <text s t r=" Prác t i c a s empresas " posx="0" posy="120" s i z e x="155" s i z e y="25" s t y l e="s_body_form"></text>

80 <form_list id=" f_prac t i ca s " opt ions="−1,Si ,No"opt ions_texts="Todas l a s opciones , Sí ,No" va l="0000"type="harrows" posx="175" posy="120" s i z e x="150" s i z e y="25" up=" f_co l e c t i v o " down=" f_fami l i a "></ form_list>

81 </ x s l : i f>82

83 <x s l : i f t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion / t ipoCurso='AMP' ">

84 <text s t r="Código de l a o f e r t a " posx="0" posy="90" s i z e x="155" s i z e y="25" s t y l e="s_body_form"></text>

85 <edit_text id=" f_codigo " va l="" c o l e d i t="#f f f f f f " posx="175" posy="90" s i z e x="330" s i z e y="25" up=" f_municipio "down=" f_fami l i a " type="numeric "></edit_text>

86 </ x s l : i f>87

88 <text s t r="Famil ia p r o f e s i o n a l " posx="0" posy="150" s i z e x="155" s i z e y="25" s t y l e="s_body_form"></text>

89 <form_list id=" f_fami l i a " va l="0000" type="harrows" posx="175" posy="150" s i z e x="330" s i z e y="25" down=" f_buscar ">

90 <x s l : a t t r i b u t e name="up">91 <xs l : c h o o s e>92 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion

/ t ipoCurso != 'AMP' ">93 <x s l : t e x t>f_prac t i c a s</ x s l : t e x t>94 </xs l :when>95 <x s l : o t h e rw i s e>96 <x s l : t e x t>f_codigo</ x s l : t e x t>97 </ x s l : o t h e rw i s e>98 </ x s l : c h o o s e>99 </ x s l : a t t r i b u t e>

232 Apéndice B. Ficheros desarrollados para la aplicación

100 <x s l : a t t r i b u t e name=" opt ions ">101 <xs l : f o r− ea ch s e l e c t=" f am i l i a s / f am i l i a ">102 <xs l : v a l u e−o f s e l e c t=" . / va l o r "/>103 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">104 <x s l : t e x t> ,</ x s l : t e x t>105 </ x s l : i f>106 </ xs l : f o r− ea ch>107 </ x s l : a t t r i b u t e>108 <x s l : a t t r i b u t e name=" opt ions_texts ">109 <xs l : f o r− ea ch s e l e c t=" f am i l i a s / f am i l i a ">110 <xs l : v a l u e−o f s e l e c t=" . / nombre"/>111 <x s l : i f t e s t=" po s i t i o n ( ) != l a s t ( ) ">112 <x s l : t e x t> ,</ x s l : t e x t>113 </ x s l : i f>114 </ xs l : f o r− ea ch>115 </ x s l : a t t r i b u t e>116 </ form_list>117

118 <form_imgbutton id=" f_buscar " img=" images /bot_buscar_off . png"imgfocus=" images /bot_buscar_on . png"

119 posx="170" posy="185" s i z e x="122" s i z e y="79" up=" f_fami l i a " down=" f_tipoCurso " va l i d a t i o n=" f a l s e ">

120 <action key="OK">121 <x s l : a t t r i b u t e name=" act ">122 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>123 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>124 <x s l : v a r i a b l e name=" textoCurso " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / tipoCursoText "/>125 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc / cursos_formacion ? t ipoCurso=$f_tipoCurso ;&amp ; tipoCursoText= ' ,$ textoCurso, '&amp ; i n i c i o=$f_ i n i c i o ;&amp ; munic ip io=$f_municipio ;&amp ; pag=1&amp ; ' ) "/>

126 <x s l : v a r i a b l e name="prov" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / prov inc i a "/>

127 <xs l : c h o o s e>128 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) /

submiss ion / t ipoCurso != 'AMP' ">129 <xs l : v a l u e−o f s e l e c t=" concat ($comun , ' c o l e c t i v o

=$f_co l e c t i v o ;&amp ; f am i l i a=$f_fami l i a ;&amp; p r a c t i c a s=$f_prac t i ca s ;&amp ; codigo=&amp ;p rov inc i a = ' ,$ prov , ' ) ' ) "/>

130 </xs l :when>131 <x s l : o t h e rw i s e>132 <xs l : v a l u e−o f s e l e c t=" concat ($comun , ' cod igo=&

amp ; f am i l i a=$f_fami l i a ;&amp ; p r a c t i c a s=&amp; c o l e c t i v o=&amp ; p rov inc i a = ' ,$ prov , ' ) ' ) "/>

133 </ x s l : o t h e rw i s e>134 </ x s l : c h o o s e>135 </ x s l : a t t r i b u t e>136 <x s l : a t t r i b u t e name="actback ">137 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>138 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>139 <x s l : v a r i a b l e name=" tipoCurso " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / t ipoCurso "/>140 <x s l : v a r i a b l e name=" textoCurso " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / tipoCursoText "/>141 <x s l : v a r i a b l e name="prov" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>

B.3. Directorio de gestión del canal de retorno 233

142 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (∗ ) , showpage (h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps/16003/800/ rc / cursos_formular io ? t ipoCurso = ' ,$tipoCurso , '&amp ; tipoCursoText= ' ,$ textoCurso , '&amp ; p rov inc i a = ' ,$ prov , ' ) ' ) "/>

143 </ x s l : a t t r i b u t e>144

145 </action>146 </form_imgbutton>147

148 </form>149 </container>150

151 </page>152 </ xs l : t emp l a t e>153

154 </ x s l : s t y l e s h e e t>

municipios.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2

3 <prov i n c i a s>4

5 <!−− Todas l a s p r ov i n c i a s −−>6 <prov inc i a cp="−1">7 <opt ion value="−1">−−Todos l o s munic ip ios−−</opt ion>8 </ prov inc i a>9

10

11 <!−− Almería −−>12 <prov inc i a cp="04">13 <opt ion value="−1">−−Todos l o s munic ip ios−−</opt ion>14

15

16 <opt ion value="04001" >Abla</ opt ion>17

18 <opt ion value="04002" >Abrucena</ opt ion>19

20 <opt ion value="04003" >Adra</ opt ion>21

22 <opt ion value="04720" >Aguadulce</ opt ion>23

24 <opt ion value="04004" >Albanchez</ opt ion>25

26 <opt ion value="04005" >Alboloduy</ opt ion>27

28

29 <opt ion value="04006" >Albox</ opt ion>30

31 <opt ion value="04007" >Alco l ea</ opt ion>32

33 <opt ion value="04008" >Alcontar</ opt ion>34

35 <opt ion value="04009" >Alcudia de monteagud</ opt ion>36

37 <opt ion value="04010" >Alhabia</ opt ion>38

39 <opt ion value="04011" >Alhama de a lmer ia</ opt ion>40

41

234 Apéndice B. Ficheros desarrollados para la aplicación

42 <opt ion value="04012" >Alicun</ opt ion>43

44 <opt ion value="04013" >Almeria</ opt ion>45

46 <opt ion value="04014" >Almocita</ opt ion>47

48 <opt ion value="04779" >Alquer ia ( venta nueva ) ( l a )</opt ion>

49

50 <opt ion value="04130" >Alquian ( e l )</ opt ion>51

52 <opt ion value="04015" >Alsodux</ opt ion>53

54

55 <opt ion value="04016" >Antas</ opt ion>56

57 <opt ion value="04017" >Arboleas</ opt ion>58

59 <opt ion value="04018" >Armuña de almanzora</ opt ion>60

61 <opt ion value="04019" >Bacares</ opt ion>62

63 <opt ion value="04713" >Balanegra</ opt ion>64

65 <opt ion value="04712" >Balerma</ opt ion>66

67

68 <opt ion value="04020" >Bayarcal</ opt ion>69

70 <opt ion value="04021" >Bayarque</ opt ion>71

72 <opt ion value="04022" >Bedar</ opt ion>73

74 <opt ion value="04023" >Be i r e s</ opt ion>75

76 <opt ion value="04024" >Benahadux</ opt ion>77

78 <opt ion value="04026" >Beni tag la</ opt ion>79

80

81 <opt ion value="04027" >Beniza lon</ opt ion>82

83 <opt ion value="04028" >Bentar ique</ opt ion>84

85 <opt ion value="04029" >Berja</ opt ion>86

87 <opt ion value="04110" >Campohermoso</ opt ion>88

89 <opt ion value="04030" >Canjayar</ opt ion>90

91 <opt ion value="04031" >Cantoria</ opt ion>92

93

94 <opt ion value="04032" >Carboneras</ opt ion>95

96 <opt ion value="04033" >Castro de f i l a b r e s</ opt ion>97

98 <opt ion value="04811" >Cañada ( l a )</ opt ion>99

100 <opt ion value="04120" >Cañada de san urbano ( l a )</opt ion>

101

102 <opt ion value="04036" >Chercos</ opt ion>103

B.3. Directorio de gestión del canal de retorno 235

104 <opt ion value="04037" >Ch i r i v e l</ opt ion>105

106

107 <opt ion value="04034" >Cobdar</ opt ion>108

109 <opt ion value="04920" >Costacabana</ opt ion>110

111 <opt ion value="04035" >Cuevas de l almanzora</ opt ion>112

113 <opt ion value="04770" >Curva ( l a )</ opt ion>114

115 <opt ion value="04038" >Dal ia s</ opt ion>116

117 <opt ion value="04039" >Dar r i c a l</ opt ion>118

119

120 <opt ion value="04905" >Doña maria de ocaña</ opt ion>121

122 <opt ion value="04902" >Ejido ( e l )</ opt ion>123

124 <opt ion value="04041" >Enix</ opt ion>125

126 <opt ion value="04904" >Escu l l a r</ opt ion>127

128 <opt ion value="04043" >Fe l i x</ opt ion>129

130 <opt ion value="04044" >Fines</ opt ion>131

132

133 <opt ion value="04045" >Fiñana</ opt ion>134

135 <opt ion value="04046" >Fondon</ opt ion>136

137 <opt ion value="04047" >Gador</ opt ion>138

139 <opt ion value="04048" >Gal lardos ( l o s )</ opt ion>140

141 <opt ion value="04280" >Gal lardos ( l o s )</ opt ion>142

143 <opt ion value="04049" >Garrucha</ opt ion>144

145

146 <opt ion value="04050" >Gergal</ opt ion>147

148 <opt ion value="04051" >Huec i ja</ opt ion>149

150 <opt ion value="04052" >Huercal de a lmer ia</ opt ion>151

152 <opt ion value="04600" >Huercal overa</ opt ion>153

154 <opt ion value="04053" >Huercal−overa</ opt ion>155

156 <opt ion value="04054" >I l l a r</ opt ion>157

158

159 <opt ion value="04055" >In s t i n c i o n</ opt ion>160

161 <opt ion value="04056" >Laroya</ opt ion>162

163 <opt ion value="04057" >Laujar de andarax</ opt ion>164

165 <opt ion value="04058" >L i j a r</ opt ion>166

167 <opt ion value="04059" >Lubrin</ opt ion>

236 Apéndice B. Ficheros desarrollados para la aplicación

168

169 <opt ion value="04060" >Lucainena de l a s t o r r e s</ opt ion>170

171

172 <opt ion value="04061" >Lucar</ opt ion>173

174 <opt ion value="04062" >Macael</ opt ion>175

176 <opt ion value="04063" >Maria</ opt ion>177

178 <opt ion value="04064" >Mojacar</ opt ion>179

180 <opt ion value="04903" >Mojonera ( l a )</ opt ion>181

182 <opt ion value="04065" >Nacimiento</ opt ion>183

184

185 <opt ion value="04066" >Ni ja r</ opt ion>186

187 <opt ion value="04716" >Norias de daza ( l a s )</ opt ion>188

189 <opt ion value="04067" >Ohanes</ opt ion>190

191 <opt ion value="04068" >Olula de ca s t r o</ opt ion>192

193 <opt ion value="04069" >Olula de l r i o</ opt ion>194

195 <opt ion value="04070" >Oria</ opt ion>196

197

198 <opt ion value="04810" >Oria</ opt ion>199

200 <opt ion value="04071" >Padules</ opt ion>201

202 <opt ion value="04072" >Parta loa</ opt ion>203

204 <opt ion value="04073" >Paterna de l r i o</ opt ion>205

206 <opt ion value="04074" >Pechina</ opt ion>207

208 <opt ion value="04075" >Pulpi</ opt ion>209

210

211 <opt ion value="04076" >Purchena</ opt ion>212

213 <opt ion value="04077" >Ragol</ opt ion>214

215 <opt ion value="04078" >Rioja</ opt ion>216

217 <opt ion value="04079" >Roquetas de mar</ opt ion>218

219 <opt ion value="04080" >Santa cruz de marchena</ opt ion>220

221 <opt ion value="04081" >Santa f e de mondujar</ opt ion>222

223

224 <opt ion value="04710" >Santa maria de l a gu i l a</ opt ion>225

226 <opt ion value="04700" >Santo domingo</ opt ion>227

228 <opt ion value="04082" >Senes</ opt ion>229

230 <opt ion value="04083" >Seron</ opt ion>231

B.3. Directorio de gestión del canal de retorno 237

232 <opt ion value="04084" >S i e r r o</ opt ion>233

234 <opt ion value="04085" >Somontin</ opt ion>235

236

237 <opt ion value="04086" >Sorbas</ opt ion>238

239 <opt ion value="04087" >Su f l i</ opt ion>240

241 <opt ion value="04088" >Tabernas</ opt ion>242

243 <opt ion value="04089" >Taberno</ opt ion>244

245 <opt ion value="04090" >Tahal</ opt ion>246

247 <opt ion value="04091" >Terque</ opt ion>248

249

250 <opt ion value="04092" >T i j o l a</ opt ion>251

252 <opt ion value="04901" >Tres v i l l a s ( l a s )</ opt ion>253

254 <opt ion value="04093" >Turre</ opt ion>255

256 <opt ion value="04094" >Tu r r i l l a s</ opt ion>257

258 <opt ion value="04095" >U l e i l a de l campo</ opt ion>259

260 <opt ion value="04096" >Urraca l</ opt ion>261

262

263 <opt ion value="04097" >Ve l e f i que</ opt ion>264

265 <opt ion value="04098" >Velez−blanco</ opt ion>266

267 <opt ion value="04099" >Velez−rub io</ opt ion>268

269 <opt ion value="04100" >Vera</ opt ion>270

271 <opt ion value="04101" >Viator</ opt ion>272

273 <opt ion value="04102" >Vicar</ opt ion>274

275

276 <opt ion value="04103" >Zurgena</ opt ion>277 </ prov inc i a>278

279 <!−− Cádiz −−>280 <prov inc i a cp="11">281 <opt ion value="−1">−−Todos l o s munic ip ios−−</opt ion>282

283

284 <opt ion value="11001" >Alca la de l o s gazu l e s</ opt ion>285

286 <opt ion value="11002" >Alca la de l v a l l e</ opt ion>287

288 <opt ion value="11003" >Algar</ opt ion>289

290 <opt ion value="11004" >Alg e c i r a s</ opt ion>291

292 <opt ion value="11005" >Algodonales</ opt ion>293

294 <opt ion value="11006" >Arcos de l a f r on t e r a</ opt ion>295

238 Apéndice B. Ficheros desarrollados para la aplicación

296

297 <opt ion value="11007" >Barbate</ opt ion>298

299 <opt ion value="11008" >Barr i o s ( l o s )</ opt ion>300

301 <opt ion value="11901" >Benalup</ opt ion>302

303 <opt ion value="11009" >Benaocaz</ opt ion>304

305 <opt ion value="11010" >Bornos</ opt ion>306

307 <opt ion value="11011" >Bosque ( e l )</ opt ion>308

309

310 <opt ion value="11012" >Cadiz</ opt ion>311

312 <opt ion value="11013" >Ca s t e l l a r de l a f r on t e r a</ opt ion>

313

314 <opt ion value="11015" >Chiclana de l a f r on t e r a</ opt ion>315

316 <opt ion value="11016" >Chipiona</ opt ion>317

318 <opt ion value="11014" >Coni l de l a f r on t e r a</ opt ion>319

320 <opt ion value="11043" >Desconocido</ opt ion>321

322

323 <opt ion value="11017" >Espera</ opt ion>324

325 <opt ion value="11018" >Gastor ( e l )</ opt ion>326

327 <opt ion value="11019" >Grazalema</ opt ion>328

329 <opt ion value="11020" >Jerez de l a f r on t e r a</ opt ion>330

331 <opt ion value="11021" >Jimena de l a f r on t e r a</ opt ion>332

333 <opt ion value="11022" >Linea de l a concepc ion ( l a )</opt ion>

334

335

336 <opt ion value="11023" >Medina−s i d on i a</ opt ion>337

338 <opt ion value="11024" >Olvera</ opt ion>339

340 <opt ion value="11025" >Paterna de r i v e r a</ opt ion>341

342 <opt ion value="11026" >Prado de l rey</ opt ion>343

344 <opt ion value="11027" >Puerto de santa maria ( e l )</opt ion>

345

346 <opt ion value="11028" >Puerto r e a l</ opt ion>347

348

349 <opt ion value="11029" >Puerto se r rano</ opt ion>350

351 <opt ion value="11030" >Rota</ opt ion>352

353 <opt ion value="11031" >San fernando</ opt ion>354

355 <opt ion value="11902" >San j o s e de l v a l l e</ opt ion>356

B.3. Directorio de gestión del canal de retorno 239

357 <opt ion value="11340" >San martin de l t e s o r i l l o</ opt ion>

358

359 <opt ion value="11033" >San roque</ opt ion>360

361

362 <opt ion value="11032" >Sanlucar de barrameda</ opt ion>363

364 <opt ion value="11034" >S e t e n i l de l a s bodegas</ opt ion>365

366 <opt ion value="11035" >Tar i f a</ opt ion>367

368 <opt ion value="11036" >Torre−alhaquime</ opt ion>369

370 <opt ion value="11037" >Trebujena</ opt ion>371

372 <opt ion value="11038" >Ubrique</ opt ion>373

374

375 <opt ion value="11039" >Vejer de l a f r on t e r a</ opt ion>376

377 <opt ion value="11040" >Vi l l a l u enga de l r o s a r i o</ opt ion>378

379 <opt ion value="11041" >Vi l l amar t in</ opt ion>380

381 <opt ion value="11042" >Zahara</ opt ion>382 </ prov inc i a>383

384

385 <!−− Córdoba −−>386 <prov inc i a cp="14">387 <opt ion value="−1">−−Todos l o s munic ip ios−−</opt ion>388

389

390 <opt ion value="14001" >Adamuz</ opt ion>391

392 <opt ion value="14002" >Agui lar de l a f r on t e r a</ opt ion>393

394 <opt ion value="14003" >Alca ra c e j o s</ opt ion>395

396 <opt ion value="14610" >Alco l ea</ opt ion>397

398 <opt ion value="14004" >Almed in i l l a</ opt ion>399

400 <opt ion value="14005" >Almodovar de l r i o</ opt ion>401

402

403 <opt ion value="14006" >Añora</ opt ion>404

405 <opt ion value="14007" >Baena</ opt ion>406

407 <opt ion value="14008" >Be la l c a za r</ opt ion>408

409 <opt ion value="14009" >Belmez</ opt ion>410

411 <opt ion value="14010" >Benameji</ opt ion>412

413 <opt ion value="14011" >Blazquez ( l o s )</ opt ion>414

415

416 <opt ion value="14012" >Bujalance</ opt ion>417

418 <opt ion value="14013" >Cabra</ opt ion>419

240 Apéndice B. Ficheros desarrollados para la aplicación

420 <opt ion value="14015" >Carcabuey</ opt ion>421

422 <opt ion value="14016" >Cardeña</ opt ion>423

424 <opt ion value="14017" >Carlota ( l a )</ opt ion>425

426 <opt ion value="14018" >Carpio ( e l )</ opt ion>427

428

429 <opt ion value="14019" >Castro de l r i o</ opt ion>430

431 <opt ion value="14014" >Cañete de l a s t o r r e s</ opt ion>432

433 <opt ion value="14020" >Conquista</ opt ion>434

435 <opt ion value="14021" >Cordoba</ opt ion>436

437 <opt ion value="14023" >Dos t o r r e s</ opt ion>438

439 <opt ion value="14022" >Doña mencia</ opt ion>440

441

442 <opt ion value="14024" >Encinas r e a l e s</ opt ion>443

444 <opt ion value="14025" >Espejo</ opt ion>445

446 <opt ion value="14026" >Esp i e l</ opt ion>447

448 <opt ion value="14027" >Fernan nuñez</ opt ion>449

450 <opt ion value="14110" >Fuente c a r r e t e r o s</ opt ion>451

452 <opt ion value="14028" >Fuente l a lancha</ opt ion>453

454

455 <opt ion value="14029" >Fuente obejuna</ opt ion>456

457 <opt ion value="14030" >Fuente palmera</ opt ion>458

459 <opt ion value="14031" >Fuente−t o j a r</ opt ion>460

461 <opt ion value="14032" >Granjuela ( l a )</ opt ion>462

463 <opt ion value="14033" >Guadalcazar</ opt ion>464

465 <opt ion value="14034" >Guijo ( e l )</ opt ion>466

467

468 <opt ion value="14193" >Higueron ( e l )</ opt ion>469

470 <opt ion value="14035" >Hinojosa de l duque</ opt ion>471

472 <opt ion value="14036" >Hornachuelos</ opt ion>473

474 <opt ion value="14037" >I zna j a r</ opt ion>475

476 <opt ion value="14038" >Lucena</ opt ion>477

478 <opt ion value="14039" >Luque</ opt ion>479

480

481 <opt ion value="14040" >Montalban de cordoba</ opt ion>482

483 <opt ion value="14041" >Montemayor</ opt ion>

B.3. Directorio de gestión del canal de retorno 241

484

485 <opt ion value="14042" >Mont i l l a</ opt ion>486

487 <opt ion value="14043" >Montoro</ opt ion>488

489 <opt ion value="14044" >Monturque</ opt ion>490

491 <opt ion value="14045" >Mor i l e s</ opt ion>492

493

494 <opt ion value="14046" >Nueva car teya</ opt ion>495

496 <opt ion value="14047" >Obejo</ opt ion>497

498 <opt ion value="14129" >Ochav i l l o de l r i o</ opt ion>499

500 <opt ion value="14048" >Palenc iana</ opt ion>501

502 <opt ion value="14049" >Palma de l r i o</ opt ion>503

504 <opt ion value="14050" >Pedro abad</ opt ion>505

506

507 <opt ion value="14051" >Pedroche</ opt ion>508

509 <opt ion value="14052" >Peñarroya−pueblonuevo</ opt ion>510

511 <opt ion value="14053" >Posadas</ opt ion>512

513 <opt ion value="14054" >Pozoblanco</ opt ion>514

515 <opt ion value="14055" >Priego de cordoba</ opt ion>516

517 <opt ion value="14056" >Puente g e n i l</ opt ion>518

519

520 <opt ion value="14057" >Rambla ( l a )</ opt ion>521

522 <opt ion value="14058" >Rute</ opt ion>523

524 <opt ion value="14059" >San s eba s t i an de l o s b a l l e s t e r o s</ opt ion>

525

526 <opt ion value="14061" >Santa eufemia</ opt ion>527

528 <opt ion value="14060" >Santae l l a</ opt ion>529

530 <opt ion value="14062" >Torrecampo</ opt ion>531

532

533 <opt ion value="14063" >Valenzue la</ opt ion>534

535 <opt ion value="14064" >Va l s e qu i l l o</ opt ion>536

537 <opt ion value="14065" >Vi c t o r i a ( l a )</ opt ion>538

539 <opt ion value="14066" >V i l l a de l r i o</ opt ion>540

541 <opt ion value="14067" >V i l l a f r a n c a de cordoba</ opt ion>542

543 <opt ion value="14068" >Vi l l aha r t a</ opt ion>544

545

546 <opt ion value="14069" >Vi l lanueva de cordoba</ opt ion>

242 Apéndice B. Ficheros desarrollados para la aplicación

547

548 <opt ion value="14070" >Vi l lanueva de l duque</ opt ion>549

550 <opt ion value="14071" >Vi l lanueva de l rey</ opt ion>551

552 <opt ion value="14072" >V i l l a r a l t o</ opt ion>553

554 <opt ion value="14710" >V i l l a r r ub i a</ opt ion>555

556 <opt ion value="14073" >V i l l a v i c i o s a de cordoba</ opt ion>557

558

559 <opt ion value="14074" >Viso ( e l )</ opt ion>560

561 <opt ion value="14950" >Zambra</ opt ion>562

563 <opt ion value="14075" >Zuheros</ opt ion>564 </ prov inc i a>565

566

567 <!−− Granada −−>568 <prov inc i a cp="18">569 <opt ion value="−1">−−Todos l o s munic ip ios−−</opt ion>570

571

572 <opt ion value="18001" >Agron</ opt ion>573

574 <opt ion value="18002" >Alamedi l la</ opt ion>575

576 <opt ion value="18003" >Albo lote</ opt ion>577

578 <opt ion value="18004" >Albondon</ opt ion>579

580 <opt ion value="18005" >Albuñan</ opt ion>581

582 <opt ion value="18006" >Albuñol</ opt ion>583

584

585 <opt ion value="18007" >Albuñuelas</ opt ion>586

587 <opt ion value="18920" >Alcudia de guadix</ opt ion>588

589 <opt ion value="18010" >Alde i r e</ opt ion>590

591 <opt ion value="18011" >Al facar</ opt ion>592

593 <opt ion value="18012" >Alga r in e j o</ opt ion>594

595 <opt ion value="18013" >Alhama de granada</ opt ion>596

597

598 <opt ion value="18014" >Alhendin</ opt ion>599

600 <opt ion value="18015" >Alicun de or tega</ opt ion>601

602 <opt ion value="18016" >Almegi jar</ opt ion>603

604 <opt ion value="18017" >Almuñecar</ opt ion>605

606 <opt ion value="18904" >Alpujarra de l a s i e r r a</ opt ion>607

608 <opt ion value="18018" >Alqu i f e</ opt ion>609

610

B.3. Directorio de gestión del canal de retorno 243

611 <opt ion value="18020" >Arenas de l rey</ opt ion>612

613 <opt ion value="18021" >Armil la</ opt ion>614

615 <opt ion value="18022" >Atar fe</ opt ion>616

617 <opt ion value="18023" >Baza</ opt ion>618

619 <opt ion value="18024" >Beas de granada</ opt ion>620

621 <opt ion value="18025" >Beas de guadix</ opt ion>622

623

624 <opt ion value="18027" >Benalua de guadix</ opt ion>625

626 <opt ion value="18028" >Benalua de l a s v i l l a s</ opt ion>627

628 <opt ion value="18029" >Benamaurel</ opt ion>629

630 <opt ion value="18030" >Berchules</ opt ion>631

632 <opt ion value="18032" >Bubion</ opt ion>633

634 <opt ion value="18033" >Busquis tar</ opt ion>635

636

637 <opt ion value="18034" >Cacin</ opt ion>638

639 <opt ion value="18035" >Cadiar</ opt ion>640

641 <opt ion value="18036" >Cajar</ opt ion>642

643 <opt ion value="18199" >Cajar</ opt ion>644

645 <opt ion value="18730" >Calahonda</ opt ion>646

647 <opt ion value="18114" >Calahorra ( l a )</ opt ion>648

649

650 <opt ion value="18037" >Ca l i c a s a s</ opt ion>651

652 <opt ion value="18038" >Campotejar</ opt ion>653

654 <opt ion value="18039" >Can i l e s</ opt ion>655

656 <opt ion value="18042" >Cap i l e i r a</ opt ion>657

658 <opt ion value="18043" >Carataunas</ opt ion>659

660 <opt ion value="18044" >Castaras</ opt ion>661

662

663 <opt ion value="18740" >Ca s t e l l de f e r r o</ opt ion>664

665 <opt ion value="18045" >Ca s t i l l e j a r</ opt ion>666

667 <opt ion value="18046" >Ca s t r i l</ opt ion>668

669 <opt ion value="18040" >Cañar</ opt ion>670

671 <opt ion value="18047" >Cenes de l a vega</ opt ion>672

673 <opt ion value="18059" >Chauchina</ opt ion>674

244 Apéndice B. Ficheros desarrollados para la aplicación

675

676 <opt ion value="18061" >Chimeneas</ opt ion>677

678 <opt ion value="18062" >Churriana de l a vega</ opt ion>679

680 <opt ion value="18048" >Ci ju e l a</ opt ion>681

682 <opt ion value="18049" >Cogo l lo s de guadix</ opt ion>683

684 <opt ion value="18050" >Cogo l lo s vega</ opt ion>685

686 <opt ion value="18051" >Colomera</ opt ion>687

688

689 <opt ion value="18053" >Cortes de baza</ opt ion>690

691 <opt ion value="18054" >Cortes y graena</ opt ion>692

693 <opt ion value="18912" >Cuevas de l campo</ opt ion>694

695 <opt ion value="18056" >Cul la r</ opt ion>696

697 <opt ion value="18057" >Cul la r vega</ opt ion>698

699 <opt ion value="18063" >Darro</ opt ion>700

701

702 <opt ion value="18064" >Dehesas de guadix</ opt ion>703

704 <opt ion value="18066" >De i f on te s</ opt ion>705

706 <opt ion value="18067" >Diezma</ opt ion>707

708 <opt ion value="18068" >Di l a r</ opt ion>709

710 <opt ion value="18069" >Dolar</ opt ion>711

712 <opt ion value="18070" >Dudar</ opt ion>713

714

715 <opt ion value="18071" >Durcal</ opt ion>716

717 <opt ion value="18072" >Escuzar</ opt ion>718

719 <opt ion value="18074" >Fe r r e i r a</ opt ion>720

721 <opt ion value="18076" >Fonelas</ opt ion>722

723 <opt ion value="18078" >Fr e i l a</ opt ion>724

725 <opt ion value="18079" >Fuente vaqueros</ opt ion>726

727

728 <opt ion value="18905" >Gabias ( l a s )</ opt ion>729

730 <opt ion value="18082" >Galera</ opt ion>731

732 <opt ion value="18083" >Gobernador</ opt ion>733

734 <opt ion value="18084" >Gojar</ opt ion>735

736 <opt ion value="18085" >Gor</ opt ion>737

738 <opt ion value="18086" >Gorafe</ opt ion>

B.3. Directorio de gestión del canal de retorno 245

739

740

741 <opt ion value="18087" >Granada</ opt ion>742

743 <opt ion value="18088" >Guadahortuna</ opt ion>744

745 <opt ion value="18089" >Guadix</ opt ion>746

747 <opt ion value="18906" >Guajares ( l o s )</ opt ion>748

749 <opt ion value="18093" >Gualchos</ opt ion>750

751 <opt ion value="18160" >Guejar s i e r r a</ opt ion>752

753

754 <opt ion value="18094" >Güejar s i e r r a</ opt ion>755

756 <opt ion value="18212" >Güevejar</ opt ion>757

758 <opt ion value="18095" >Güevejar</ opt ion>759

760 <opt ion value="18880" >Hernan v a l l e</ opt ion>761

762 <opt ion value="18096" >Huelago</ opt ion>763

764 <opt ion value="18097" >Hueneja</ opt ion>765

766

767 <opt ion value="18098" >Huescar</ opt ion>768

769 <opt ion value="18099" >Huetor s a n t i l l a n</ opt ion>770

771 <opt ion value="18100" >Huetor t a j a r</ opt ion>772

773 <opt ion value="18360" >Huetor t a j a r</ opt ion>774

775 <opt ion value="18198" >Huetor vega</ opt ion>776

777 <opt ion value="18101" >Huetor vega</ opt ion>778

779

780 <opt ion value="18102" >I l l o r a</ opt ion>781

782 <opt ion value="18103" >It rabo</ opt ion>783

784 <opt ion value="18105" >I z n a l l o z</ opt ion>785

786 <opt ion value="18107" >Jayena</ opt ion>787

788 <opt ion value="18108" >Jerez de l marquesado</ opt ion>789

790 <opt ion value="18109" >Jete</ opt ion>791

792

793 <opt ion value="18111" >Jun</ opt ion>794

795 <opt ion value="18213" >Jun</ opt ion>796

797 <opt ion value="18112" >Juv i l e s</ opt ion>798

799 <opt ion value="18115" >Lachar</ opt ion>800

801 <opt ion value="18116" >Lanjaron</ opt ion>802

246 Apéndice B. Ficheros desarrollados para la aplicación

803 <opt ion value="18117" >Lante i ra</ opt ion>804

805

806 <opt ion value="18914" >Laro l e s</ opt ion>807

808 <opt ion value="18119" >Lecr in</ opt ion>809

810 <opt ion value="18120" >Lenteg i</ opt ion>811

812 <opt ion value="18121" >Lobras</ opt ion>813

814 <opt ion value="18122" >Loja</ opt ion>815

816 <opt ion value="18123" >Lugros</ opt ion>817

818

819 <opt ion value="18124" >Lujar</ opt ion>820

821 <opt ion value="18615" >Los guá ja r e s</ opt ion>822

823 <opt ion value="18126" >Malaha ( l a )</ opt ion>824

825 <opt ion value="18127" >Maracena</ opt ion>826

827 <opt ion value="18128" >Marchal</ opt ion>828

829 <opt ion value="18450" >Mecina bombaron</ opt ion>830

831

832 <opt ion value="18916" >Meleg i s</ opt ion>833

834 <opt ion value="18132" >Moclin</ opt ion>835

836 <opt ion value="18133" >Molvizar</ opt ion>837

838 <opt ion value="18134" >Monachil</ opt ion>839

840 <opt ion value="18135" >Montefr io</ opt ion>841

842 <opt ion value="18136" >Montej icar</ opt ion>843

844

845 <opt ion value="18137" >Monti l lana</ opt ion>846

847 <opt ion value="18138" >Moraleda de zafayona</ opt ion>848

849 <opt ion value="18921" >Moreda</ opt ion>850

851 <opt ion value="18909" >Morelabor</ opt ion>852

853 <opt ion value="18140" >Motr i l</ opt ion>854

855 <opt ion value="18915" >Murchas</ opt ion>856

857

858 <opt ion value="18141" >Murtas</ opt ion>859

860 <opt ion value="18903" >Nevada</ opt ion>861

862 <opt ion value="18143" >Nigüe las</ opt ion>863

864 <opt ion value="18144" >Nivar</ opt ion>865

866 <opt ion value="18293" >Obei la r</ opt ion>

B.3. Directorio de gestión del canal de retorno 247

867

868 <opt ion value="18145" >Og i j a r e s</ opt ion>869

870

871 <opt ion value="18146" >Orce</ opt ion>872

873 <opt ion value="18147" >Orgiva</ opt ion>874

875 <opt ion value="18148" >Otivar</ opt ion>876

877 <opt ion value="18149" >Otura</ opt ion>878

879 <opt ion value="18150" >Padul</ opt ion>880

881 <opt ion value="18151" >Pampaneira</ opt ion>882

883

884 <opt ion value="18152" >Pedro mart inez</ opt ion>885

886 <opt ion value="18153" >Pe l i g r o s</ opt ion>887

888 <opt ion value="18154" >Peza ( l a )</ opt ion>889

890 <opt ion value="18328" >Peñuelas</ opt ion>891

892 <opt ion value="18910" >Pinar ( e l )</ opt ion>893

894 <opt ion value="18918" >Pinos de l v a l l e</ opt ion>895

896

897 <opt ion value="18157" >Pinos g e n i l</ opt ion>898

899 <opt ion value="18158" >Pinos puente</ opt ion>900

901 <opt ion value="18922" >P i t r e s</ opt ion>902

903 <opt ion value="18159" >Piñar</ opt ion>904

905 <opt ion value="18161" >Po l i c a r</ opt ion>906

907 <opt ion value="18162" >Polopos</ opt ion>908

909

910 <opt ion value="18163" >Portugos</ opt ion>911

912 <opt ion value="18164" >Puebla de don f ad r i que</ opt ion>913

914 <opt ion value="18165" >Pul ianas</ opt ion>915

916 <opt ion value="18167" >Purul lena</ opt ion>917

918 <opt ion value="18168" >Quentar</ opt ion>919

920 <opt ion value="18170" >Rubite</ opt ion>921

922

923 <opt ion value="18171" >Sa la r</ opt ion>924

925 <opt ion value="18917" >Sa l e r e s</ opt ion>926

927 <opt ion value="18173" >Salobreña</ opt ion>928

929 <opt ion value="18174" >Santa cruz de l comercio</ opt ion>930

248 Apéndice B. Ficheros desarrollados para la aplicación

931 <opt ion value="18175" >Santa f e</ opt ion>932

933 <opt ion value="18176" >Soportu jar</ opt ion>934

935

936 <opt ion value="18177" >Sorv i l an</ opt ion>937

938 <opt ion value="18901" >Taha ( l a )</ opt ion>939

940 <opt ion value="18248" >Tiena</ opt ion>941

942 <opt ion value="18178" >Torre−ca rde l a</ opt ion>943

944 <opt ion value="18179" >Torvizcon</ opt ion>945

946 <opt ion value="18180" >Treve l ez</ opt ion>947

948

949 <opt ion value="18181" >Turon</ opt ion>950

951 <opt ion value="18182" >Ugi ja r</ opt ion>952

953 <opt ion value="18250" >Valderrubio</ opt ion>954

955 <opt ion value="18902" >Val l e ( e l )</ opt ion>956

957 <opt ion value="18907" >Val l e de l z a l a b i</ opt ion>958

959 <opt ion value="18183" >Valor</ opt ion>960

961

962 <opt ion value="18911" >Vegas de l g e n i l</ opt ion>963

964 <opt ion value="18184" >Velez de benaudal la</ opt ion>965

966 <opt ion value="18185" >Ventas de huelma</ opt ion>967

968 <opt ion value="18125" >Ventas de za f a r raya</ opt ion>969

970 <opt ion value="18908" >Villamena</ opt ion>971

972 <opt ion value="18187" >Vi l lanueva de l a s t o r r e s</ opt ion>

973

974

975 <opt ion value="18188" >Vi l lanueva mesia</ opt ion>976

977 <opt ion value="18189" >Viznar</ opt ion>978

979 <opt ion value="18919" >Yegen</ opt ion>980

981 <opt ion value="18192" >Zafarraya</ opt ion>982

983 <opt ion value="18913" >Zagra</ opt ion>984

985 <opt ion value="18193" >Zubia ( l a )</ opt ion>986

987

988 <opt ion value="18194" >Zujar</ opt ion>989

990 </ prov inc i a>991

992 <!−− Huelva −−>993 <prov inc i a cp="21">

B.3. Directorio de gestión del canal de retorno 249

994 <opt ion value="−1">−−Todos l o s munic ip ios−−</opt ion>995

996

997 <opt ion value="21001" >Ala ja r</ opt ion>998

999 <opt ion value="21002" >Aljaraque</ opt ion>1000

1001 <opt ion value="21003" >Almendro ( e l )</ opt ion>1002

1003 <opt ion value="21004" >Almonaster l a r e a l</ opt ion>1004

1005 <opt ion value="21005" >Almonte</ opt ion>1006

1007 <opt ion value="21006" >Alosno</ opt ion>1008

1009

1010 <opt ion value="21007" >Aracena</ opt ion>1011

1012 <opt ion value="21008" >Aroche</ opt ion>1013

1014 <opt ion value="21009" >Arroyomolinos de l eon</ opt ion>1015

1016 <opt ion value="21010" >Ayamonte</ opt ion>1017

1018 <opt ion value="21011" >Beas</ opt ion>1019

1020 <opt ion value="21012" >Berroca l</ opt ion>1021

1022

1023 <opt ion value="21013" >Bo l l u l l o s par de l condado</opt ion>

1024

1025 <opt ion value="21014" >Bonares</ opt ion>1026

1027 <opt ion value="21015" >Cabezas rub ia s</ opt ion>1028

1029 <opt ion value="21016" >Cala</ opt ion>1030

1031 <opt ion value="21017" >Calañas</ opt ion>1032

1033 <opt ion value="21018" >Campillo ( e l )</ opt ion>1034

1035

1036 <opt ion value="21019" >Campofrio</ opt ion>1037

1038 <opt ion value="21021" >Cartaya</ opt ion>1039

1040 <opt ion value="21022" >Castaño de l rob ledo</ opt ion>1041

1042 <opt ion value="21020" >Cañaveral de l eon</ opt ion>1043

1044 <opt ion value="21023" >Cerro de andevalo ( e l )</ opt ion>1045

1046 <opt ion value="21030" >Chucena</ opt ion>1047

1048

1049 <opt ion value="21024" >Corteconcepc ion</ opt ion>1050

1051 <opt ion value="21025" >Cortegana</ opt ion>1052

1053 <opt ion value="21026" >Corte l a zo r</ opt ion>1054

1055 <opt ion value="21027" >Cumbres de enmedio</ opt ion>1056

250 Apéndice B. Ficheros desarrollados para la aplicación

1057 <opt ion value="21028" >Cumbres de san bartolome</ opt ion>

1058

1059 <opt ion value="21029" >Cumbres mayores</ opt ion>1060

1061

1062 <opt ion value="21031" >Encinaso la</ opt ion>1063

1064 <opt ion value="21032" >Escacena de l campo</ opt ion>1065

1066 <opt ion value="21033" >Fuenteher idos</ opt ion>1067

1068 <opt ion value="21034" >Galaroza</ opt ion>1069

1070 <opt ion value="21035" >Gibraleon</ opt ion>1071

1072 <opt ion value="21036" >Granada de r i o t i n t o ( l a )</opt ion>

1073

1074

1075 <opt ion value="21037" >Granado ( e l )</ opt ion>1076

1077 <opt ion value="21038" >Higuera de l a s i e r r a</ opt ion>1078

1079 <opt ion value="21039" >Hino j a l e s</ opt ion>1080

1081 <opt ion value="21040" >Hinojos</ opt ion>1082

1083 <opt ion value="21041" >Huelva</ opt ion>1084

1085 <opt ion value="21042" >I s l a c r i s t i n a</ opt ion>1086

1087

1088 <opt ion value="21043" >Jabugo</ opt ion>1089

1090 <opt ion value="21044" >Lepe</ opt ion>1091

1092 <opt ion value="21045" >Linare s de l a s i e r r a</ opt ion>1093

1094 <opt ion value="21046" >Lucena de l puerto</ opt ion>1095

1096 <opt ion value="21047" >Manzani l la</ opt ion>1097

1098 <opt ion value="21048" >Marines ( l o s )</ opt ion>1099

1100

1101 <opt ion value="21208" >Marines ( l o s )</ opt ion>1102

1103 <opt ion value="21760" >Matalascaqas</ opt ion>1104

1105 <opt ion value="21130" >Mazagon</ opt ion>1106

1107 <opt ion value="21559" >Minas de h e r r e r i a s</ opt ion>1108

1109 <opt ion value="21049" >Minas de r i o t i n t o</ opt ion>1110

1111 <opt ion value="21530" >Minas de t h a r s i s</ opt ion>1112

1113

1114 <opt ion value="21050" >Moguer</ opt ion>1115

1116 <opt ion value="21500" >Minas de t h a r s i s</ opt ion>1117

1118 <opt ion value="21051" >Nava ( l a )</ opt ion>

B.3. Directorio de gestión del canal de retorno 251

1119

1120 <opt ion value="21052" >Nerva</ opt ion>1121

1122 <opt ion value="21053" >Niebla</ opt ion>1123

1124 <opt ion value="21054" >Palma de l condado ( l a )</ opt ion>1125

1126

1127 <opt ion value="21055" >Palos de l a f r on t e r a</ opt ion>1128

1129 <opt ion value="21056" >Paterna de l campo</ opt ion>1130

1131 <opt ion value="21057" >Paymogo</ opt ion>1132

1133 <opt ion value="21459" >Po r t i l ( e l )</ opt ion>1134

1135 <opt ion value="21058" >Puebla de guzman</ opt ion>1136

1137 <opt ion value="21059" >Puerto moral</ opt ion>1138

1139

1140 <opt ion value="21060" >Punta umbria</ opt ion>1141

1142 <opt ion value="21430" >Redondela ( l a )</ opt ion>1143

1144 <opt ion value="21061" >Rociana de l condado</ opt ion>1145

1146 <opt ion value="21062" >Rosal de l a f r on t e r a</ opt ion>1147

1148 <opt ion value="21063" >San bartolome de l a t o r r e</opt ion>

1149

1150 <opt ion value="21064" >San juan de l puerto</ opt ion>1151

1152

1153 <opt ion value="21066" >San s i l v e s t r e de guzman</ opt ion>1154

1155 <opt ion value="21330" >San telmo</ opt ion>1156

1157 <opt ion value="21065" >Sanlucar de guadiana</ opt ion>1158

1159 <opt ion value="21067" >Santa ana l a r e a l</ opt ion>1160

1161 <opt ion value="21068" >Santa barbara de casa</ opt ion>1162

1163 <opt ion value="21069" >Santa o l a l l a de l ca l a</ opt ion>1164

1165

1166 <opt ion value="21070" >Tr igueros</ opt ion>1167

1168 <opt ion value="21207" >Umbria ( l a )</ opt ion>1169

1170 <opt ion value="21071" >Valde la rco</ opt ion>1171

1172 <opt ion value="21072" >Valverde de l camino</ opt ion>1173

1174 <opt ion value="21073" >Vi l l ab l anca</ opt ion>1175

1176 <opt ion value="21074" >V i l l a l b a de l a l c o r</ opt ion>1177

1178

1179 <opt ion value="21075" >Vi l lanueva de l a s c ruce s</ opt ion>

1180

252 Apéndice B. Ficheros desarrollados para la aplicación

1181 <opt ion value="21076" >Vi l lanueva de l o s c a s t i l l e j o s</opt ion>

1182

1183 <opt ion value="21077" >V i l l a r r a s a</ opt ion>1184

1185 <opt ion value="21078" >Zalamea l a r e a l</ opt ion>1186

1187 <opt ion value="21079" >Zufre</ opt ion>1188

1189 </ prov inc i a>1190

1191

1192 <!−− Jaén −−>1193 <prov inc i a cp="23">1194 <opt ion value="−1">−−Todos l o s munic ip ios−−</opt ion>1195

1196

1197 <opt ion value="23001" >Albanchez de magina</ opt ion>1198

1199 <opt ion value="23002" >Alca la l a r e a l</ opt ion>1200

1201 <opt ion value="23003" >Alcaudete</ opt ion>1202

1203 <opt ion value="23004" >Aldeaquemada</ opt ion>1204

1205 <opt ion value="23005" >Andujar</ opt ion>1206

1207 <opt ion value="23006" >Arjona</ opt ion>1208

1209

1210 <opt ion value="23007" >Ar j o n i l l a</ opt ion>1211

1212 <opt ion value="23008" >Arqu i l l o s</ opt ion>1213

1214 <opt ion value="23905" >Arroyo de l o janco</ opt ion>1215

1216 <opt ion value="23009" >Baeza</ opt ion>1217

1218 <opt ion value="23010" >Bai len</ opt ion>1219

1220 <opt ion value="23011" >Baños de l a enc ina</ opt ion>1221

1222

1223 <opt ion value="23012" >Beas de segura</ opt ion>1224

1225 <opt ion value="23902" >Bedmar y ga r c i e z</ opt ion>1226

1227 <opt ion value="23014" >Beg i j a r</ opt ion>1228

1229 <opt ion value="23015" >Belmez de l a moraleda</ opt ion>1230

1231 <opt ion value="23016" >Benatae</ opt ion>1232

1233 <opt ion value="23017" >Cabra de l santo c r i s t o</ opt ion>1234

1235

1236 <opt ion value="23018" >Cambil</ opt ion>1237

1238 <opt ion value="23019" >Campillo de arenas</ opt ion>1239

1240 <opt ion value="23020" >Canena</ opt ion>1241

1242 <opt ion value="23021" >Carboneros</ opt ion>1243

B.3. Directorio de gestión del canal de retorno 253

1244 <opt ion value="23901" >Carche le s</ opt ion>1245

1246 <opt ion value="23024" >Caro l ina ( l a )</ opt ion>1247

1248

1249 <opt ion value="23025" >Ca s t e l l a r</ opt ion>1250

1251 <opt ion value="23026" >Ca s t i l l o de locub in</ opt ion>1252

1253 <opt ion value="23027" >Ca z a l i l l a</ opt ion>1254

1255 <opt ion value="23028" >Cazorla</ opt ion>1256

1257 <opt ion value="23029" >Chiclana de segura</ opt ion>1258

1259 <opt ion value="23030" >Chi l l u eva r</ opt ion>1260

1261

1262 <opt ion value="23031" >Escañuela</ opt ion>1263

1264 <opt ion value="23032" >Espeluy</ opt ion>1265

1266 <opt ion value="23033" >F r a i l e s</ opt ion>1267

1268 <opt ion value="23034" >Fuensanta de martos</ opt ion>1269

1270 <opt ion value="23035" >Fuerte de l rey</ opt ion>1271

1272 <opt ion value="23037" >Genave</ opt ion>1273

1274

1275 <opt ion value="23038" >Guardia de jaen ( l a )</ opt ion>1276

1277 <opt ion value="23039" >Guarroman</ opt ion>1278

1279 <opt ion value="23041" >Higuera de ca l a t r ava</ opt ion>1280

1281 <opt ion value="23042" >Hino ja re s</ opt ion>1282

1283 <opt ion value="23043" >Hornos</ opt ion>1284

1285 <opt ion value="23044" >Huelma</ opt ion>1286

1287

1288 <opt ion value="23045" >Huesa</ opt ion>1289

1290 <opt ion value="23046" >Ibro s</ opt ion>1291

1292 <opt ion value="23639" >In fan ta s ( l a s )</ opt ion>1293

1294 <opt ion value="23047" >I r u e l a ( l a )</ opt ion>1295

1296 <opt ion value="23048" >I zna t o r a f</ opt ion>1297

1298 <opt ion value="23049" >Jaba lqu into</ opt ion>1299

1300

1301 <opt ion value="23050" >Jaen</ opt ion>1302

1303 <opt ion value="23051" >Jamilena</ opt ion>1304

1305 <opt ion value="23052" >Jimena</ opt ion>1306

1307 <opt ion value="23053" >Jodar</ opt ion>

254 Apéndice B. Ficheros desarrollados para la aplicación

1308

1309 <opt ion value="23040" >Lahiguera</ opt ion>1310

1311 <opt ion value="23054" >Larva</ opt ion>1312

1313

1314 <opt ion value="23055" >Linare s</ opt ion>1315

1316 <opt ion value="23056" >Lopera</ opt ion>1317

1318 <opt ion value="23057" >Lupion</ opt ion>1319

1320 <opt ion value="23058" >Mancha r e a l</ opt ion>1321

1322 <opt ion value="23059" >Marmolejo</ opt ion>1323

1324 <opt ion value="23060" >Martos</ opt ion>1325

1326

1327 <opt ion value="23061" >Mengibar</ opt ion>1328

1329 <opt ion value="23062" >Montizon</ opt ion>1330

1331 <opt ion value="23063" >Navas de san juan</ opt ion>1332

1333 <opt ion value="23212" >Navas de t o l o s a</ opt ion>1334

1335 <opt ion value="23340" >No usar</ opt ion>1336

1337 <opt ion value="23906" >No u t i l i z a r usar e l 23903</opt ion>

1338

1339

1340 <opt ion value="23064" >Noale jo</ opt ion>1341

1342 <opt ion value="23065" >Orcera</ opt ion>1343

1344 <opt ion value="23066" >Peal de bece r ro</ opt ion>1345

1346 <opt ion value="23067" >Pega la ja r</ opt ion>1347

1348 <opt ion value="23069" >Porcuna</ opt ion>1349

1350 <opt ion value="23070" >Pozo a lcon</ opt ion>1351

1352

1353 <opt ion value="23071" >Puente de genave</ opt ion>1354

1355 <opt ion value="23072" >Puerta de segura ( l a )</ opt ion>1356

1357 <opt ion value="23073" >Quesada</ opt ion>1358

1359 <opt ion value="23074" >Rus</ opt ion>1360

1361 <opt ion value="23075" >Sabiote</ opt ion>1362

1363 <opt ion value="23076" >Santa e l ena</ opt ion>1364

1365

1366 <opt ion value="23077" >Sant iago de ca l a t r ava</ opt ion>1367

1368 <opt ion value="23904" >Santiago−pontones</ opt ion>1369

1370 <opt ion value="23079" >Sant i s teban de l puerto</ opt ion>

B.3. Directorio de gestión del canal de retorno 255

1371

1372 <opt ion value="23080" >Santo tome</ opt ion>1373

1374 <opt ion value="23081" >Segura de l a s i e r r a</ opt ion>1375

1376 <opt ion value="23082" >S i l e s</ opt ion>1377

1378

1379 <opt ion value="23084" >Sor ihue l a de l guadalimar</ opt ion>

1380

1381 <opt ion value="23085" >Torreb lascopedro</ opt ion>1382

1383 <opt ion value="23086" >Torredelcampo</ opt ion>1384

1385 <opt ion value="23087" >Torredonjimeno</ opt ion>1386

1387 <opt ion value="23088" >Tor r epe rog i l</ opt ion>1388

1389 <opt ion value="23090" >Torres</ opt ion>1390

1391

1392 <opt ion value="23091" >Torres de albanchez</ opt ion>1393

1394 <opt ion value="23092" >Ubeda</ opt ion>1395

1396 <opt ion value="23093" >Valdepeñas de jaen</ opt ion>1397

1398 <opt ion value="23094" >Vi l che s</ opt ion>1399

1400 <opt ion value="23095" >V i l l a c a r r i l l o</ opt ion>1401

1402 <opt ion value="23096" >Vi l lanueva de l a r e i na</ opt ion>1403

1404

1405 <opt ion value="23097" >Vi l lanueva de l a rzob i spo</ opt ion>

1406

1407 <opt ion value="23098" >Vil lardompardo</ opt ion>1408

1409 <opt ion value="23099" >V i l l a r e s ( l o s )</ opt ion>1410

1411 <opt ion value="23101" >V i l l a r r o d r i g o</ opt ion>1412

1413 <opt ion value="23903" >V i l l a t o r r e s</ opt ion>1414

1415 </ prov inc i a>1416

1417

1418 <!−− Málaga −−>1419 <prov inc i a cp="29">1420

1421 <opt ion value="−1">−−Todos l o s munic ip ios−−</opt ion>1422

1423

1424 <opt ion value="29001" >Alameda</ opt ion>1425

1426 <opt ion value="29002" >Alcaucin</ opt ion>1427

1428 <opt ion value="29003" >Al fa rnate</ opt ion>1429

1430 <opt ion value="29004" >Al f a rna t e j o</ opt ion>1431

1432 <opt ion value="29005" >Algarrobo</ opt ion>

256 Apéndice B. Ficheros desarrollados para la aplicación

1433

1434 <opt ion value="29006" >Algatoc in</ opt ion>1435

1436

1437 <opt ion value="29007" >Alhaurin de l a t o r r e</ opt ion>1438

1439 <opt ion value="29008" >Alhaurin e l grande</ opt ion>1440

1441 <opt ion value="29009" >Almachar</ opt ion>1442

1443 <opt ion value="29010" >Almargen</ opt ion>1444

1445 <opt ion value="29749" >Almayate</ opt ion>1446

1447 <opt ion value="29011" >Almogia</ opt ion>1448

1449

1450 <opt ion value="29012" >Alora</ opt ion>1451

1452 <opt ion value="29013" >Alozaina</ opt ion>1453

1454 <opt ion value="29014" >Alpandeire</ opt ion>1455

1456 <opt ion value="29015" >Antequera</ opt ion>1457

1458 <opt ion value="29016" >Archez</ opt ion>1459

1460 <opt ion value="29017" >Archidona</ opt ion>1461

1462

1463 <opt ion value="29018" >Ardales</ opt ion>1464

1465 <opt ion value="29019" >Arenas</ opt ion>1466

1467 <opt ion value="29020" >Arr i a t e</ opt ion>1468

1469 <opt ion value="29631" >Arroyo de l a mie l</ opt ion>1470

1471 <opt ion value="29021" >Atajate</ opt ion>1472

1473 <opt ion value="29022" >Benadal id</ opt ion>1474

1475

1476 <opt ion value="29738" >Benagalbon</ opt ion>1477

1478 <opt ion value="29023" >Benahavis</ opt ion>1479

1480 <opt ion value="29024" >Benalaur ia</ opt ion>1481

1482 <opt ion value="29025" >Benalmadena</ opt ion>1483

1484 <opt ion value="29026" >Benamargosa</ opt ion>1485

1486 <opt ion value="29027" >Benamocarra</ opt ion>1487

1488

1489 <opt ion value="29028" >Benaojan</ opt ion>1490

1491 <opt ion value="29029" >Benarraba</ opt ion>1492

1493 <opt ion value="29030" >Borge ( e l )</ opt ion>1494

1495 <opt ion value="29031" >Burgo ( e l )</ opt ion>1496

B.3. Directorio de gestión del canal de retorno 257

1497 <opt ion value="29720" >Cala de l moral ( l a )</ opt ion>1498

1499 <opt ion value="29751" >Caleta de v e l e z</ opt ion>1500

1501

1502 <opt ion value="29590" >Campanil las</ opt ion>1503

1504 <opt ion value="29032" >Campil los</ opt ion>1505

1506 <opt ion value="29033" >Can i l l a s de ace i tuno</ opt ion>1507

1508 <opt ion value="29034" >Can i l l a s de a lba ida</ opt ion>1509

1510 <opt ion value="29036" >Carratraca</ opt ion>1511

1512 <opt ion value="29037" >Cartajima</ opt ion>1513

1514

1515 <opt ion value="29038" >Cartama</ opt ion>1516

1517 <opt ion value="29570" >Cartama</ opt ion>1518

1519 <opt ion value="29039" >Casabermeja</ opt ion>1520

1521 <opt ion value="29040" >Casarabonela</ opt ion>1522

1523 <opt ion value="29041" >Casares</ opt ion>1524

1525 <opt ion value="29035" >Cañete l a r e a l</ opt ion>1526

1527

1528 <opt ion value="29904" >Churriana</ opt ion>1529

1530 <opt ion value="29042" >Coin</ opt ion>1531

1532 <opt ion value="29043" >Colmenar</ opt ion>1533

1534 <opt ion value="29044" >Comares</ opt ion>1535

1536 <opt ion value="29045" >Competa</ opt ion>1537

1538 <opt ion value="29046" >Cortes de l a f r on t e r a</ opt ion>1539

1540

1541 <opt ion value="29047" >Cuevas ba jas</ opt ion>1542

1543 <opt ion value="29049" >Cuevas de san marcos</ opt ion>1544

1545 <opt ion value="29048" >Cuevas de l bece r ro</ opt ion>1546

1547 <opt ion value="29050" >Cutar</ opt ion>1548

1549 <opt ion value="29051" >Estepona</ opt ion>1550

1551 <opt ion value="29052" >Farajan</ opt ion>1552

1553

1554 <opt ion value="29053" >F r i g i l i a n a</ opt ion>1555

1556 <opt ion value="29054" >Fueng i ro la</ opt ion>1557

1558 <opt ion value="29055" >Fuente de p iedra</ opt ion>1559

1560 <opt ion value="29056" >Gaucin</ opt ion>

258 Apéndice B. Ficheros desarrollados para la aplicación

1561

1562 <opt ion value="29057" >Gena lguac i l</ opt ion>1563

1564 <opt ion value="29058" >Guaro</ opt ion>1565

1566

1567 <opt ion value="29059" >Humil ladero</ opt ion>1568

1569 <opt ion value="29060" >I gua l e j a</ opt ion>1570

1571 <opt ion value="29061" >Is tan</ opt ion>1572

1573 <opt ion value="29062" >Iznate</ opt ion>1574

1575 <opt ion value="29063" >Jimera de l i b a r</ opt ion>1576

1577 <opt ion value="29064" >Jubrique</ opt ion>1578

1579

1580 <opt ion value="29065" >Juzcar</ opt ion>1581

1582 <opt ion value="29066" >Macharaviaya</ opt ion>1583

1584 <opt ion value="29067" >Malaga</ opt ion>1585

1586 <opt ion value="29068" >Manilva</ opt ion>1587

1588 <opt ion value="29591" >Maqueda</ opt ion>1589

1590 <opt ion value="29069" >Marbel la</ opt ion>1591

1592

1593 <opt ion value="29070" >Mijas</ opt ion>1594

1595 <opt ion value="29651" >Mijas</ opt ion>1596

1597 <opt ion value="29071" >Mocl ine jo</ opt ion>1598

1599 <opt ion value="29072" >Mol l ina</ opt ion>1600

1601 <opt ion value="29073" >Monda</ opt ion>1602

1603 <opt ion value="29074" >Montejaque</ opt ion>1604

1605

1606 <opt ion value="29075" >Nerja</ opt ion>1607

1608 <opt ion value="29076" >Ojen</ opt ion>1609

1610 <opt ion value="29077" >Parauta</ opt ion>1611

1612 <opt ion value="29079" >Periana</ opt ion>1613

1614 <opt ion value="29080" >Pizar ra</ opt ion>1615

1616 <opt ion value="29190" >Puerto de l a t o r r e</ opt ion>1617

1618

1619 <opt ion value="29081" >Pujerra</ opt ion>1620

1621 <opt ion value="29082" >Rincon de l a v i c t o r i a</ opt ion>1622

1623 <opt ion value="29083" >Riogordo</ opt ion>1624

B.3. Directorio de gestión del canal de retorno 259

1625 <opt ion value="29084" >Ronda</ opt ion>1626

1627 <opt ion value="29085" >Sa l a r e s</ opt ion>1628

1629 <opt ion value="29670" >San pedro a l can ta ra</ opt ion>1630

1631

1632 <opt ion value="29086" >Sayalonga</ opt ion>1633

1634 <opt ion value="29087" >Sede l l a</ opt ion>1635

1636 <opt ion value="29088" >S i e r r a de yeguas</ opt ion>1637

1638 <opt ion value="29089" >Teba</ opt ion>1639

1640 <opt ion value="29090" >Tolox</ opt ion>1641

1642 <opt ion value="29101" >Torre de l mar</ opt ion>1643

1644

1645 <opt ion value="29901" >Torremol inos</ opt ion>1646

1647 <opt ion value="29091" >Torrox</ opt ion>1648

1649 <opt ion value="29092" >Totalan</ opt ion>1650

1651 <opt ion value="29093" >Val l e de abda l a j i s</ opt ion>1652

1653 <opt ion value="29094" >Velez−malaga</ opt ion>1654

1655 <opt ion value="29095" >Vi l lanueva de a l g a i da s</ opt ion>1656

1657

1658 <opt ion value="29230" >Vi l lanueva de l a concepc ion</opt ion>

1659

1660 <opt ion value="29113" >Vi l lanueva de l a concepc ión</opt ion>

1661

1662 <opt ion value="29098" >Vi l lanueva de tap ia</ opt ion>1663

1664 <opt ion value="29096" >Vi l lanueva de l r o s a r i o</ opt ion>1665

1666 <opt ion value="29097" >Vi l lanueva de l trabuco</ opt ion>1667

1668 <opt ion value="29099" >Viñuela</ opt ion>1669

1670

1671 <opt ion value="29100" >Yunquera</ opt ion>1672

1673 <opt ion value="29902" >Zubia ( l a )</ opt ion>1674 </ prov inc i a>1675

1676

1677 <!−− S e v i l l a −−>1678 <prov inc i a cp="41">1679 <opt ion value="−1">−−Todos l o s munic ip ios−−</opt ion>1680

1681

1682 <opt ion value="41001" >Aguadulce</ opt ion>1683

1684 <opt ion value="41002" >Alan i s</ opt ion>1685

1686 <opt ion value="41003" >Albaida de l a l j a r a f e</ opt ion>

260 Apéndice B. Ficheros desarrollados para la aplicación

1687

1688 <opt ion value="41004" >Alca la de guadaira</ opt ion>1689

1690 <opt ion value="41005" >Alca la de l r i o</ opt ion>1691

1692 <opt ion value="41006" >Alco l ea de l r i o</ opt ion>1693

1694

1695 <opt ion value="41007" >Algaba ( l a )</ opt ion>1696

1697 <opt ion value="41008" >Algamitas</ opt ion>1698

1699 <opt ion value="41009" >Almaden de l a p la ta</ opt ion>1700

1701 <opt ion value="41010" >Almens i l l a</ opt ion>1702

1703 <opt ion value="41011" >Arahal</ opt ion>1704

1705 <opt ion value="41012" >Aznalcazar</ opt ion>1706

1707

1708 <opt ion value="41013" >Azna l c o l l a r</ opt ion>1709

1710 <opt ion value="41014" >Badolatosa</ opt ion>1711

1712 <opt ion value="41015" >Benacazon</ opt ion>1713

1714 <opt ion value="41016" >Bo l l u l l o s de l a mitac ion</ opt ion>

1715

1716 <opt ion value="41017" >Bormujos</ opt ion>1717

1718 <opt ion value="41018" >Brenes</ opt ion>1719

1720

1721 <opt ion value="41019" >Burgu i l l o s</ opt ion>1722

1723 <opt ion value="41020" >Cabezas de san juan ( l a s )</opt ion>

1724

1725 <opt ion value="41021" >Camas</ opt ion>1726

1727 <opt ion value="41022" >Campana ( l a )</ opt ion>1728

1729 <opt ion value="41023" >Cant i l l ana</ opt ion>1730

1731 <opt ion value="41024" >Carmona</ opt ion>1732

1733

1734 <opt ion value="41025" >Carrion de l o s cespedes</ opt ion>1735

1736 <opt ion value="41026" >Casar iche</ opt ion>1737

1738 <opt ion value="41027" >Cas t i l b l anco de l o s ar royos</opt ion>

1739

1740 <opt ion value="41028" >Ca s t i l l e j a de guzman</ opt ion>1741

1742 <opt ion value="41029" >Ca s t i l l e j a de l a cues ta</ opt ion>1743

1744 <opt ion value="41030" >Ca s t i l l e j a de l campo</ opt ion>1745

1746

B.3. Directorio de gestión del canal de retorno 261

1747 <opt ion value="41031" >Ca s t i l l o de l a s guardas ( e l )</opt ion>

1748

1749 <opt ion value="41032" >Caza l la de l a s i e r r a</ opt ion>1750

1751 <opt ion value="41901" >Cañada r o s a l</ opt ion>1752

1753 <opt ion value="41033" >Constantina</ opt ion>1754

1755 <opt ion value="41034" >Coria de l r i o</ opt ion>1756

1757 <opt ion value="41035" >Coripe</ opt ion>1758

1759

1760 <opt ion value="41036" >Coron i l ( e l )</ opt ion>1761

1762 <opt ion value="41037" >Corra l e s ( l o s )</ opt ion>1763

1764 <opt ion value="41903" >Cuervo de s e v i l l a ( e l )</ opt ion>1765

1766 <opt ion value="41201" >Desconocido</ opt ion>1767

1768 <opt ion value="41038" >Dos hermanas</ opt ion>1769

1770 <opt ion value="41039" >Ec i j a</ opt ion>1771

1772

1773 <opt ion value="41040" >Espart inas</ opt ion>1774

1775 <opt ion value="41041" >Estepa</ opt ion>1776

1777 <opt ion value="41042" >Fuentes de anda luc ia</ opt ion>1778

1779 <opt ion value="41043" >Garrobo ( e l )</ opt ion>1780

1781 <opt ion value="41044" >Gelves</ opt ion>1782

1783 <opt ion value="41045" >Gerena</ opt ion>1784

1785

1786 <opt ion value="41046" >Gilena</ opt ion>1787

1788 <opt ion value="41047" >Gines</ opt ion>1789

1790 <opt ion value="41048" >Guadalcanal</ opt ion>1791

1792 <opt ion value="41049" >Gui l l ena</ opt ion>1793

1794 <opt ion value="41050" >Herrera</ opt ion>1795

1796 <opt ion value="41051" >Huevar</ opt ion>1797

1798

1799 <opt ion value="41902" >I s l a mayor</ opt ion>1800

1801 <opt ion value="41052" >Lante jue la ( l a )</ opt ion>1802

1803 <opt ion value="41053" >Lebr i j a</ opt ion>1804

1805 <opt ion value="41054" >Lora de es tepa</ opt ion>1806

1807 <opt ion value="41055" >Lora de l r i o</ opt ion>1808

1809 <opt ion value="41056" >Luis iana ( l a )</ opt ion>

262 Apéndice B. Ficheros desarrollados para la aplicación

1810

1811

1812 <opt ion value="41057" >Madroño ( e l )</ opt ion>1813

1814 <opt ion value="41058" >Mairena de l a l c o r</ opt ion>1815

1816 <opt ion value="41059" >Mairena de l a l j a r a f e</ opt ion>1817

1818 <opt ion value="41060" >Marchena</ opt ion>1819

1820 <opt ion value="41061" >Marinaleda</ opt ion>1821

1822 <opt ion value="41062" >Martin de l a j a r a</ opt ion>1823

1824

1825 <opt ion value="41063" >Molares ( l o s )</ opt ion>1826

1827 <opt ion value="41064" >Montel lano</ opt ion>1828

1829 <opt ion value="41065" >Moron de l a f r on t e r a</ opt ion>1830

1831 <opt ion value="41066" >Navas de l a concepc ion ( l a s )</opt ion>

1832

1833 <opt ion value="41202" >No de f i n i d o</ opt ion>1834

1835 <opt ion value="41067" >Ol iva r e s</ opt ion>1836

1837

1838 <opt ion value="41068" >Osuna</ opt ion>1839

1840 <opt ion value="41069" >Pa lac i o s y v i l l a f r a n c a ( l o s )</opt ion>

1841

1842 <opt ion value="41070" >Palomares de l r i o</ opt ion>1843

1844 <opt ion value="41071" >Paradas</ opt ion>1845

1846 <opt ion value="41072" >Pedrera</ opt ion>1847

1848 <opt ion value="41073" >Pedroso ( e l )</ opt ion>1849

1850

1851 <opt ion value="41074" >Peña f l o r</ opt ion>1852

1853 <opt ion value="41075" >P i l a s</ opt ion>1854

1855 <opt ion value="41076" >Pruna</ opt ion>1856

1857 <opt ion value="41077" >Puebla de c a z a l l a ( l a )</ opt ion>1858

1859 <opt ion value="41078" >Puebla de l o s i n f a n t e s ( l a )</opt ion>

1860

1861 <opt ion value="41079" >Puebla de l r i o ( l a )</ opt ion>1862

1863

1864 <opt ion value="41080" >Real de l a j a r a ( e l )</ opt ion>1865

1866 <opt ion value="41081" >Rinconada ( l a )</ opt ion>1867

1868 <opt ion value="41082" >Roda de anda luc ia ( l a )</ opt ion>1869

1870 <opt ion value="41083" >Ronqui l lo ( e l )</ opt ion>

B.3. Directorio de gestión del canal de retorno 263

1871

1872 <opt ion value="41330" >Rosa les ( l o s )</ opt ion>1873

1874 <opt ion value="41084" >Rubio ( e l )</ opt ion>1875

1876

1877 <opt ion value="41085" >Sa l t e r a s</ opt ion>1878

1879 <opt ion value="41086" >San juan de azna l f a r a che</ opt ion>

1880

1881 <opt ion value="41088" >San n i c o l a s de l puerto</ opt ion>1882

1883 <opt ion value="41087" >Sanlucar l a mayor</ opt ion>1884

1885 <opt ion value="41089" >Santiponce</ opt ion>1886

1887 <opt ion value="41090" >Saucejo ( e l )</ opt ion>1888

1889

1890 <opt ion value="41091" >S e v i l l a</ opt ion>1891

1892 <opt ion value="41103" >Sin determinar</ opt ion>1893

1894 <opt ion value="41092" >Tocina</ opt ion>1895

1896 <opt ion value="41093" >Tomares</ opt ion>1897

1898 <opt ion value="41094" >Umbrete</ opt ion>1899

1900 <opt ion value="41095" >Utrera</ opt ion>1901

1902

1903 <opt ion value="41096" >Valencina de l a concepc ion</opt ion>

1904

1905 <opt ion value="41319" >Viar ( e l )</ opt ion>1906

1907 <opt ion value="41097" >Vi l lamanr ique de l a condesa</opt ion>

1908

1909 <opt ion value="41100" >Vi l lanueva de san juan</ opt ion>1910

1911 <opt ion value="41098" >Vi l lanueva de l a r i s c a l</ opt ion>1912

1913 <opt ion value="41099" >Vi l lanueva de l r i o y minas</opt ion>

1914

1915

1916 <opt ion value="41101" >Vi l l a v e rd e de l r i o</ opt ion>1917

1918 <opt ion value="41102" >Viso de l a l c o r ( e l )</ opt ion>1919

1920 </ prov inc i a>1921

1922 </ prov i n c i a s>

cursos_formacion.xpl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>

264 Apéndice B. Ficheros desarrollados para la aplicación

2 <p : c on f i g xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns:tmg=" ht tp ://www. tmira . com/ops/ p r o c e s s o r s " xmlns:p=" ht tp : //www. orbeon . com/ oxf /p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">

3

4 <p:param type=" input " name=" in s tance "/>5

6 <p :p r o c e s s o r name=" ox f : r e q u e s t ">7 <p: input name=" con f i g ">8 <config stream−type="xs:anyURI" xmlns :xs=" ht tp : //www.w3 . org /2001/

XMLSchema">9 <inc lude>/ reques t / se rve r−name</ inc lude>

10 <inc lude>/ reques t / se rve r−port</ inc lude>11 </config>12 </p: input>13 <p:output name="data" id=" s e r v e r "/>14 </ p :p r o c e s s o r>15

16 <!−− Procesador para generar e l config ne c e s a r i o para e l método HTTP −−>17 <p :p r o c e s s o r name=" o x f : x s l t ">18 <p: input name="data" h r e f="#in s tance "/>19 <p: input name=" con f i g ">20 <x s l : s t y l e s h e e t version=" 2 .0 ">21 <xs l : t emp l a t e match="/">22 <config>23 <method>url−http</method>24 <preaction>25 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www.

juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo /web/websae/ po r t a l / es /empleo/ formacion /ofertasFPE / ' ,/submiss ion / tipoCursoText , ' / d i spa t che r . html? s tep=s t o r e F i l t e r&amp ; t i c k e t=nocas ' ) "/>

26 </preaction>27 <action>28 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www.

juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo /web/websae/ po r t a l / es /empleo/ formacion /ofertasFPE / ' ,/submiss ion / tipoCursoText , ' / l i s t adoCur so s . html? s tep=paginar&amp ; pg= ' ,/ submiss ion /pag ) "/>

29 </action>30 <cookies>yes</cookies>31 <xs l : c h o o s e>32 <xsl :when t e s t="/ submiss ion / t ipoCurso != 'AMP' ">33 <parameters>34 <parameter name=" tipoCurso ">35 <x s l : a t t r i b u t e name="value "><xs l : v a l u e−o f

s e l e c t="/ submiss ion / t ipoCurso "/></x s l : a t t r i b u t e>

36 </parameter>37 <parameter name="tipoPrograma">38 <x s l : a t t r i b u t e name="value "><xs l : v a l u e−o f

s e l e c t="/ submiss ion / i n i c i o "/></x s l : a t t r i b u t e>

39 </parameter>40 <parameter name=" prov inc i a ">41 <x s l : a t t r i b u t e name="value "><xs l : v a l u e−o f

s e l e c t="/ submiss ion / prov inc i a "/></x s l : a t t r i b u t e>

42 </parameter>43 <parameter name="codMunicipio ">44 <x s l : a t t r i b u t e name="value "><xs l : v a l u e−o f

s e l e c t="/ submiss ion /munic ip io "/></x s l : a t t r i b u t e>

45 </parameter>46 <parameter name="cp" value=""></parameter>

B.3. Directorio de gestión del canal de retorno 265

47 <parameter name="denominacion" value=""></parameter>

48 <parameter name="numero" value=""></parameter>49 <parameter name=" ent idad " value=""></parameter>50 <parameter name=" codColec t ivo ">51 <x s l : a t t r i b u t e name="value "><xs l : v a l u e−o f

s e l e c t="/ submiss ion / c o l e c t i v o "/></x s l : a t t r i b u t e>

52 </parameter>53 <parameter name=" p ra c t i c a ">54 <x s l : a t t r i b u t e name="value "><xs l : v a l u e−o f

s e l e c t="/ submiss ion / p r a c t i c a s "/></x s l : a t t r i b u t e>

55 </parameter>56 <parameter name=" l i n ea sxpag ina " value="10"></

parameter>57 <parameter name=" f am i l i a ">58 <x s l : a t t r i b u t e name="value "><xs l : v a l u e−o f

s e l e c t="/ submiss ion / f am i l i a "/></x s l : a t t r i b u t e>

59 </parameter>60 </parameters>61 </xs l :when>62 <x s l : o t h e rw i s e>63 <parameters>64 <parameter name=" tipoCurso ">65 <x s l : a t t r i b u t e name="value "><xs l : v a l u e−o f

s e l e c t="/ submiss ion / t ipoCurso "/></x s l : a t t r i b u t e>

66 </parameter>67 <parameter name="tipoPrograma">68 <x s l : a t t r i b u t e name="value "><xs l : v a l u e−o f

s e l e c t="/ submiss ion / i n i c i o "/></x s l : a t t r i b u t e>

69 </parameter>70 <parameter name=" prov inc i a ">71 <x s l : a t t r i b u t e name="value "><xs l : v a l u e−o f

s e l e c t="/ submiss ion / prov inc i a "/></x s l : a t t r i b u t e>

72 </parameter>73 <parameter name="codMunicipio ">74 <x s l : a t t r i b u t e name="value "><xs l : v a l u e−o f

s e l e c t="/ submiss ion /munic ip io "/></x s l : a t t r i b u t e>

75 </parameter>76 <parameter name="denominacion" value=""></

parameter>77 <parameter name="numero" value=""></parameter>78 <parameter name=" codigo ">79 <x s l : a t t r i b u t e name="value "><xs l : v a l u e−o f

s e l e c t=" t r a n s l a t e (/ submiss ion / codigo , '' , '+ ' ) "/></ x s l : a t t r i b u t e>

80 </parameter>81 <parameter name=" ent idad " value=""></parameter>82 <parameter name=" l i n ea sxpag ina " value="10"></

parameter>83 <parameter name=" f am i l i a ">84 <x s l : a t t r i b u t e name="value "><xs l : v a l u e−o f

s e l e c t="/ submiss ion / f am i l i a "/></x s l : a t t r i b u t e>

85 </parameter>86 </parameters>87 </ x s l : o t h e rw i s e>88 </ x s l : c h o o s e>

266 Apéndice B. Ficheros desarrollados para la aplicación

89 <timeout>40</timeout>90 <content−type>text /html</content−type>91 <encoding>utf−8</encoding>92 </config>93 </ xs l : t emp l a t e>94 </ x s l : s t y l e s h e e t>95 </p: input>96 <p:output name="data" id="metodo_http"/>97 </ p :p r o c e s s o r>98

99 <!−− Método POST+GET (HTTP) −−>100 <p :p r o c e s s o r name="tmg:tm−http ">101 <p: input name=" con f i g " h r e f="#metodo_http"/>102 <p:output name="data" id="page"/>103 </ p :p r o c e s s o r>104

105 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTML r e c i b i d o −−>106 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">107 <p: input name=" con f i g ">108 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" x s l : v e r s i o n

=" 2 .0 ">109 <curso s>110 <x s l : f o r −each s e l e c t="// tab l e / t r ">111 <x s l : i f t e s t=" po s i t i o n ( ) !=1">112 <curso>113 <x s l : a t t r i b u t e name="nombre"><xs l : v a l u e−o f s e l e c t="

normal ize−space ( . / td [ 1 ] / a ) "/></ x s l : a t t r i b u t e>114 <x s l : a t t r i b u t e name=" ent idad "><xs l : v a l u e−o f s e l e c t="

. / td [ 2 ] "/></ x s l : a t t r i b u t e>115 <x s l : a t t r i b u t e name=" prov inc i a "><xs l : v a l u e−o f s e l e c t

=" . / td [ 3 ] "/></ x s l : a t t r i b u t e>116 <x s l : a t t r i b u t e name="munic ip io "><xs l : v a l u e−o f s e l e c t

=" . / td [ 4 ] "/></ x s l : a t t r i b u t e>117 <x s l : a t t r i b u t e name=" idCurso "><xs l : v a l u e−o f s e l e c t="

subst r ing−be f o r e ( subs t r ing−a f t e r ( . / td [ 1 ] / a/@href, ' idCurso= ') , '&amp ; pg= ')"/></ x s l : a t t r i b u t e>

118 <x s l : a t t r i b u t e name="pag"><xs l : v a l u e−o f s e l e c t="subst r ing−a f t e r ( . / td [ 1 ] / a/@href , '&amp ; pg= ')"/></x s l : a t t r i b u t e>

119 <x s l : a t t r i b u t e name=" l e t r a "><xs l : v a l u e−o f s e l e c t="subst r ing−be f o r e ( subs t r ing−a f t e r ( . / td [ 1 ] / a/@href, ' de ta l l eCurso ' ) , ' . html ' ) "/></ x s l : a t t r i b u t e>

120 </ curso>121 </ x s l : i f>122 </ x s l : f o r −each>123 </ cur so s>124 <paginas>125 <x s l : v a r i a b l e name=" tota l_pag inas ">126 <x s l : v a r i a b l e name="mostrandoXde" s e l e c t="// div [ @class='

centradoPaginacion ' ] / p [ 1 ] "/>127 <xs l : c h o o s e>128 <xsl :when t e s t="$mostrandoXde != ' ' ">129 <xs l : v a l u e−o f s e l e c t=" subst r ing−a f t e r ($mostrandoXde

, ' de ' ) "/>130 </xs l :when>131 <x s l : o t h e rw i s e>132 <x s l : t e x t>1</ x s l : t e x t>133 </ x s l : o t h e rw i s e>134 </ x s l : c h o o s e>135 </ x s l : v a r i a b l e>136

137 <pagina>138 <x s l : a t t r i b u t e name=" ac tua l ">1</ x s l : a t t r i b u t e>

B.3. Directorio de gestión del canal de retorno 267

139 <x s l : v a r i a b l e name="num_pag" s e l e c t="doc ( ' input :dat−in s tance ' ) / submiss ion /pag"/>

140 <x s l : a t t r i b u t e name="numero"><xs l : v a l u e−o f s e l e c t="$num_pag"/></ x s l : a t t r i b u t e>

141 <x s l : a t t r i b u t e name=" t o t a l "><xs l : v a l u e−o f s e l e c t="$tota l_pag inas "/></ x s l : a t t r i b u t e>

142 </pagina>143 <x s l : f o r −each s e l e c t="// u l [ @class='paginacion ' ] / l i / span/a">144 <pagina>145 <x s l : a t t r i b u t e name=" ac tua l ">0</ x s l : a t t r i b u t e>146 <x s l : a t t r i b u t e name="numero"><xs l : v a l u e−o f s e l e c t=" text

( ) "/></ x s l : a t t r i b u t e>147 <x s l : a t t r i b u t e name=" t o t a l "><xs l : v a l u e−o f s e l e c t="$

tota l_pag inas "/></ x s l : a t t r i b u t e>148 </pagina>149 </ x s l : f o r −each>150 </paginas>151 </ items>152 </p: input>153 <p: input name="data" h r e f="#page"/>154 <p: input name=" s e r v e r " h r e f="#se rv e r "/>155 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>156 <p:output name="data" id=" resu l tDesordenado "/>157 </ p :p r o c e s s o r>158

159 <!−− Procesador para ordenar l a s páginas −−>160 <p :p r o c e s s o r name=" o x f : x s l t ">161 <p: input name="data" h r e f="#resu l tDesordenado "/>162 <p: input name=" con f i g ">163 <x s l : s t y l e s h e e t version=" 2 .0 ">164 <xs l : t emp l a t e match="/">165 <items>166 <curso s>167 <xs l : app ly−templates s e l e c t="/ items / cur so s / curso "/>168 </ cur so s>169 <paginas>170 <xs l : app ly−templates s e l e c t="/ items / paginas /pagina ">171 <x s l : s o r t s e l e c t="@numero" data−type="number" order=

" ascending "/>172 </ xs l : app ly−templates>173 </paginas>174 </ items>175 </ xs l : t emp l a t e>176

177 <xs l : t emp l a t e match="/ items / cur so s / curso ">178 <curso>179 <x s l : a t t r i b u t e name="nombre"><xs l : v a l u e−o f s e l e c t="@nombre

"/></ x s l : a t t r i b u t e>180 <x s l : a t t r i b u t e name=" ent idad "><xs l : v a l u e−o f s e l e c t="

@entidad"/></ x s l : a t t r i b u t e>181 <x s l : a t t r i b u t e name=" prov inc i a "><xs l : v a l u e−o f s e l e c t="

@provincia "/></ x s l : a t t r i b u t e>182 <x s l : a t t r i b u t e name="munic ip io "><xs l : v a l u e−o f s e l e c t="

@municipio"/></ x s l : a t t r i b u t e>183 <x s l : a t t r i b u t e name=" idCurso "><xs l : v a l u e−o f s e l e c t="

@idCurso"/></ x s l : a t t r i b u t e>184 <x s l : a t t r i b u t e name="pag"><xs l : v a l u e−o f s e l e c t="@pag"/></

x s l : a t t r i b u t e>185 <x s l : a t t r i b u t e name=" l e t r a "><xs l : v a l u e−o f s e l e c t="@letra "/

></ x s l : a t t r i b u t e>186 </ curso>187 </ xs l : t emp l a t e>188 <xs l : t emp l a t e match="/ items / paginas /pagina ">189 <pagina>

268 Apéndice B. Ficheros desarrollados para la aplicación

190 <x s l : a t t r i b u t e name=" ac tua l "><xs l : v a l u e−o f s e l e c t="@actual"/></ x s l : a t t r i b u t e>

191 <x s l : a t t r i b u t e name="numero"><xs l : v a l u e−o f s e l e c t="@numero"/></ x s l : a t t r i b u t e>

192 <x s l : a t t r i b u t e name=" t o t a l "><xs l : v a l u e−o f s e l e c t="@total "/></ x s l : a t t r i b u t e>

193 </pagina>194 </ xs l : t emp l a t e>195

196 </ x s l : s t y l e s h e e t>197 </p: input>198 <p:output name="data" id=" r e s u l t "/>199 </ p :p r o c e s s o r>200

201 <!−− Generación de l f i c h e r o XML −−>202 <p :p r o c e s s o r name=" o x f : x s l t ">203 <p: input name=" con f i g " h r e f=" cursos_formacion . x s l "/>204 <p: input name="data" h r e f="#r e s u l t "/>205 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>206 <p: input name=" s e r v e r " h r e f="#se rv e r "/>207 <p:output name="data" id=" l i s t "/>208 </ p :p r o c e s s o r>209

210 <!−− S e r i a l i z a c i ó n de l f i c h e r o XML −−>211 <p :p r o c e s s o r name="oxf :xml−s e r i a l i z e r ">212 <p: input name=" con f i g ">213 <config>214 <content−type>app l i c a t i on /xml</content−type>215 <encoding>utf−8</encoding>216 <version>1.0</version>217 </config>218 </p: input>219 <p: input name="data" h r e f="#l i s t "/>220 </ p :p r o c e s s o r>221

222 </ p : c o n f i g>

cursos_formacion.xsl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

xmlns :xa lan=" ht tp : //xml . apache . org / x s l t " version=" 1 .0 ">3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <xs l : t emp l a t e match=" items ">7 <page>8

9 <help>c_help</help>10

11 <!−− Contenedor de l í n d i c e l a t e r a l −−>12 <container id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy=

"214" s i z e x="118" s i z e y="168">13 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="

118" s i z e y="28"></image>14 <image path=" images / ind_anuncios_off . png" posy="28" posx="0"

s i z e x="118" s i z e y="28"></image>15 <image path=" images / ind_empresas_off . png" posy="56" posx="0"

s i z e x="118" s i z e y="28"></image>16 <image path=" images / ind_formacion_on . png" posy="84" posx="0"

s i z e x="118" s i z e y="28"></image>

B.3. Directorio de gestión del canal de retorno 269

17 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0"s i z e x="118" s i z e y="28"></image>

18 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118" s i z e y="28"></image>

19 </container>20

21 <!−− Contenedor de l menú ho r i z on t a l ( pag inac ión ) −−>22 <container alpha="0" id="c_menu_hor" s i z e y="35" s i z e x="530" posy="

215" posx="30" v i s="1">23 <menu type=" ho r i z on t a l " posx="10" posy="0" s i z e x="530" s i z e y="25

" itemx="36" itemy="25" sepx="5" sepy="0" s t y l e="s_menuhorCentrado">

24 <x s l : v a r i a b l e name=" total_pag" s e l e c t="/ items / paginas /pagina[ 1 ] / @total "/>

25 <x s l : v a r i a b l e name="primera_pag" s e l e c t="/ items / paginas /pagina [ 1 ] / @numero"/>

26 <x s l : v a r i a b l e name="ultima_pag" s e l e c t="/ items / paginas /pagina[ l a s t ( ) ] /@numero"/>

27 <x s l : v a r i a b l e name="num_pag" s e l e c t="doc ( ' input :dat− ins tance' ) / submiss ion /pag"/>

28

29 <xs l : c h o o s e>30 <xsl :when t e s t="$primera_pag= '1 '">31 <x s l : a t t r i b u t e name=" cursorx "><xs l : v a l u e−o f s e l e c t="

number ($num_pag − 1) "/></ x s l : a t t r i b u t e>32 </xs l :when>33 <x s l : o t h e rw i s e>34 <x s l : a t t r i b u t e name=" cursorx "><xs l : v a l u e−o f s e l e c t="

number ($num_pag − $primera_pag + 1) "/></x s l : a t t r i b u t e>

35 <menuitem img=" images /bot_matrix_off . png" imgfocus="images /bot_matrix_on . png" s t r="&#60;&#60;"/>

36 </ x s l : o t h e rw i s e>37 </ x s l : c h o o s e>38

39 <xs l :app ly− t emplate s s e l e c t="paginas /pagina "/>40

41 <x s l : i f t e s t="$ultima_pag != $ total_pag and $ultima_pag !='1 ' ">

42 <menuitem img=" images /bot_matrix_off . png" imgfocus=" images/bot_matrix_on . png" s t r="&#62;&#62;"/>

43 </ x s l : i f>44 </menu>45 </container>46

47 <!−− Contenedor de l menú v e r t i c a l ( cu r so s ) −−>48 <container id="c_menu" alpha="0" s i z e y="300" s i z e x="510" posy="250"

posx="30" v i s="1">49 <xs l : c h o o s e>50 <xsl :when t e s t="count (// curso ) !=0">51 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="510" s i z e y=

"300" itemx="510" itemy="27" sepx="0" sepy="0" s t y l e="s_menuverCursos">

52 <xs l :app ly− t emplate s s e l e c t=" cur so s / curso "/>53

54 <menuitem s t r="−−−−Rea l i z a r nueva búsqueda−−−−" >55 <action key="OK" act="hidepage (∗ ) , showpage (

formacion_empleo ) ">56 <x s l : a t t r i b u t e name="actback ">57 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>58 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>

270 Apéndice B. Ficheros desarrollados para la aplicación

59 <x s l : v a r i a b l e name=" textoCurso " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /tipoCursoText "/>

60 <x s l : v a r i a b l e name=" tipoCurso " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / t ipoCurso "/>

61 <x s l : v a r i a b l e name=" i n i c i o " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / i n i c i o "/>

62 <x s l : v a r i a b l e name="munic ip io " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /munic ip io "/>

63 <x s l : v a r i a b l e name="pg" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /pag"/>

64 <x s l : v a r i a b l e name="prov" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / p rov inc i a "/>

65 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( 'hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :' , $ servPort , ' / i t v /apps /16003/800/ rc /cursos_formacion ? t ipoCurso = ' ,$ tipoCurso , '&amp ; tipoCursoText= ' ,$ textoCurso , '&amp ;i n i c i o = ' ,$ i n i c i o , '&amp ; munic ip io = ' ,$municipio , '&amp ; pag= ' ,$pg , '&amp ; ' ) "/>

66 <xs l : c h o o s e>67 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) /

submiss ion / t ipoCurso != 'AMP' ">68 <x s l : v a r i a b l e name=" c o l e c t i v o " s e l e c t="

doc ( ' input :dat− ins tance ' ) / submiss ion/ c o l e c t i v o "/>

69 <x s l : v a r i a b l e name=" f am i l i a " s e l e c t="doc( ' input :dat− ins tance ' ) / submiss ion /f am i l i a "/>

70 <x s l : v a r i a b l e name=" p r a c t i c a s " s e l e c t="doc ( ' input :dat− ins tance ' ) / submiss ion/ p r a c t i c a s "/>

71 <xs l : v a l u e−o f s e l e c t=" concat ($comun , 'c o l e c t i v o = ' ,$ c o l e c t i v o , '&amp ; f am i l i a= ' ,$ f ami l i a , '&amp ; codigo=&amp ;p r a c t i c a s = ' ,$ p rac t i c a s , '&amp ;p rov inc i a = ' ,$ prov , ' ) ' ) "/>

72 </xs l :when>73 <x s l : o t h e rw i s e>74 <x s l : v a r i a b l e name=" codigo " s e l e c t="doc

( ' input :dat− ins tance ' ) / submiss ion /codigo "/>

75 <x s l : v a r i a b l e name=" f am i l i a " s e l e c t="doc( ' input :dat− ins tance ' ) / submiss ion /f am i l i a "/>

76 <xs l : v a l u e−o f s e l e c t=" concat ($comun , 'codigo = ' ,$ codigo , '&amp ; f am i l i a = ' ,$f ami l i a , ' c o l e c t i v o=&amp ; p r a c t i c a s=&amp ; p rov inc i a = ' ,$ prov , ' ) ' ) "/>

77 </ x s l : o t h e rw i s e>78 </ x s l : c h o o s e>79 </ x s l : a t t r i b u t e>80 </action>81 </menuitem>82

83 </menu>84 </xs l :when>85 <x s l : o t h e rw i s e>86 <text s t y l e="s_body2" posx="0" posy="25" s i z e x="510" s i z e y

="90" s c r o l l="0">No se ha encontrado ningún curso deformación con l o s parámetros de búsqueda s e l e c c i o nado s

B.3. Directorio de gestión del canal de retorno 271

. Pulse "OK" para r e a l i z a r una nueva búsqueda .</text>87 <menu type=" v e r t i c a l " posx="0" posy="115" s i z e x="510"

s i z e y="27" itemx="510" itemy="27" sepx="0" sepy="0"s t y l e="s_menuverCursos">

88 <menuitem s t r="−−−−Rea l i z a r nueva búsqueda−−−−" >89 <action key="OK" act="hidepage (∗ ) , showpage (

formacion_empleo ) ">90 <x s l : a t t r i b u t e name="actback ">91 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>92 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>93 <x s l : v a r i a b l e name=" textoCurso " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /tipoCursoText "/>

94 <x s l : v a r i a b l e name=" tipoCurso " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / t ipoCurso "/>

95 <x s l : v a r i a b l e name=" i n i c i o " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / i n i c i o "/>

96 <x s l : v a r i a b l e name="munic ip io " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /munic ip io "/>

97 <x s l : v a r i a b l e name="pg" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /pag"/>

98 <x s l : v a r i a b l e name="prov" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / prov inc i a "/>

99 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( 'hidepage (∗ ) , showpage ( h t tp : // ' ,$ servIp , ' :' , $ servPort , ' / i t v /apps /16003/800/ rc /cursos_formacion ? t ipoCurso = ' ,$ tipoCurso , '&amp ; tipoCursoText= ' ,$ textoCurso , '&amp ;i n i c i o = ' ,$ i n i c i o , '&amp ; munic ip io = ' ,$municipio , '&amp ; pag= ' ,$pg , '&amp ; ' ) "/>

100 <xs l : c h o o s e>101 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) /

submiss ion / t ipoCurso != 'AMP' ">102 <x s l : v a r i a b l e name=" c o l e c t i v o " s e l e c t="

doc ( ' input :dat− ins tance ' ) / submiss ion/ c o l e c t i v o "/>

103 <x s l : v a r i a b l e name=" f am i l i a " s e l e c t="doc( ' input :dat− ins tance ' ) / submiss ion /f am i l i a "/>

104 <x s l : v a r i a b l e name=" p r a c t i c a s " s e l e c t="doc ( ' input :dat− ins tance ' ) / submiss ion/ p r a c t i c a s "/>

105 <xs l : v a l u e−o f s e l e c t=" concat ($comun , 'c o l e c t i v o = ' ,$ c o l e c t i v o , '&amp ; f am i l i a= ' ,$ f ami l i a , '&amp ; codigo=&amp ;p r a c t i c a s = ' ,$ p rac t i c a s , '&amp ;p rov inc i a = ' ,$ prov , ' ) ' ) "/>

106 </xs l :when>107 <x s l : o t h e rw i s e>108 <x s l : v a r i a b l e name=" codigo " s e l e c t="doc

( ' input :dat− ins tance ' ) / submiss ion /codigo "/>

109 <x s l : v a r i a b l e name=" f am i l i a " s e l e c t="doc( ' input :dat− ins tance ' ) / submiss ion /f am i l i a "/>

110 <xs l : v a l u e−o f s e l e c t=" concat ($comun , 'codigo = ' ,$ codigo , '&amp ; f am i l i a = ' ,$f ami l i a , ' c o l e c t i v o=&amp ; p r a c t i c a s=&amp ; p rov inc i a = ' ,$ prov , ' ) ' ) "/>

272 Apéndice B. Ficheros desarrollados para la aplicación

111 </ x s l : o t h e rw i s e>112 </ x s l : c h o o s e>113 </ x s l : a t t r i b u t e>114 </action>115 </menuitem>116 </menu>117 </ x s l : o t h e rw i s e>118 </ x s l : c h o o s e>119 </container>120 </page>121 </ xs l : t emp l a t e>122

123 <xs l : t emp l a t e match="paginas /pagina ">124 <menuitem img=" images /bot_matrix_off . png" imgfocus=" images /

bot_matrix_on . png">125 <x s l : a t t r i b u t e name=" s t r "><xs l : v a l u e−o f s e l e c t="@numero"/></

x s l : a t t r i b u t e>126 <x s l : i f t e s t="@actual= '0 ' ">127 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' ) / r eque s t /

server−name"/>128 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r ' ) /

r eque s t / server−port "/>129 <x s l : v a r i a b l e name=" textoCurso " s e l e c t="doc ( ' input :dat− ins tance

' ) / submiss ion / tipoCursoText "/>130 <x s l : v a r i a b l e name=" tipoCurso " s e l e c t="doc ( ' input :dat− ins tance ' )

/ submiss ion / t ipoCurso "/>131 <x s l : v a r i a b l e name=" i n i c i o " s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / i n i c i o "/>132 <x s l : v a r i a b l e name="munic ip io " s e l e c t="doc ( ' input :dat− ins tance ' )

/ submiss ion /munic ip io "/>133 <x s l : v a r i a b l e name="pg" s e l e c t="@numero"/>134 <x s l : v a r i a b l e name="prov" s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / prov inc i a "/>135 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps /16003/800/ rc /cursos_formacion ? t ipoCurso = ' ,$ tipoCurso , '&amp ; tipoCursoText= ' ,$ textoCurso , '&amp ; i n i c i o = ' ,$ i n i c i o , '&amp ; munic ip io = ' ,$municipio , '&amp ; pag= ' ,$pg , '&amp ; ' ) "/>

136 <x s l : a t t r i b u t e name="onover ">137 <xs l : c h o o s e>138 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion /

t ipoCurso != 'AMP' ">139 <x s l : v a r i a b l e name=" c o l e c t i v o " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / c o l e c t i v o "/>140 <x s l : v a r i a b l e name=" f am i l i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / f am i l i a "/>141 <x s l : v a r i a b l e name=" p r a c t i c a s " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / p r a c t i c a s "/>142 <xs l : v a l u e−o f s e l e c t=" concat ($comun , ' c o l e c t i v o = ' ,$

c o l e c t i v o , '&amp ; f am i l i a = ' ,$ f ami l i a , '&amp ; codigo=&amp ; p r a c t i c a s = ' ,$ p rac t i c a s , '&amp ; p rov inc i a = ' ,$ prov, ' ) ' ) "/>

143 </xs l :when>144 <x s l : o t h e rw i s e>145 <x s l : v a r i a b l e name=" codigo " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / codigo "/>146 <x s l : v a r i a b l e name=" f am i l i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / f am i l i a "/>147 <xs l : v a l u e−o f s e l e c t=" concat ($comun , ' cod igo = ' ,$ codigo

, '&amp ; f am i l i a = ' ,$ f ami l i a , ' c o l e c t i v o=&amp ; p r a c t i c a s=&amp ; p rov inc i a = ' ,$ prov , ' ) ' ) "/>

148 </ x s l : o t h e rw i s e>149 </ x s l : c h o o s e>150 </ x s l : a t t r i b u t e>

B.3. Directorio de gestión del canal de retorno 273

151 </ x s l : i f>152 </menuitem>153 </ xs l : t emp l a t e>154

155 <xs l : t emp l a t e match=" cur so s / curso ">156 <menuitem>157 <x s l : a t t r i b u t e name=" s t r ">158 <xs l : c h o o s e>159 <xsl :when t e s t="@municipio != ' ' ">160 <xs l : v a l u e−o f s e l e c t=" concat (@nombre , ' ( ' , @municipio , ' ) ' ) "

/>161 </xs l :when>162 <x s l : o t h e rw i s e>163 <xs l : v a l u e−o f s e l e c t="@nombre"/>164 </ x s l : o t h e rw i s e>165 </ x s l : c h o o s e>166 </ x s l : a t t r i b u t e>167

168 <action key="OK">169 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' ) / r eque s t /

server−name"/>170 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r ' ) /

r eque s t / server−port "/>171 <x s l : v a r i a b l e name=" textoCurso " s e l e c t="doc ( ' input :dat− ins tance

' ) / submiss ion / tipoCursoText "/>172 <x s l : v a r i a b l e name=" tipoCurso " s e l e c t="doc ( ' input :dat− ins tance ' )

/ submiss ion / t ipoCurso "/>173 <x s l : v a r i a b l e name=" i n i c i o " s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / i n i c i o "/>174 <x s l : v a r i a b l e name="munic ip io " s e l e c t="doc ( ' input :dat− ins tance ' )

/ submiss ion /munic ip io "/>175 <x s l : v a r i a b l e name="pag" s e l e c t="@pag"/>176 <x s l : v a r i a b l e name="prov" s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / prov inc i a "/>177 <x s l : v a r i a b l e name=" f am i l i a " s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / f am i l i a "/>178 <x s l : v a r i a b l e name=" idCurso " s e l e c t="@idCurso"/>179 <x s l : v a r i a b l e name=" l e t r a " s e l e c t="@letra "/>180 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps /16003/800/ rc /cu r so s_de ta l l e ? t ipoCurso = ' ,$ tipoCurso , '&amp ; tipoCursoText= ' ,$ textoCurso , '&amp ; i n i c i o = ' ,$ i n i c i o , '&amp ; munic ip io = ' ,$municipio , '&amp ; pag= ' ,$pag , '&amp ; f am i l i a = ' ,$ f ami l i a , '&amp ;idCurso= ' ,$ idCurso , '&amp ; l e t r a = ' ,$ l e t r a , '&amp ; ' ) "/>

181 <x s l : v a r i a b l e name="comun2" s e l e c t=" concat ( ' hidepage (∗ ) , showpage( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps /16003/800/ rc /cursos_formacion ? t ipoCurso = ' ,$ tipoCurso , '&amp ; tipoCursoText= ' ,$ textoCurso , '&amp ; i n i c i o = ' ,$ i n i c i o , '&amp ; munic ip io = ' ,$municipio , '&amp ; pag= ' ,$pag , '&amp ; f am i l i a = ' ,$ f ami l i a , '&amp ; ' )"/>

182 <x s l : a t t r i b u t e name=" act ">183 <xs l : c h o o s e>184 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion /

t ipoCurso != 'AMP' ">185 <x s l : v a r i a b l e name=" c o l e c t i v o " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / c o l e c t i v o "/>186 <x s l : v a r i a b l e name=" p r a c t i c a s " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / p r a c t i c a s "/>187 <xs l : v a l u e−o f s e l e c t=" concat ($comun , ' c o l e c t i v o = ' ,$

c o l e c t i v o , '&amp ; p r a c t i c a s = ' ,$ p ra c t i c a s , '&amp ; codigo=&amp ; p rov inc i a = ' ,$ prov , ' ) ' ) "/>

188 </xs l :when>189 <x s l : o t h e rw i s e>

274 Apéndice B. Ficheros desarrollados para la aplicación

190 <x s l : v a r i a b l e name=" codigo " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / codigo "/>

191 <xs l : v a l u e−o f s e l e c t=" concat ($comun , ' c o l e c t i v o=&amp ;p r a c t i c a s=&amp ; codigo = ' ,$ codigo , '&amp ; p rov inc i a = ' ,$prov , ' ) ' ) "/>

192 </ x s l : o t h e rw i s e>193 </ x s l : c h o o s e>194 </ x s l : a t t r i b u t e>195 <x s l : a t t r i b u t e name="actback ">196 <xs l : c h o o s e>197 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion /

t ipoCurso != 'AMP' ">198 <x s l : v a r i a b l e name=" c o l e c t i v o " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / c o l e c t i v o "/>199 <x s l : v a r i a b l e name=" p r a c t i c a s " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / p r a c t i c a s "/>200 <xs l : v a l u e−o f s e l e c t=" concat ($comun2 , ' c o l e c t i v o = ' ,$

c o l e c t i v o , '&amp ; p r a c t i c a s = ' ,$ p ra c t i c a s , '&amp ; codigo=&amp ; p rov inc i a = ' ,$ prov , ' ) ' ) "/>

201 </xs l :when>202 <x s l : o t h e rw i s e>203 <x s l : v a r i a b l e name=" codigo " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / codigo "/>204 <xs l : v a l u e−o f s e l e c t=" concat ($comun2 , ' c o l e c t i v o=&amp ;

p r a c t i c a s=&amp ; codigo = ' ,$ codigo , '&amp ; p rov inc i a = ' ,$prov , ' ) ' ) "/>

205 </ x s l : o t h e rw i s e>206 </ x s l : c h o o s e>207 </ x s l : a t t r i b u t e>208 </action>209 </menuitem>210 </ xs l : t emp l a t e>211

212 </ x s l : s t y l e s h e e t>

cursos_detalle.xpl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <p : c on f i g xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns:tmg=" ht tp :

//www. tmira . com/ops/ p r o c e s s o r s " xmlns:p=" ht tp : //www. orbeon . com/ oxf /p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">

3

4 <p:param type=" input " name=" in s tance "/>5

6 <p :p r o c e s s o r name=" ox f : r e q u e s t ">7 <p: input name=" con f i g ">8 <config stream−type="xs:anyURI" xmlns :xs=" ht tp : //www.w3 . org /2001/

XMLSchema">9 <inc lude>/ reques t / se rve r−name</ inc lude>

10 <inc lude>/ reques t / se rve r−port</ inc lude>11 </config>12 </p: input>13 <p:output name="data" id=" s e r v e r "/>14 </ p :p r o c e s s o r>15

16 <!−− Procesador para generar e l config ne c e s a r i o para e l método HTTP −−>17 <p :p r o c e s s o r name=" o x f : x s l t ">18 <p: input name="data" h r e f="#in s tance "/>19 <p: input name=" con f i g ">20 <x s l : s t y l e s h e e t version=" 2 .0 ">21 <xs l : t emp l a t e match="/">

B.3. Directorio de gestión del canal de retorno 275

22 <config>23 <method>url−http</method>24 <action>25 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www.

juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo /web/websae/ po r t a l / es /empleo/ formacion /ofertasFPE / ' ,/submiss ion / tipoCursoText , ' / deta l l eCurso ' , /submiss ion / l e t r a , ' . html? s tep=obtenerCurso&amp ;idCurso= ' ,/ submiss ion / idCurso , '&amp ; pg= ' ,/submiss ion /pag , '&amp ; t i c k e t=nocas ' ) "/>

26 </action>27 <cookies>yes</cookies>28 <timeout>40</timeout>29 <content−type>text /html</content−type>30 <encoding>utf−8</encoding>31 </config>32 </ xs l : t emp l a t e>33 </ x s l : s t y l e s h e e t>34 </p: input>35 <p:output name="data" id="metodo_http"/>36 </ p :p r o c e s s o r>37

38 <!−− Método GET (HTTP) −−>39 <p :p r o c e s s o r name="tmg:tm−http ">40 <p: input name=" con f i g " h r e f="#metodo_http"/>41 <p:output name="data" id="page"/>42 </ p :p r o c e s s o r>43

44 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTML r e c i b i d o −−>45 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">46 <p: input name=" con f i g ">47 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

x s l : v e r s i o n=" 2 .0 ">48

49 <t i t u l o>50 <x s l : f o r −each s e l e c t="//h4 [ @class=' t i t−btnBuscarEmpleo des

−btnBuscarEmpleo02 ' ] ">51 <xs l : v a l u e−o f s e l e c t=" text ( ) "/>52 </ x s l : f o r −each>53 </ t i t u l o>54

55 <tex to s>56 <x s l : f o r −each s e l e c t="//∗">57 <xs l : c h o o s e>58 <xsl :when t e s t="name ( )='h4 ' ">59 <x s l : i f t e s t=" . / @class=' t i t−btnBuscarEmpleo ' ">60 <texto>61 <xs l : v a l u e−o f s e l e c t=" concat ( '∗∗∗ ' , t ex t ( )

, '∗∗∗ ' ) "/>62 </ texto>63 </ x s l : i f>64 </xs l :when>65 <xsl :when t e s t="name ( )='td ' or name ( )=' l i ' ">66 <x s l : i f t e s t=" text ( ) != ' ' ">67 <texto>68 <x s l : v a r i a b l e name="cadena" s e l e c t="

normal ize−space ( t ex t ( ) ) "/>69 <xs l : c h o o s e>70 <xsl :when t e s t=" conta in s ($ cadena , '

pinchando ' ) ">71 <xs l : v a l u e−o f s e l e c t=" subst r ing−

be f o r e ($ cadena , ' pinchando ' ) "/>72 <x s l : t e x t>en e l menú de búsqueda .</

x s l : t e x t>

276 Apéndice B. Ficheros desarrollados para la aplicación

73 </xs l :when>74 <x s l : o t h e rw i s e>75 <xs l : v a l u e−o f s e l e c t="$cadena"/>76 </ x s l : o t h e rw i s e>77 </ x s l : c h o o s e>78 </ texto>79 </ x s l : i f>80 </xs l :when>81 </ x s l : c h o o s e>82 </ x s l : f o r −each>83 </ tex to s>84

85 </ items>86 </p: input>87 <p: input name="data" h r e f="#page"/>88 <p:output name="data" id=" r e s u l t "/>89 </ p :p r o c e s s o r>90

91 <!−− Generación de l f i c h e r o XML −−>92 <p :p r o c e s s o r name=" o x f : x s l t ">93 <p: input name=" con f i g " h r e f=" cu r so s_de ta l l e . x s l "/>94 <p: input name="data" h r e f="#r e s u l t "/>95 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>96 <p: input name=" s e r v e r " h r e f="#se rv e r "/>97 <p:output name="data" id=" l i s t "/>98 </ p :p r o c e s s o r>99

100 <!−− S e r i a l i z a c i ó n de l f i c h e r o XML −−>101 <p :p r o c e s s o r name="oxf :xml−s e r i a l i z e r ">102 <p: input name=" con f i g ">103 <config>104 <content−type>app l i c a t i on /xml</content−type>105 <encoding>utf−8</encoding>106 <version>1.0</version>107 </config>108 </p: input>109 <p: input name="data" h r e f="#l i s t "/>110 </ p :p r o c e s s o r>111

112 </ p : c o n f i g>

cursos_detalle.xsl

1 <?xml version=" 1 .0 " encoding="utf−8"?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

xmlns :xa lan=" ht tp : //xml . apache . org / x s l t " version=" 1 .0 ">3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <xs l : t emp l a t e match=" items ">7 <page>8 <help>c_help</help>9

10 <!−− Contenedor de l í n d i c e l a t e r a l −−>11 <container id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy=

"214" s i z e x="118" s i z e y="168">12 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_anuncios_off . png" posy="28" posx="0"

s i z e x="118" s i z e y="28"></image>

B.3. Directorio de gestión del canal de retorno 277

14 <image path=" images / ind_empresas_off . png" posy="56" posx="0"s i z e x="118" s i z e y="28"></image>

15 <image path=" images / ind_formacion_on . png" posy="84" posx="0"s i z e x="118" s i z e y="28"></image>

16 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0"s i z e x="118" s i z e y="28"></image>

17 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118" s i z e y="28"></image>

18 </container>19

20 <!−− Contenedor de l t exto de in formac ión −−>21 <container id="c_texto" v i s="1" alpha="0" posx="30" posy="214"

s i z e x="520" s i z e y="270">22 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25"

s c r o l l="0"><xs l : v a l u e−o f s e l e c t=" t i t u l o "/></text>23

24 <text s t y l e=" s_bodyDetal le " posx="0" posy="35" s i z e x="520" s i z e y="245" s c r o l l="1">

25 <xs l : f o r− ea ch s e l e c t=" tex to s / texto ">26 <x s l : i f t e s t=" po s i t i o n ( ) &gt ; 2">27 <xs l : v a l u e−o f s e l e c t=" text ( ) "/>28 <x s l : t e x t>

</ x s l : t e x t>29 </ x s l : i f>30 </ xs l : f o r− ea ch>31 </text>32 </container>33

34 <!−− Contenedor de l menú −−>35 <container id="c_menu" v i s="1" alpha="0" posx="145" posy="490"

s i z e x="290" s i z e y="45">36 <menu type=" ho r i z on t a l " posx="0" posy="0" s i z e x="290" s i z e y="45"

itemx="130" itemy="45" sepx="30" sepy="0" s t y l e="s_menuhor">

37 <menuitem s t r="Volver " >38 <action key="OK">39 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )

/ r eque s t /server−name"/>40 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r

' ) / r eque s t / server−port "/>41 <x s l : v a r i a b l e name=" textoCurso " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / tipoCursoText "/>42 <x s l : v a r i a b l e name=" tipoCurso " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / t ipoCurso "/>43 <x s l : v a r i a b l e name=" i n i c i o " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / i n i c i o "/>44 <x s l : v a r i a b l e name="munic ip io " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /munic ip io "/>45 <x s l : v a r i a b l e name="pg" s e l e c t="doc ( ' input :dat− ins tance

' ) / submiss ion /pag"/>46 <x s l : v a r i a b l e name="prov" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>47 <x s l : v a r i a b l e name=" c o l e c t i v o " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / c o l e c t i v o "/>48 <x s l : v a r i a b l e name=" f am i l i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / f am i l i a "/>49 <x s l : v a r i a b l e name=" p r a c t i c a s " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / p r a c t i c a s "/>50 <x s l : v a r i a b l e name=" codigo " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / codigo "/>51 <x s l : v a r i a b l e name=" idCurso " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / idCurso "/>

278 Apéndice B. Ficheros desarrollados para la aplicación

52 <x s l : v a r i a b l e name=" l e t r a " s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion / l e t r a "/>

53 <x s l : a t t r i b u t e name=" act ">54 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc / cursos_formacion ? t ipoCurso= ' ,$ tipoCurso , '&amp ; tipoCursoText= ' ,$ textoCurso, '&amp ; i n i c i o = ' ,$ i n i c i o , '&amp ; munic ip io = ' ,$municipio , '&amp ; pag= ' ,$pg , '&amp ; f am i l i a = ' ,$f ami 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 rac t i c a s , '&amp ; codigo = ' ,$ codigo , '&amp ; p rov inc i a = ' ,$ prov , ' ) ' ) "/>

55 <xs l : v a l u e−o f s e l e c t="$comun"/>56 </ x s l : a t t r i b u t e>57

58 <x s l : a t t r i b u t e name="actback ">59 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc / cu r so s_de ta l l e ? t ipoCurso= ' ,$ tipoCurso , '&amp ; tipoCursoText= ' ,$ textoCurso, '&amp ; i n i c i o = ' ,$ i n i c i o , '&amp ; munic ip io = ' ,$municipio , '&amp ; pag= ' ,$pg , '&amp ; f am i l i a = ' ,$f ami 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 rac t i c a s , '&amp ; codigo = ' ,$ codigo , '&amp ; p rov inc i a = ' ,$ prov , '&amp ; idCurso= ' ,$ idCurso, '&amp ; l e t r a = ' ,$ l e t r a , ' ) ' ) "/>

60 <xs l : v a l u e−o f s e l e c t="$comun"/>61 </ x s l : a t t r i b u t e>62 </action>63 </menuitem>64

65 <menuitem s t r="Nueva búsqueda" >66 <action key="OK" act="hidepage (∗ ) , showpage (

formacion_empleo ) ">67 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' )

/ r eque s t /server−name"/>68 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r

' ) / r eque s t / server−port "/>69 <x s l : v a r i a b l e name=" textoCurso " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / tipoCursoText "/>70 <x s l : v a r i a b l e name=" tipoCurso " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / t ipoCurso "/>71 <x s l : v a r i a b l e name=" i n i c i o " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / i n i c i o "/>72 <x s l : v a r i a b l e name="munic ip io " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /munic ip io "/>73 <x s l : v a r i a b l e name="pg" s e l e c t="doc ( ' input :dat− ins tance

' ) / submiss ion /pag"/>74 <x s l : v a r i a b l e name="prov" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>75 <x s l : v a r i a b l e name=" c o l e c t i v o " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / c o l e c t i v o "/>76 <x s l : v a r i a b l e name=" f am i l i a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / f am i l i a "/>77 <x s l : v a r i a b l e name=" p r a c t i c a s " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / p r a c t i c a s "/>78 <x s l : v a r i a b l e name=" codigo " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / codigo "/>79 <x s l : v a r i a b l e name=" idCurso " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / idCurso "/>80 <x s l : v a r i a b l e name=" l e t r a " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / l e t r a "/>81

82 <x s l : a t t r i b u t e name="actback ">

B.3. Directorio de gestión del canal de retorno 279

83 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc / cu r so s_de ta l l e ? t ipoCurso= ' ,$ tipoCurso , '&amp ; tipoCursoText= ' ,$ textoCurso, '&amp ; i n i c i o = ' ,$ i n i c i o , '&amp ; munic ip io = ' ,$municipio , '&amp ; pag= ' ,$pg , '&amp ; f am i l i a = ' ,$f ami 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 rac t i c a s , '&amp ; codigo = ' ,$ codigo , '&amp ; p rov inc i a = ' ,$ prov , '&amp ; idCurso= ' ,$ idCurso, '&amp ; l e t r a = ' ,$ l e t r a , ' ) ' ) "/>

84 <xs l : v a l u e−o f s e l e c t="$comun"/>85 </ x s l : a t t r i b u t e>86

87 </action>88 </menuitem>89

90 </menu>91 </container>92 </page>93 </ xs l : t emp l a t e>94

95 </ x s l : s t y l e s h e e t>

B.3.5. Directorio del SAE

directorio_SAE.xpl

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2 <p : c on f i g xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns:tmg=" ht tp :

//www. tmira . com/ops/ p r o c e s s o r s " xmlns:p=" ht tp : //www. orbeon . com/ oxf /p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">

3

4 <p:param type=" input " name=" in s tance "/>5

6 <p :p r o c e s s o r name=" ox f : r e q u e s t ">7 <p: input name=" con f i g ">8 <config stream−type="xs:anyURI" xmlns :xs=" ht tp : //www.w3 . org /2001/

XMLSchema">9 <inc lude>/ reques t / se rve r−name</ inc lude>

10 <inc lude>/ reques t / se rve r−port</ inc lude>11 </config>12 </p: input>13 <p:output name="data" id=" s e r v e r "/>14 </ p :p r o c e s s o r>15

16 <!−− Procesador para generar e l config ne c e s a r i o para e l método HTTP −−>17 <p :p r o c e s s o r name=" o x f : x s l t ">18 <p: input name="data" h r e f="#in s tance "/>19 <p: input name=" con f i g ">20 <x s l : s t y l e s h e e t version=" 2 .0 ">21 <xs l : t emp l a t e match="/">22 <config>23 <method>url−http</method>24 <action>25 <xs l : c h o o s e>26 <xsl :when t e s t="/ submiss ion / opcion=' areas ' ">27 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www.

juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo /web/websae/ po r t a l / es / i n s t i t u c i o n a l / contac ta r /di rector ioSAE/ate ' , / submiss ion / prov inc ia , ' / ?

280 Apéndice B. Ficheros desarrollados para la aplicación

t i c k e t=nocas ' ) "/>28 </xs l :when>29 <xsl :when t e s t="/ submiss ion / opcion=' d i r e c c i on e s ' ">30 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www.

juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo /web/websae/ po r t a l / es / i n s t i t u c i o n a l / contac ta r /di rector ioSAE / ' ,/ submiss ion / prov inc ia , ' / ?t i c k e t=nocas ' ) "/>

31 </xs l :when>32 <x s l : o t h e rw i s e>33 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www.

juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo /web/websae/ po r t a l / es / i n s t i t u c i o n a l / contac ta r /di rector ioSAE / ' ,/ submiss ion /opcion , ' / ? t i c k e t=nocas ' ) "/>

34 </ x s l : o t h e rw i s e>35 </ x s l : c h o o s e>36 </action>37 <cookies>yes</cookies>38 <timeout>40</timeout>39 <content−type>text /html</content−type>40 <encoding>utf−8</encoding>41 </config>42 </ xs l : t emp l a t e>43 </ x s l : s t y l e s h e e t>44 </p: input>45 <p:output name="data" id="metodo_http"/>46 </ p :p r o c e s s o r>47

48 <!−− Método GET (HTTP) −−>49 <p :p r o c e s s o r name="tmg:tm−http ">50 <p: input name=" con f i g " h r e f="#metodo_http"/>51 <p:output name="data" id="page"/>52 </ p :p r o c e s s o r>53

54 <!−− Se l e c c i ón de in formac ión de i n t e r é s en e l f i c h e r o HTML r e c i b i d o −−>55 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">56 <p: input name=" con f i g ">57 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" x s l : v e r s i o n

=" 2 .0 ">58 <xs l : c h o o s e>59

60 <!−− Áreas t e r r i t o r i a l e s −−>61 <xsl :when t e s t="doc ( ' input :dat−in s tance ' ) / submiss ion / opcion='

areas ' ">62 <nombre>63 <x s l : f o r −each s e l e c t="//h3 [ @class=' b tn In s t i t u c i ona l ' ] /

span">64 <xs l : v a l u e−o f s e l e c t=" text ( ) "/>65 </ x s l : f o r −each>66 </nombre>67 <areas>68 <x s l : f o r −each s e l e c t="//h4 [ @class=' t i t−b tn In s t i t u c i ona l

' ] ">69 <x s l : v a r i a b l e name=" po s i c i on " s e l e c t=" po s i t i o n ( ) "/>70 <area>71 <x s l : a t t r i b u t e name="numero">72 <xs l : v a l u e−o f s e l e c t="$ po s i c i on "/>73 </ x s l : a t t r i b u t e>74 <x s l : a t t r i b u t e name=" ac tua l ">75 <xs l : c h o o s e>76 <xsl :when t e s t="$ po s i c i on=doc ( ' input :dat−

in s tance ' ) / submiss ion /pag">1</xs l :when>77 <x s l : o t h e rw i s e>0</ x s l : o t h e rw i s e>

B.3. Directorio de gestión del canal de retorno 281

78 </ x s l : c h o o s e>79 </ x s l : a t t r i b u t e>80 <x s l : a t t r i b u t e name="nombre">81 <xs l : v a l u e−o f s e l e c t=" text ( ) "/>82 </ x s l : a t t r i b u t e>83 <f i l a s>84 <x s l : f o r −each s e l e c t=" . . / t ab l e [ $ po s i c i on ] /

tbody/ t r ">85 <f i l a>86 <x s l : f o r −each s e l e c t=" . / td">87 <xs l : c h o o s e>88 <xsl :when t e s t=" text ( ) != ' ' ">89 <elemento>90 <xs l : v a l u e−o f s e l e c t=" text ( )

"/>91 </elemento>92 </xs l :when>93 <x s l : o t h e rw i s e>94 <elemento>95 <xs l : v a l u e−o f s e l e c t=" . /

s t rong / text ( ) "/>96 </elemento>97 </ x s l : o t h e rw i s e>98 </ x s l : c h o o s e>99 </ x s l : f o r −each>

100 </ f i l a>101 </ x s l : f o r −each>102 </ f i l a s>103 </area>104 </ x s l : f o r −each>105 </ areas>106 </xs l :when>107

108 <!−− Di r e c c i one s p r o v i n c i a l e s −−>109 <xsl :when t e s t="doc ( ' input :dat−in s tance ' ) / submiss ion / opcion='

d i r e c c i on e s ' ">110 <nombre>111 <x s l : f o r −each s e l e c t="//h3 [ @class=' b tn In s t i t u c i ona l ' ] /

span">112 <xs l : v a l u e−o f s e l e c t=" text ( ) "/>113 </ x s l : f o r −each>114 </nombre>115 <areas>116 <x s l : f o r −each s e l e c t="// tab l e ">117 <x s l : v a r i a b l e name=" po s i c i on " s e l e c t=" po s i t i o n ( ) "/>118 <area>119 <x s l : a t t r i b u t e name="numero">120 <xs l : v a l u e−o f s e l e c t="$ po s i c i on "/>121 </ x s l : a t t r i b u t e>122 <x s l : a t t r i b u t e name=" ac tua l ">123 <xs l : c h o o s e>124 <xsl :when t e s t="$ po s i c i on=doc ( ' input :dat−

in s tance ' ) / submiss ion /pag">1</xs l :when>125 <x s l : o t h e rw i s e>0</ x s l : o t h e rw i s e>126 </ x s l : c h o o s e>127 </ x s l : a t t r i b u t e>128 <x s l : a t t r i b u t e name="nombre">129 <xs l : v a l u e−o f s e l e c t=" concat ( ' Sede ' , $ po s i c i on

) "/>130 </ x s l : a t t r i b u t e>131 <f i l a s>132 <x s l : f o r −each s e l e c t=" . / tbody/ t r ">133 <f i l a>134 <x s l : f o r −each s e l e c t=" . / td">

282 Apéndice B. Ficheros desarrollados para la aplicación

135 <xs l : c h o o s e>136 <xsl :when t e s t=" text ( ) != ' ' ">137 <elemento>138 <xs l : v a l u e−o f s e l e c t=" text ( )

"/>139 </elemento>140 </xs l :when>141 <x s l : o t h e rw i s e>142 <elemento>143 <xs l : v a l u e−o f s e l e c t=" . /

s t rong / text ( ) "/>144 </elemento>145 </ x s l : o t h e rw i s e>146 </ x s l : c h o o s e>147 </ x s l : f o r −each>148 </ f i l a>149 </ x s l : f o r −each>150 </ f i l a s>151 </area>152 </ x s l : f o r −each>153 </ areas>154 </xs l :when>155

156 <!−− S e r v i c i o s c e n t r a l e s −−>157 <x s l : o t h e rw i s e>158 <nombre>159 <x s l : f o r −each s e l e c t="//meta [@name='Descr ipt ion ' ] ">160 <xs l : v a l u e−o f s e l e c t="@content"/>161 </ x s l : f o r −each>162 </nombre>163 <f i l a s>164 <x s l : f o r −each s e l e c t="// tab l e / tbody/ t r ">165 <f i l a>166 <x s l : f o r −each s e l e c t=" . / td">167 <xs l : c h o o s e>168 <xsl :when t e s t=" text ( ) != ' ' ">169 <elemento>170 <xs l : v a l u e−o f s e l e c t=" text ( ) "/>171 </elemento>172 </xs l :when>173 <x s l : o t h e rw i s e>174 <elemento>175 <xs l : v a l u e−o f s e l e c t=" . / b/ text ( ) "/>176 </elemento>177 </ x s l : o t h e rw i s e>178 </ x s l : c h o o s e>179 </ x s l : f o r −each>180 </ f i l a>181 </ x s l : f o r −each>182 </ f i l a s>183 </ x s l : o t h e rw i s e>184

185 </ x s l : c h o o s e>186 </ items>187 </p: input>188 <p: input name="data" h r e f="#page"/>189 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>190 <p:output name="data" id=" r e s u l t "/>191 </ p :p r o c e s s o r>192

193 <!−− Generación de l f i c h e r o XML −−>194 <p :p r o c e s s o r name=" o x f : x s l t ">195 <p: input name=" con f i g " h r e f="directorio_SAE . x s l "/>196 <p: input name="data" h r e f="#r e s u l t "/>

B.3. Directorio de gestión del canal de retorno 283

197 <p: input name="dat−i n s t ance " h r e f="#in s tance "/>198 <p: input name=" s e r v e r " h r e f="#se rv e r "/>199 <p:output name="data" id=" l i s t "/>200 </ p :p r o c e s s o r>201

202 <!−− S e r i a l i z a c i ó n de l f i c h e r o XML −−>203 <p :p r o c e s s o r name="oxf :xml−s e r i a l i z e r ">204 <p: input name=" con f i g ">205 <config>206 <content−type>app l i c a t i on /xml</content−type>207 <encoding>utf−8</encoding>208 <version>1.0</version>209 </config>210 </p: input>211 <p: input name="data" h r e f="#l i s t "/>212 </ p :p r o c e s s o r>213

214 </ p : c o n f i g>

directorio_SAE.xsl

1 <?xml version=" 1 .0 " encoding="utf−8"?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"

xmlns :xa lan=" ht tp : //xml . apache . org / x s l t " version=" 1 .0 ">3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <xs l : t emp l a t e match=" items ">7 <page>8 <help>c_help</help>9

10 <!−− Contenedor de l í n d i c e l a t e r a l −−>11 <container id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy=

"214" s i z e x="118" s i z e y="168">12 <image path=" images / ind_guia_off . png" posy="0" posx="0" s i z e x="

118" s i z e y="28"></image>13 <image path=" images / ind_anuncios_off . png" posy="28" posx="0"

s i z e x="118" s i z e y="28"></image>14 <image path=" images / ind_empresas_off . png" posy="56" posx="0"

s i z e x="118" s i z e y="28"></image>15 <image path=" images / ind_formacion_off . png" posy="84" posx="0"

s i z e x="118" s i z e y="28"></image>16 <image path=" images / ind_director io_on . png" posy="112" posx="0"

s i z e x="118" s i z e y="28"></image>17 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="

118" s i z e y="28"></image>18 </container>19

20 <!−− Contenedor de l t í t u l o −−>21 <container id=" c_t i tu l o " v i s="1" alpha="0" posx="30" posy="224"

s i z e x="520" s i z e y="25">22 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25"

s c r o l l="0">23 <xs l : v a l u e−o f s e l e c t="nombre"/>24 </text>25 </container>26

27 <x s l : i f t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion / opcion=' areas 'or doc ( ' input :dat− ins tance ' ) / submiss ion / opcion=' d i r e c c i on e s ' ">

28 <!−− Contenedor de l menú ho r i z on t a l ( de pag inac ión ) −−>

284 Apéndice B. Ficheros desarrollados para la aplicación

29 <container alpha="0" id="c_menu_hor" s i z e y="35" s i z e x="530" posy="254" posx="30" v i s="1">

30 <menu type=" ho r i z on t a l " posx="10" posy="0" s i z e x="530" s i z e y="25" itemx="36" itemy="25" sepx="5" sepy="0" s t y l e="s_menuhorCentrado">

31 <x s l : v a r i a b l e name="num_pag" s e l e c t="doc ( 'input :dat− ins tance ' ) / submiss ion /pag"/>

32 <x s l : a t t r i b u t e name=" cursorx "><xs l : v a l u e−o f s e l e c t="number($num_pag − 1) "/></ x s l : a t t r i b u t e>

33 <xs l :app ly− t emplate s s e l e c t=" areas / area " mode=" pag inac ion "/>

34 </menu>35 </container>36

37 <!−− Contenedor de l s ub t í t u l o −−>38 <container id=" c_subt i tu lo " v i s="1" alpha="0" posx="30" posy="

290" s i z e x="520" s i z e y="20">39 <text s t y l e="s_body2" posx="0" posy="0" s i z e x="520" s i z e y="25

" s c r o l l="0">40 <xs l :app ly− t emplate s s e l e c t=" areas / area " mode=" sub t i t u l o "/

>41 </text>42 </container>43 </ x s l : i f>44

45 <!−− Contenedor de l a ( s ) tab la ( s ) −−>46 <container id="c_tabla " v i s="1" alpha="0" posx="40" s i z e x="500"

s i z e y="245">47 <x s l : a t t r i b u t e name="posy">48 <xs l : c h o o s e>49 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion /

opcion=' areas ' or doc ( ' input :dat− ins tance ' ) / submiss ion/ opcion=' d i r e c c i on e s ' ">315</ xs l :when>

50 <x s l : o t h e rw i s e>254</ x s l : o t h e rw i s e>51 </ x s l : c h o o s e>52 </ x s l : a t t r i b u t e>53 <table s t y l e 1="s_tabla_impares " s t y l e 0=" s_tabla_pares " c e l l x="

100" c e l l y="35" s i z e x="100" s i z e y="245" posx="0" posy="0">54 <xs l : c h o o s e>55 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion /

opcion=' areas ' or doc ( ' input :dat− ins tance ' ) / submiss ion/ opcion=' d i r e c c i on e s ' ">

56 <xs l :app ly− t emplate s s e l e c t=" areas / area " mode=" tab la1 "/>

57 </xs l :when>58 <x s l : o t h e rw i s e>59 <xs l :app ly− t emplate s s e l e c t=" f i l a s / f i l a " mode=" co l 1 "/>60 </ x s l : o t h e rw i s e>61 </ x s l : c h o o s e>62 </table>63 <table s t y l e 1="s_tabla_impares " s t y l e 0=" s_tabla_pares " c e l l x="

400" c e l l y="35" s i z e x="400" s i z e y="245" posx="100" posy="0">64 <xs l : c h o o s e>65 <xsl :when t e s t="doc ( ' input :dat− ins tance ' ) / submiss ion /

opcion=' areas ' or doc ( ' input :dat− ins tance ' ) / submiss ion/ opcion=' d i r e c c i on e s ' ">

66 <xs l :app ly− t emplate s s e l e c t=" areas / area " mode=" tab la2 "/>

67 </xs l :when>68 <x s l : o t h e rw i s e>69 <xs l :app ly− t emplate s s e l e c t=" f i l a s / f i l a " mode=" co l 2 "/>70 </ x s l : o t h e rw i s e>71 </ x s l : c h o o s e>72 </table>

B.3. Directorio de gestión del canal de retorno 285

73 </container>74

75 <!−− Contenedor de l botón "Volver " −−>76 <container id="c_menu" v i s="1" alpha="0" posx="558" posy="445"

s i z e x="122" s i z e y="79">77 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="122" s i z e y="79"

itemx="122" itemy="79" sepx="0" sepy="0" s t y l e="s_menuSinFondo">

78 <menuitem img=" images / bot_volver_off . png" imgfocus=" images /bot_volver_on . png">

79 <action key="OK" act="hidepage (∗ ) , showpage ( directorio_SAE )">

80 <x s l : a t t r i b u t e name="actback ">81 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t /server−name"/>82 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( '

i npu t : s e r v e r ' ) / r eque s t / server−port "/>83 <x s l : v a r i a b l e name="pag" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion /pag"/>84 <x s l : v a r i a b l e name="prov" s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / prov inc i a "/>85 <x s l : v a r i a b l e name="opcion " s e l e c t="doc ( '

input :dat− ins tance ' ) / submiss ion / opcion "/>86 <x s l : v a r i a b l e name=" ruta " s e l e c t=" concat ( ' hidepage

(∗ ) , showpage ( h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' /i t v /apps /16003/800/ rc /directorio_SAE? opcion= ' ,$opcion , '&amp ; p rov inc i a = ' ,$ prov , '&amp ; pag= ' ,$pag, ' ) ' ) "/>

87 <xs l : v a l u e−o f s e l e c t="$ ruta "/>88 </ x s l : a t t r i b u t e>89 </action>90 </menuitem>91

92 </menu>93 </container>94 </page>95 </ xs l : t emp l a t e>96

97 <!−− P l a n t i l l a de pag inac ión para cada área −−>98 <xs l : t emp l a t e match=" areas / area " mode=" pag inac ion ">99 <menuitem img=" images /bot_matrix_off . png" imgfocus=" images /

bot_matrix_on . png">100 <x s l : a t t r i b u t e name=" s t r "><xs l : v a l u e−o f s e l e c t="@numero"/></

x s l : a t t r i b u t e>101 <x s l : i f t e s t="@actual= '0 ' ">102 <x s l : v a r i a b l e name=" se rv Ip " s e l e c t="doc ( ' i npu t : s e r v e r ' ) / r eque s t /

server−name"/>103 <x s l : v a r i a b l e name=" servPort " s e l e c t="doc ( ' i npu t : s e r v e r ' ) /

r eque s t / server−port "/>104 <x s l : v a r i a b l e name="pag" s e l e c t="@numero"/>105 <x s l : v a r i a b l e name="prov" s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / prov inc i a "/>106 <x s l : v a r i a b l e name="opcion " s e l e c t="doc ( ' input :dat− ins tance ' ) /

submiss ion / opcion "/>107 <x s l : v a r i a b l e name=" ruta " s e l e c t=" concat ( ' hidepage (∗ ) , showpage (

h t tp : // ' ,$ servIp , ' : ' , $ servPort , ' / i t v /apps /16003/800/ rc /directorio_SAE? opcion= ' ,$ opcion , '&amp ; p rov inc i a = ' ,$ prov , '&amp ; pag= ' ,$pag , ' ) ' ) "/>

108 <x s l : a t t r i b u t e name="onover ">109 <xs l : v a l u e−o f s e l e c t="$ ruta "/>110 </ x s l : a t t r i b u t e>111 </ x s l : i f>112 </menuitem>113 </ xs l : t emp l a t e>

286 Apéndice B. Ficheros desarrollados para la aplicación

114

115 <!−− P l a n t i l l a de s ub t í t u l o para e l área −−>116 <xs l : t emp l a t e match=" areas / area " mode=" sub t i t u l o ">117 <x s l : i f t e s t="@actual= '1 ' ">118 <xs l : v a l u e−o f s e l e c t="@nombre"/>119 </ x s l : i f>120 </ xs l : t emp l a t e>121

122 <!−− P l a n t i l l a de l a tab la para e l área −−>123 <xs l : t emp l a t e match=" areas / area " mode=" tab la1 ">124 <x s l : i f t e s t="@actual= '1 ' ">125 <xs l :app ly− t emplate s s e l e c t=" f i l a s / f i l a " mode=" co l 1 "/>126 </ x s l : i f>127 </ xs l : t emp l a t e>128 <xs l : t emp l a t e match=" areas / area " mode=" tab la2 ">129 <x s l : i f t e s t="@actual= '1 ' ">130 <xs l :app ly− t emplate s s e l e c t=" f i l a s / f i l a " mode=" co l 2 "/>131 </ x s l : i f>132 </ xs l : t emp l a t e>133

134 <!−− P l a n t i l l a para cada f i l a −−>135 <xs l : t emp l a t e match=" f i l a s / f i l a " mode=" co l 1 ">136 <tr>137 <xs l : f o r− ea ch s e l e c t=" elemento [ 1 ] ">138 <td>139 <xs l : v a l u e−o f s e l e c t=" . "/>140 </td>141 </ xs l : f o r− ea ch>142 </ tr>143 </ xs l : t emp l a t e>144 <xs l : t emp l a t e match=" f i l a s / f i l a " mode=" co l 2 ">145 <tr>146 <xs l : f o r− ea ch s e l e c t=" elemento [ 2 ] ">147 <td>148 <xs l : v a l u e−o f s e l e c t=" . "/>149 </td>150 </ xs l : f o r− ea ch>151 </ tr>152 </ xs l : t emp l a t e>153

154

155 </ x s l : s t y l e s h e e t>

B.4. Directorio de gestión de las actualizaciones auto-máticas

B.4.1. Ficheros generales

con�g.xml

1 <?xml version=" 1 .0 " encoding="utf−8"?>2 <con f i g>3 <http_enabled>f a l s e</http_enabled>4 <http_url>ht tp : //</http_url>5 <http_renew>f a l s e</http_renew>6 <ftp_enabled>f a l s e</ ftp_enabled>7 <ftp_server>f t p : //</ f tp_server>8 <ftp_port>21</ ftp_port>

B.4. Directorio de gestión de las actualizaciones automáticas 287

9 <ftp_username/>10 <ftp_password/>11 <f t p_ f i l e />12 <ftp_renew>f a l s e</ ftp_renew>13 </ con f i g>

main.xpl

1 <p : c on f i g xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns:tmg=" ht tp ://www. tmira . com/ops/ p r o c e s s o r s " xmlns:p=" ht tp : //www. orbeon . com/ oxf /p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s ">

2

3 <!−− Encuentra l a ruta de l d i r e c t o r i o de emis ión −−>4 <p :p r o c e s s o r name=" ox f : d i r e c t o r y−scanner ">5 <p: input name=" con f i g ">6 <config>7 <base−directory>. / . . / emis s ion /</base−directory>8 </config>9 </p: input>

10 <p:output name="data" id="dir_emiss ion "/>11 </ p :p r o c e s s o r>12

13 <!−− Encuentra l a ruta de l d i r e c t o r i o de conten ido −−>14 <p :p r o c e s s o r name=" ox f : d i r e c t o r y−scanner ">15 <p: input name=" con f i g ">16 <config>17 <base−directory>. / . . / content /</base−directory>18 </config>19 </p: input>20 <p:output name="data" id="dir_content "/>21 </ p :p r o c e s s o r>22

23 <!−− Comienzo de l a a c t u a l i z a c i ó n −−>24 <p :p r o c e s s o r name=" o x f : x s l t ">25 <p: input name="data" h r e f="#dir_emiss ion "/>26 <p: input name=" con f i g ">27 <x s l : s t y l e s h e e t version=" 2 .0 ">28 <xs l : t emp l a t e match="/">29 <config>30 <timeout>120</timeout>31 <key><xs l : v a l u e−o f s e l e c t="/ d i r e c t o r y /@path"/></key>32 </config>33 </ xs l : t emp l a t e>34 </ x s l : s t y l e s h e e t>35 </p: input>36 <p:output name="data" id="data−update"/>37 </ p :p r o c e s s o r>38

39 <p :p r o c e s s o r name="tmg:tm−app−update−s t a r t ">40 <p: input name=" con f i g " h r e f="#data−update"/>41 </ p :p r o c e s s o r>42

43 <!−− Recupera l a s opc iones para cada una de l a s páginas de " guía para l abúsqueda" −−>

44 <p :p r o c e s s o r name=" o x f : i d e n t i t y ">45 <p: input name="data" h r e f="datos−guiaBusqueda . xml"/>46 <p:output name="data" id=" opc iones "/>47 </ p :p r o c e s s o r>48

49 <!−− P ip e l i n e s para recupera r l o s datos de " guía para l a búsqueda" deIn t e rn e t −−>

288 Apéndice B. Ficheros desarrollados para la aplicación

50 <p: f o r−each h r e f="#opc iones " s e l e c t="/guiabusqueda/ datos ">51 <p :p r o c e s s o r name=" o x f : p i p e l i n e ">52 <p: input name=" con f i g " h r e f="guiaBusqueda . xpl "/>53 <p: input name="dir_emiss ion " h r e f="#dir_emiss ion "/>54 <p: input name=" opc iones " h r e f=" cur rent ( ) "/>55 </ p :p r o c e s s o r>56 </ p : f o r−each>57

58 <!−− Fin de l a a c t u a l i z a c i ó n −−>59 <p :p r o c e s s o r name="tmg:tm−app−update−end">60 <p: input name=" con f i g " h r e f="#data−update"/>61 </ p :p r o c e s s o r>62

63 </ p : c o n f i g>

B.4.2. Guía para la búsqueda de empleo

datos-guiaBusqueda.xml

1 <?xml version=" 1 .0 " encoding="UTF−8"?>2

3 <guiabusqueda>4 <!−− TU EMPLEO −−>5 <datos>6 <t ipo>tuEmpleo</ t ipo>7 <nombreFichero>_11</nombreFichero>8 <ur l>tuEmpleo/conocerteATiMismo/</ u r l>9 <!−− <imagenId>HombrePensando</ imagenId>

10 <imagen>_11</imagen> −−>11 <imagenId></ imagenId>12 <imagen></imagen>13 </datos>14

15 <datos>16 <t ipo>tuEmpleo</ t ipo>17 <nombreFichero>_12</nombreFichero>18 <ur l>tuEmpleo/ conocerMercadoLaboral /</ u r l>19 <!−− <imagenId>MujerPensando</ imagenId>20 <imagen>_12</imagen> −−>21 <imagenId></ imagenId>22 <imagen></imagen>23 </datos>24

25 <datos>26 <t ipo>tuEmpleo</ t ipo>27 <nombreFichero>_13</nombreFichero>28 <ur l>tuEmpleo/ def in i rPlanBusqueda /</ u r l>29 <!−− <imagenId>HombrePensando</ imagenId>30 <imagen>_13</imagen> −−>31 <imagenId></ imagenId>32 <imagen></imagen>33 </datos>34

35 <!−− CÓMO BUSCAR EMPLEO −−>36 <datos>37 <t ipo>comoBuscar</ t ipo>38 <nombreFichero>_21</nombreFichero>39 <ur l>comoBuscarEmpleo/ in t roducc i on /</ u r l>40 <!−− <imagenId>HombrePensando</ imagenId>41 <imagen>_21</imagen> −−>

B.4. Directorio de gestión de las actualizaciones automáticas 289

42 <imagenId></ imagenId>43 <imagen></imagen>44 </datos>45

46 <datos>47 <t ipo>comoBuscar</ t ipo>48 <nombreFichero>_22</nombreFichero>49 <ur l>comoBuscarEmpleo/ curr i cu lumVitae /</ u r l>50 <imagenId></ imagenId>51 <imagen></imagen>52 </datos>53

54 <datos>55 <t ipo>comoBuscar</ t ipo>56 <nombreFichero>_23</nombreFichero>57 <ur l>comoBuscarEmpleo/ ca r taPre s en tac i on /</ u r l>58 <!−− <imagenId>CartasEncimaMesa</ imagenId>59 <imagen>_23</imagen> −−>60 <imagenId></ imagenId>61 <imagen></imagen>62 </datos>63

64 <datos>65 <t ipo>comoBuscar</ t ipo>66 <nombreFichero>_241</nombreFichero>67 <ur l>comoBuscarEmpleo/comoOfrecerteAEmpresa/comoOfrecertaAEmpresa_1 .

html</ u r l>68 <!−− <imagenId>OfrecerteEmpresa</ imagenId>69 <imagen>_24</imagen> −−>70 <imagenId></ imagenId>71 <imagen></imagen>72 </datos>73

74 <datos>75 <t ipo>comoBuscar</ t ipo>76 <nombreFichero>_242</nombreFichero>77 <ur l>comoBuscarEmpleo/comoOfrecerteAEmpresa/comoOfrecerteAEmpresa_2 .

html</ u r l>78 <imagenId></ imagenId>79 <imagen></imagen>80 </datos>81

82 <datos>83 <t ipo>comoBuscar</ t ipo>84 <nombreFichero>_25</nombreFichero>85 <ur l>comoBuscarEmpleo/busquedaEmpleoInternet /</ u r l>86 <!−− <imagenId>AgendaElectronica</ imagenId>87 <imagen>_25</imagen> −−>88 <imagenId></ imagenId>89 <imagen></imagen>90 </datos>91

92 <datos>93 <t ipo>comoBuscar</ t ipo>94 <nombreFichero>_261</nombreFichero>95 <ur l>comoBuscarEmpleo/ a f r on t a rP ro c e s oS e l e c c i on /

a f rontarProce soSe l e cc i on_1 . html</ u r l>96 <!−− <imagenId>HombrePensando</ imagenId>97 <imagen>_26</imagen> −−>98 <imagenId></ imagenId>99 <imagen></imagen>

100 </datos>101

102 <datos>

290 Apéndice B. Ficheros desarrollados para la aplicación

103 <t ipo>comoBuscar</ t ipo>104 <nombreFichero>_262</nombreFichero>105 <ur l>comoBuscarEmpleo/ a f r on t a rP ro c e s oS e l e c c i on /

a f rontarProce soSe l e cc i on_2 . html</ u r l>106 <imagenId></ imagenId>107 <imagen></imagen>108 </datos>109

110 <!−− AUTOEMPLEO −−>111 <datos>112 <t ipo>autoempleo</ t ipo>113 <nombreFichero>_31</nombreFichero>114 <ur l>autoempleo/ in t roducc i on /</ u r l>115 <!−− <imagenId>MujerSonriendo</ imagenId>116 <imagen>_31</imagen> −−>117 <imagenId></ imagenId>118 <imagen></imagen>119 </datos>120

121 <datos>122 <t ipo>autoempleo</ t ipo>123 <nombreFichero>_32</nombreFichero>124 <ur l>autoempleo/ culturaEmprendedora/</ u r l>125 <!−− <imagenId>HombreMuro</ imagenId>126 <imagen>_32</imagen> −−>127 <imagenId></ imagenId>128 <imagen></imagen>129 </datos>130

131 <datos>132 <t ipo>autoempleo</ t ipo>133 <nombreFichero>_33</nombreFichero>134 <ur l>autoempleo/preguntasEmprender/</ u r l>135 <!−− <imagenId>HombrePensando</ imagenId>136 <imagen>_33</imagen> −−>137 <imagenId></ imagenId>138 <imagen></imagen>139 </datos>140

141 <datos>142 <t ipo>autoempleo</ t ipo>143 <nombreFichero>_34</nombreFichero>144 <ur l>autoempleo/ a n a l i s i s P r e v i o s /</ u r l>145 <imagenId></ imagenId>146 <imagen></imagen>147 </datos>148

149 <datos>150 <t ipo>autoempleo</ t ipo>151 <nombreFichero>_35</nombreFichero>152 <ur l>autoempleo/ t rami t e sAdmin i s t ra t i vo s /</ u r l>153 <imagenId></ imagenId>154 <imagen></imagen>155 </datos>156

157 <datos>158 <t ipo>autoempleo</ t ipo>159 <nombreFichero>_36</nombreFichero>160 <ur l>autoempleo/ f r a n qu i c i a s /</ u r l>161 <!−− <imagenId>Franqu ic ia s</ imagenId>162 <imagen>_36</imagen> −−>163 <imagenId></ imagenId>164 <imagen></imagen>165 </datos>

B.4. Directorio de gestión de las actualizaciones automáticas 291

166

167 <!−− FORMACIÓN −−>168 <datos>169 <t ipo>formacion</ t ipo>170 <nombreFichero>_41</nombreFichero>171 <ur l>formacion / in t roducc i on /</ u r l>172 <!−− <imagenId>MujerTrabajandoPortat i l</ imagenId>173 <imagen>_41</imagen> −−>174 <imagenId></ imagenId>175 <imagen></imagen>176 </datos>177

178 <datos>179 <t ipo>formacion</ t ipo>180 <nombreFichero>_42</nombreFichero>181 <ur l>formacion / formacionAcademica/</ u r l>182 <!−− <imagenId>Sa laAs i entos</ imagenId>183 <imagen>_42</imagen> −−>184 <imagenId></ imagenId>185 <imagen></imagen>186 </datos>187

188 <datos>189 <t ipo>formacion</ t ipo>190 <nombreFichero>_43</nombreFichero>191 <ur l>formacion / formacionOcupacional /</ u r l>192 <!−− <imagenId>ObreroTrabajando</ imagenId>193 <imagen>_43</imagen> −−>194 <imagenId></ imagenId>195 <imagen></imagen>196 </datos>197

198 <datos>199 <t ipo>formacion</ t ipo>200 <nombreFichero>_44</nombreFichero>201 <ur l>formacion / otrasViasFormacion /</ u r l>202 <!−− <imagenId>HombreTrabajandoPortati l</ imagenId>203 <imagen>_44</imagen> −−>204 <imagenId></ imagenId>205 <imagen></imagen>206 </datos>207

208 </guiabusqueda>

guiaBusqueda.xpl

1 <p : c on f i g xmlns:p=" ht tp : //www. orbeon . com/ oxf / p i p e l i n e "2 xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s "3 xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"4 xmlns:tmg=" ht tp : //www. tmira . com/ops/ p r o c e s s o r s ">5

6 <p:param name="dir_emiss ion " type=" input "/>7 <p:param name=" opc iones " type=" input "/>8

9 <!−− Procesador para generar e l config ne c e s a r i o para e l método HTTP −−>10 <p :p r o c e s s o r name=" o x f : x s l t ">11 <p: input name="data" h r e f="#opc iones "/>12 <p: input name=" con f i g ">13 <x s l : s t y l e s h e e t version=" 2 .0 ">14 <xs l : t emp l a t e match="/">15 <config>

292 Apéndice B. Ficheros desarrollados para la aplicación

16 <url>17 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www.

juntadeanda luc ia . e s / se rv i c i oanda luzdeempleo /web/websae/ po r t a l / es /empleo/buscarTrabajo /guiaEmpleo/ ' ,/ datos / ur l , ' ? t i c k e t=nocas ' ) "/>

18 </url>19 <content−type>text /html</content−type>20 </config>21 </ xs l : t emp l a t e>22 </ x s l : s t y l e s h e e t>23 </p: input>24 <p:output name="data" id="metodo_http"/>25 </ p :p r o c e s s o r>26

27 <!−− Procesador para obtener e l f i c h e r o HTML nec e s a r i o −−>28 <p :p r o c e s s o r name="tmg:tm−ur l−genera to r " xmlns:p=" ht tp : //www. orbeon . com/

oxf / p i p e l i n e ">29 <p: input name=" con f i g " h r e f="#metodo_http"/>30 <p:output name="data" id="page"/>31 </ p :p r o c e s s o r>32

33 <!−− Procesador para obtener l a in formac ión ú t i l de l f i c h e r o HTML −−>34 <p :p r o c e s s o r name=" ox f :un sa f e−x s l t ">35 <p: input name=" con f i g ">36 <items xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" x s l : v e r s i o n

=" 2 .0 ">37 <!−− Títu lo de l a página −−>38 <t i t u l o>39 <xs l : v a l u e−o f s e l e c t="normal ize−space (//h3/span/ text ( ) ) "/>40 </ t i t u l o>41

42 <x s l : f o r −each s e l e c t="// div [ @id='dos−columnas−dcha ' ] / ∗ ">43 <x s l : v a r i a b l e name=" texto " s e l e c t=" . "/>44 <xs l : c h o o s e>45 <!−− Títu lo −−>46 <xsl :when t e s t="name ( )='h4 ' and normal ize−space ( t ex t ( ) )

!= ' ' ">47 <texto>48 <xs l : v a l u e−o f s e l e c t=" concat ( '∗∗∗ ' , normal ize−space (

t ex t ( ) ) ) "/>49 <x s l : t e x t>50 </ x s l : t e x t>51 <x s l : t e x t>52 </ x s l : t e x t>53 </ texto>54 </xs l :when>55 <!−− Párra fo de texto −−>56 <xsl :when t e s t="name ( )='p ' ">57 <x s l : i f t e s t=" text ( ) != ' ' or count ( . / / s t rong ) !=0">58 <texto>59 <xs l : v a l u e−o f s e l e c t="normal ize−space ($ texto ) "/>60 <x s l : t e x t>61 </ x s l : t e x t>62 <x s l : t e x t>63 </ x s l : t e x t>64 </ texto>65 </ x s l : i f>66 </xs l :when>67 <!−− Tabla −−>68 <xsl :when t e s t="name ( )=' tab le ' ">69 <texto>70 <x s l : t e x t>[NOTA: Para ver l a tabla , pu l s e l a f l e c h a

de l a derecha e l número de veces que seann e c e s a r i a s . Para vo lve r a e s t e texto , pu l s e l a

B.4. Directorio de gestión de las actualizaciones automáticas 293

f l e c h a de l a i z qu i e rda e l mismo número de veces ]</ x s l : t e x t>

71 <x s l : t e x t>72 </ x s l : t e x t>73 <x s l : t e x t>74 </ x s l : t e x t>75 </ texto>76 <tab la>77 <x s l : f o r −each s e l e c t=" . / tbody/ t r ">78 <f i l a>79 <x s l : f o r −each s e l e c t=" . / th">80 <elementoCab>81 <x s l : v a r i a b l e name=" textoCelda " s e l e c t="

. "/>82 <xs l : v a l u e−o f s e l e c t="normal ize−space ($

textoCelda ) "/>83 </elementoCab>84 </ x s l : f o r −each>85 <x s l : f o r −each s e l e c t=" . / td">86 <elemento>87 <x s l : a t t r i b u t e name="numFilas">88 <xs l : v a l u e−o f s e l e c t="@rowspan"/>89 </ x s l : a t t r i b u t e>90 <x s l : v a r i a b l e name=" textoCelda " s e l e c t="

. "/>91 <xs l : c h o o s e>92 <xsl :when t e s t="$ textoCelda != ' ' ">93 <xs l : v a l u e−o f s e l e c t="normal ize−

space ($ textoCelda ) "/>94 </xs l :when>95 <xsl :when t e s t="count ( . / u l // l i ) !=0">96 <x s l : f o r −each s e l e c t=" . / u l / l i ">97 <x s l : v a r i a b l e name="textoTabLI"

s e l e c t=" . "/>98 <xs l : v a l u e−o f s e l e c t=" concat

( '∗ ' , normal ize−space ($textoTabLI ) , ' ' ) "/>

99 </ x s l : f o r −each>100 </xs l :when>101 <x s l : o t h e rw i s e>102 <xs l : v a l u e−o f s e l e c t=" . / s t rong /

text ( ) "/>103 </ x s l : o t h e rw i s e>104 </ x s l : c h o o s e>105 </elemento>106 </ x s l : f o r −each>107 </ f i l a>108 </ x s l : f o r −each>109 </ tab la>110 </xs l :when>111 <!−− Tabla ( dentro de ' div ' ) −−>112 <xsl :when t e s t="name ( )='div ' and count ( . / / t ab l e ) !=0">113 <texto>114 <x s l : t e x t>[NOTA: Para ver l a tabla , pu l s e l a f l e c h a

de l a derecha e l número de veces que seann e c e s a r i a s . Para vo lve r a e s t e texto , pu l s e l af l e c h a de l a i z qu i e rda e l mismo número de veces ]</ x s l : t e x t>

115 <x s l : t e x t>116 </ x s l : t e x t>117 <x s l : t e x t>118 </ x s l : t e x t>119 </ texto>120 <tab la>

294 Apéndice B. Ficheros desarrollados para la aplicación

121 <x s l : f o r −each s e l e c t=" . / t ab l e / tbody/ t r ">122 <f i l a>123 <x s l : f o r −each s e l e c t=" . / th">124 <elementoCab>125 <x s l : v a r i a b l e name=" textoCelda " s e l e c t="

. "/>126 <xs l : v a l u e−o f s e l e c t="normal ize−space ($

textoCelda ) "/>127 </elementoCab>128 </ x s l : f o r −each>129 <x s l : f o r −each s e l e c t=" . / td">130 <elemento>131 <x s l : a t t r i b u t e name="numFilas">132 <xs l : v a l u e−o f s e l e c t="@rowspan"/>133 </ x s l : a t t r i b u t e>134 <x s l : v a r i a b l e name=" textoCelda " s e l e c t="

. "/>135 <xs l : c h o o s e>136 <xsl :when t e s t="$ textoCelda != ' ' ">137 <xs l : v a l u e−o f s e l e c t="normal ize−

space ($ textoCelda ) "/>138 </xs l :when>139 <xsl :when t e s t="count ( . / u l // l i ) !=0">140 <x s l : f o r −each s e l e c t=" . / u l / l i ">141 <x s l : v a r i a b l e name="textoTabLI"

s e l e c t=" . "/>142 <xs l : v a l u e−o f s e l e c t=" concat

( '∗ ' , normal ize−space ($textoTabLI ) , ' ' ) "/>

143 </ x s l : f o r −each>144 </xs l :when>145 <x s l : o t h e rw i s e>146 <xs l : v a l u e−o f s e l e c t=" . / s t rong /

text ( ) "/>147 </ x s l : o t h e rw i s e>148 </ x s l : c h o o s e>149 </elemento>150 </ x s l : f o r −each>151 </ f i l a>152 </ x s l : f o r −each>153 </ tab la>154 </xs l :when>155 <!−− L i s ta −−>156 <xsl :when t e s t="name ( )='ul ' or name ( )=' ol ' ">157 <x s l : f o r −each s e l e c t=" . / l i ">158 <texto>159 <x s l : t e x t>&#9;−</ x s l : t e x t>160 <xs l : c h o o s e>161 <xsl :when t e s t="count ( . / / a )=0">162 <x s l : v a r i a b l e name=" textoLI " s e l e c t=" . "/>163 <xs l : v a l u e−o f s e l e c t="normal ize−space ($

textoLI ) "/>164 </xs l :when>165 <xsl :when t e s t=" conta in s ( . / a [ 1 ] / @href , ' . g i f ' ) "

>166 <x s l : v a r i a b l e name="nombreLink" s e l e c t=" . / a

[ 1 ] / t ext ( ) "/>167 <xs l : v a l u e−o f s e l e c t="normal ize−space ($

nombreLink ) "/>168 <x s l : t e x t> [NOTA: Para ver l a imagen , pu l s e

l a f l e c h a de l a derecha e l número deveces que sean n e c e s a r i a s . Para vo lve ra e s t e texto , pu l s e l a f l e c h a de l ai z qu i e rda e l mismo número de veces ]</

B.4. Directorio de gestión de las actualizaciones automáticas 295

x s l : t e x t>169 </xs l :when>170 </ x s l : c h o o s e>171 <x s l : t e x t>172 </ x s l : t e x t>173 <x s l : i f t e s t=" po s i t i o n ( )=l a s t ( ) and count ( . / / l i )

=0">174 <x s l : t e x t>175 </ x s l : t e x t>176 </ x s l : i f>177 </ texto>178 <x s l : i f t e s t="count ( . / / a ) !=0 and conta in s ( . / a [ 1 ] /

@href , ' . g i f ' ) ">179 <enl_imagen>180 <x s l : a t t r i b u t e name=" t i t u l o ">181 <x s l : v a r i a b l e name="nombreLink" s e l e c t=" . / a

[ 1 ] / t ext ( ) "/>182 <xs l : v a l u e−o f s e l e c t="normal ize−space ($

nombreLink ) "/>183 </ x s l : a t t r i b u t e>184 <xs l : v a l u e−o f s e l e c t=" . / a [ 1 ] / @href "/>185 </enl_imagen>186 </ x s l : i f>187 </ x s l : f o r −each>188 </xs l :when>189 </ x s l : c h o o s e>190 </ x s l : f o r −each>191 <x s l : i f t e s t="doc ( ' i nput : opc i one s ' ) / datos / imagenId != ' ' ">192 <x s l : v a r i a b l e name=" imagenId" s e l e c t="doc ( ' i nput : opc i one s ' ) /

datos / imagenId"/>193 <x s l : f o r −each s e l e c t="//img [ @id=$imagenId ] ">194 <imagen_url>195 <xs l : v a l u e−o f s e l e c t="@src"/>196 </imagen_url>197 </ x s l : f o r −each>198 </ x s l : i f>199 </ items>200 </p: input>201 <p: input name="data" h r e f="#page"/>202 <p: input name=" opc iones " h r e f="#opc iones "/>203 <p:output name="data" id=" r e s u l t "/>204 </ p :p r o c e s s o r>205

206 <!−− Procesador para ex t r a e r l a s t ab l a s de l a in formac ión recuperada −−>207 <p :p r o c e s s o r name=" o x f : x s l t ">208 <p: input name="data" h r e f="#r e s u l t "/>209 <p: input name=" con f i g ">210 <x s l : s t y l e s h e e t version=" 2 .0 ">211

212 <xs l : t emp l a t e match="/">213 <items>214 <xs l : app ly−templates s e l e c t="/ items / tab la "/>215 </ items>216 </ xs l : t emp l a t e>217

218 <xs l : t emp l a t e match="/ items / tab la ">219 <tab l e>220 <x s l : f o r −each s e l e c t=" f i l a ">221 <x s l : i f t e s t="count ( . / / elementoCab )=0">222 <tr>223 <x s l : f o r −each s e l e c t=" elemento ">224 <td>225 <x s l : i f t e s t="@numFilas != ' ' ">226 <x s l : a t t r i b u t e name="rowspan">

296 Apéndice B. Ficheros desarrollados para la aplicación

227 <xs l : v a l u e−o f s e l e c t="@numFilas"/>228 </ x s l : a t t r i b u t e>229 </ x s l : i f>230 <xs l : v a l u e−o f s e l e c t=" . "/>231 </td>232 </ x s l : f o r −each>233 </ t r>234 </ x s l : i f>235 </ x s l : f o r −each>236 </ tab l e>237 </ xs l : t emp l a t e>238

239 </ x s l : s t y l e s h e e t>240 </p: input>241 <p:output name="data" id=" tab l a s "/>242 </ p :p r o c e s s o r>243

244 <!−− Procesador para normal i zar l a s t ab l a s ( e l im ina r e l a t r i bu to ' rowspan' ) −−>

245 <p :p r o c e s s o r name=" o x f : x s l t ">246 <p: input name=" con f i g " h r e f=" normal izar_tablas . x s l "/>247 <p: input name="data" h r e f="#tab l a s "/>248 <p:output name="data" id="tablas_norm"/>249 </ p :p r o c e s s o r>250

251 <!−− Procesador para dar formato a l f i c h e r o XML de s a l i d a −−>252 <p :p r o c e s s o r name=" o x f : x s l t ">253 <p: input name=" con f i g " h r e f="guiaBusqueda . x s l "/>254 <p: input name="data" h r e f="#r e s u l t "/>255 <p: input name=" tab l a s " h r e f="#tablas_norm"/>256 <p: input name=" opc iones " h r e f="#opc iones "/>257 <p:output name="data" id="guiaBusqueda_xml"/>258 </ p :p r o c e s s o r>259

260 <!−− Procesador para d e f i n i r e l nombre y ruta de l f i c h e r o XML de s a l i d a−−>

261 <p :p r o c e s s o r name=" o x f : x s l t ">262 <p: input name="data" h r e f="#dir_emiss ion "/>263 <p: input name=" opc iones " h r e f="#opc iones "/>264 <p: input name=" con f i g ">265 <x s l : s t y l e s h e e t version=" 2 .0 ">266 <xs l : t emp l a t e match="/">267 <config>268 <x s l : v a r i a b l e name=" d i r e c t o r i o " s e l e c t="/ d i r e c t o r y /@path"/

>269 <x s l : v a r i a b l e name="nombreFich" s e l e c t="doc ( '

i nput : opc i one s ' ) / datos /nombreFichero"/>270 <directory>271 <xs l : v a l u e−o f s e l e c t="$ d i r e c t o r i o "/>272 </directory>273 < f i l e>274 <xs l : v a l u e−o f s e l e c t=" concat ($ nombreFich , ' . xml ' ) "/>275 </ f i l e>276 <content−type>text /xml</content−type>277 </config>278 </ xs l : t emp l a t e>279 </ x s l : s t y l e s h e e t>280 </p: input>281 <p:output name="data" id=" rutaFichero "/>282 </ p :p r o c e s s o r>283

284 <!−− Procesador para d e f i n i r l a s prop iedades y conten ido de l f i c h e r o XMLde s a l i d a −−>

285 <p :p r o c e s s o r name="oxf :xml−conver t e r ">

B.4. Directorio de gestión de las actualizaciones automáticas 297

286 <p: input name=" con f i g ">287 <config>288 <content−type>app l i c a t i on /xml</content−type>289 <encoding>utf−8</encoding>290 <version>1.0</version>291 </config>292 </p: input>293 <p: input name="data" h r e f="#guiaBusqueda_xml"/>294 <p:output name="data" id="guiaBusqueda_fich "/>295 </ p :p r o c e s s o r>296

297 <!−− Procesador para s e r i a l i z a r e l f i c h e r o XML de s a l i d a −−>298 <p :p r o c e s s o r name=" o x f : f i l e −s e r i a l i z e r ">299 <p: input name=" con f i g " h r e f="#rutaFichero "/>300 <p: input name="data" h r e f="#guiaBusqueda_fich "/>301 </ p :p r o c e s s o r>302

303 <!−− Procesadores para recuperar y guardar l a s imágenes de bienvenida −−>304 <p:choose h r e f="#opc iones ">305 <p:when t e s t="/datos / imagenId != ' ' ">306 <p :p r o c e s s o r name=" o x f : p i p e l i n e ">307 <p: input name=" con f i g " h r e f="guiaBusqueda_imagesBienv . xpl "/>308 <p: input name="dir_emiss ion " h r e f="#dir_emiss ion "/>309 <p: input name=" opc iones " h r e f="#opc iones "/>310 <p: input name=" r e s u l t " h r e f="#r e s u l t "/>311 </ p :p r o c e s s o r>312 </p:when>313 <p:o the rw i s e>314 </ p :o the rw i s e>315 </p:choose>316

317 <!−− Procesadores para recuperar y guardar l a s imágenes de in formac ión −−>

318 <p: f o r−each h r e f="#r e s u l t " s e l e c t="/ items /enl_imagen">319 <p :p r o c e s s o r name=" o x f : p i p e l i n e ">320 <p: input name=" con f i g " h r e f="guiaBusqueda_imagesInfo . xpl "/>321 <p: input name="dir_emiss ion " h r e f="#dir_emiss ion "/>322 <p: input name=" opc iones " h r e f="#opc iones "/>323 <p: input name=" r e s u l t " h r e f=" cur rent ( ) "/>324 </ p :p r o c e s s o r>325 </ p : f o r−each>326

327 </ p : c o n f i g>

normalizar_tablas.xsl

1 <?xml version=' 1 .0 ' encoding=' utf−8 ' ?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns :xa lan

=" ht tp : //xml . apache . org / x s l t " version=" 2 .0 ">3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <!−− Este f i c h e r o t i e n e por func ión normal i zar t ab l a s ; e s dec i r , e l im ina rl o s a t r i bu t o s ' rowspan ' y ' co l span '

7 empleados en HTML para d e f i n i r c e l da s múl t ip l e s , y formar una tab laen l a que todas l a s c e l da s tengan e l

8 mismo tamaño −−>9

10 <x s l : v a r i a b l e name="table_with_no_colspans">11 <xs l :app ly− t emplate s mode=" co l span " />12 </ x s l : v a r i a b l e>

298 Apéndice B. Ficheros desarrollados para la aplicación

13

14 <x s l : v a r i a b l e name="table_with_no_rowspans">15 <xs l : f o r− ea ch s e l e c t="$ table_with_no_colspans">16 <xs l :app ly− t emplate s mode="rowspan"/>17 </ xs l : f o r− ea ch>18 </ x s l : v a r i a b l e>19

20 <xs l : t emp l a t e match="/">21 <xs l :app ly− t emplate s s e l e c t="$table_with_no_rowspans" mode=" f i n a l " />22 </ xs l : t emp l a t e>23

24 <xs l : t emp l a t e match="@∗ |∗ " mode="#a l l ">25 <xs l : c opy>26 <xs l :app ly− t emplate s s e l e c t="@∗ |∗ " mode="#current " />27 </ xs l : c opy>28 </ xs l : t emp l a t e>29

30 <xs l : t emp l a t e match="td" mode=" co l span ">31 <xs l : c h o o s e>32 <xsl :when t e s t="@colspan">33 <x s l : v a r i a b l e name=" t h i s " s e l e c t=" . " as=" element ( ) " />34 <xs l : f o r− ea ch s e l e c t="1 to @colspan">35 <td>36 <xs l : copy−o f s e l e c t="$ t h i s /@∗ [ not (name ( ) = ' colspan ' ) ] [ not

(name ( ) = ' width ' ) ] " />37 <xs l : copy−o f s e l e c t="$ t h i s /node ( ) " />38 </td>39 </ xs l : f o r− ea ch>40 </xs l :when>41 <x s l : o t h e rw i s e>42 <xs l : copy−o f s e l e c t=" . " />43 </ x s l : o t h e rw i s e>44 </ x s l : c h o o s e>45 </ xs l : t emp l a t e>46

47 <!−− Debe func ionar tanto para table/ tr como para table/tbody/ tr −−>48 <xs l : t emp l a t e match="tbody | t ab l e [ not ( tbody ) ] " mode="rowspan">49 <xs l : c opy>50 <xs l : copy−o f s e l e c t=" t r [ 1 ] " />51 <xs l :app ly− t emplate s s e l e c t=" t r [ 2 ] " mode="rowspan">52 <xsl:with−param name="previousRow" s e l e c t=" t r [ 1 ] " />53 </ xs l : app ly− t emplate s>54 </ xs l : c opy>55 </ xs l : t emp l a t e>56

57 <xs l : t emp l a t e match=" t r " mode="rowspan">58 <xsl :param name="previousRow" as=" element ( ) " />59

60 <x s l : v a r i a b l e name="currentRow" s e l e c t=" . " />61

62 <x s l : v a r i a b l e name="normalizedTDs">63 <xs l : f o r− ea ch s e l e c t="$previousRow/td">64 <xs l : c h o o s e>65 <xsl :when t e s t="@rowspan &gt ; 1">66 <xs l : c opy>67 <x s l : a t t r i b u t e name="rowspan">68 <xs l : v a l u e−o f s e l e c t="@rowspan − 1" />69 </ x s l : a t t r i b u t e>70 <xs l : copy−o f s e l e c t="@∗ [ not (name ( ) = ' rowspan ' ) ] " />71 <xs l : copy−o f s e l e c t="node ( ) " />72 </ xs l : c opy>73 </xs l :when>74 <x s l : o t h e rw i s e>

B.4. Directorio de gestión de las actualizaciones automáticas 299

75 <xs l : copy−o f s e l e c t="$currentRow/td [ 1 + count ( cur rent ( ) /p r e c e d i n g− s i b l i n g : : t d [ not (@rowspan ) or (@rowspan = 1)] ) ] " />

76 </ x s l : o t h e rw i s e>77 </ x s l : c h o o s e>78 </ xs l : f o r− ea ch>79 </ x s l : v a r i a b l e>80

81 <x s l : v a r i a b l e name="newRow" as="element ( t r ) ">82 <xs l : c opy>83 <xs l : copy−o f s e l e c t="$currentRow/@∗" />84 <xs l : copy−o f s e l e c t="$normalizedTDs" />85 </ xs l : c opy>86 </ x s l : v a r i a b l e>87

88 <xs l : copy−o f s e l e c t="$newRow" />89

90 <xs l :app ly− t emplate s s e l e c t=" f o l l ow i n g− s i b l i n g : : t r [ 1 ] " mode="rowspan">91 <xsl:with−param name="previousRow" s e l e c t="$newRow" />92 </ xs l : app ly− t emplate s>93 </ xs l : t emp l a t e>94

95 <xs l : t emp l a t e match="td" mode=" f i n a l ">96 <xs l : c h o o s e>97 <xsl :when t e s t="@rowspan">98 <xs l : c opy>99 <xs l : copy−o f s e l e c t="@∗ [ not (name ( ) = ' rowspan ' ) ] " />

100 <xs l : copy−o f s e l e c t="node ( ) " />101 </ xs l : c opy>102 </xs l :when>103 <x s l : o t h e rw i s e>104 <xs l : copy−o f s e l e c t=" . " />105 </ x s l : o t h e rw i s e>106 </ x s l : c h o o s e>107 </ xs l : t emp l a t e>108

109 </ x s l : s t y l e s h e e t>

guiaBusqueda.xsl

1 <?xml version=' 1 .0 ' encoding=' utf−8 ' ?>2 <x s l : s t y l e s h e e t xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform" xmlns :xa lan

=" ht tp : //xml . apache . org / x s l t " version=" 2 .0 ">3

4 <xs l : ou tpu t method="xml" indent="yes " xalan:indent−amount="4"/>5

6 <x s l : v a r i a b l e name="nombreFichero" s e l e c t="doc ( ' i nput : opc i one s ' ) / datos /nombreFichero"/>

7

8 <x s l : v a r i a b l e name=" to ta lTab la s ">9 <xs l : v a l u e−o f s e l e c t="count (// tab la ) "/>

10 </ x s l : v a r i a b l e>11

12 <xs l : t emp l a t e match=" items ">13 <page>14

15 <help>c_help</help>16

17 <!−− Contenedor de l í n d i c e l a t e r a l −−>18 <container id=" c_ind i c e_ la t e ra l " v i s="1" alpha="0" posx="560" posy=

"214" s i z e x="118" s i z e y="168">

300 Apéndice B. Ficheros desarrollados para la aplicación

19 <image path=" images / ind_guia_on . png" posy="0" posx="0" s i z e x="118" s i z e y="28"></image>

20 <image path=" images / ind_anuncios_off . png" posy="28" posx="0"s i z e x="118" s i z e y="28"></image>

21 <image path=" images / ind_empresas_off . png" posy="56" posx="0"s i z e x="118" s i z e y="28"></image>

22 <image path=" images / ind_formacion_off . png" posy="84" posx="0"s i z e x="118" s i z e y="28"></image>

23 <image path=" images / ind_d i r e c to r i o_o f f . png" posy="112" posx="0"s i z e x="118" s i z e y="28"></image>

24 <image path=" images / ind_web_off . png" posy="140" posx="0" s i z e x="118" s i z e y="28"></image>

25 </container>26

27 <!−− Contenedor de l menú ho r i z on t a l ( pag inac ión ) −−>28 <container alpha="0" id="c_menu_hor" s i z e y="35" s i z e x="530" posy="

215" posx="30" v i s="1">29 <menu type=" ho r i z on t a l " posx="10" posy="0" s i z e x="530" s i z e y="25

" itemx="36" itemy="25" sepx="5" sepy="0" s t y l e="s_menuhorCentrado" cursorx="0">

30 <menuitem img=" images /bot_matrix_off . png" imgfocus=" images /bot_matrix_on . png" s t r="1">

31 <x s l : a t t r i b u t e name="onover ">32 <xs l : v a l u e−o f s e l e c t=" concat ( ' showcont ( ' , $ nombreFichero

, ' . c_bienv ) ' ) "/>33 </ x s l : a t t r i b u t e>34 </menuitem>35

36 <menuitem img=" images /bot_matrix_off . png" imgfocus=" images /bot_matrix_on . png" s t r="2">

37 <x s l : a t t r i b u t e name="onover ">38 <xs l : v a l u e−o f s e l e c t=" concat ( ' showcont ( ' , $ nombreFichero

, ' . c_texto ) ' ) "/>39 </ x s l : a t t r i b u t e>40 </menuitem>41

42 <xs l :app ly− t emplate s s e l e c t=" tab la " mode=" pag inac ion "/>43 <xs l :app ly− t emplate s s e l e c t="enl_imagen" mode=" pag inac ion "/>44 </menu>45 </container>46

47 <!−− Contenedor de l t í t u l o de l a página −−>48 <container id=" c_t i tu l o " v i s="1" posx="30" posy="250" s i z e x="520"

s i z e y="25" alpha="0">49 <x s l : v a r i a b l e name=" t i t u l o 2 " s e l e c t=" t i t u l o "/>50 <x s l : v a r i a b l e name=" t i t u l o ">51 <xs l : c h o o s e>52 <xsl :when t e s t="doc ( ' i nput : opc i one s ' ) / datos / t ipo='tuEmpleo

' ">53 <xs l : v a l u e−o f s e l e c t=" concat ( 'Tu empleo: ' , $ t i t u l o 2 ) "/>54 </xs l :when>55 <xsl :when t e s t="doc ( ' i nput : opc i one s ' ) / datos / t ipo='

comoBuscar ' ">56 <xs l : v a l u e−o f s e l e c t=" concat ( 'Cómo buscar empleo: ' , $

t i t u l o 2 ) "/>57 </xs l :when>58 <xsl :when t e s t="doc ( ' i nput : opc i one s ' ) / datos / t ipo='

autoempleo ' ">59 <xs l : v a l u e−o f s e l e c t=" concat ( ' Autoempleo: ' , $ t i t u l o 2 ) "/

>60 </xs l :when>61 <xsl :when t e s t="doc ( ' i nput : opc i one s ' ) / datos / t ipo='

formacion ' ">62 <xs l : v a l u e−o f s e l e c t=" concat ( ' Formación: ' , $ t i t u l o 2 ) "/>

B.4. Directorio de gestión de las actualizaciones automáticas 301

63 </xs l :when>64 </ x s l : c h o o s e>65 </ x s l : v a r i a b l e>66 <text s t y l e="s_body" posx="0" posy="0" s i z e x="520" s i z e y="25"

s c r o l l="0">67 <xs l : v a l u e−o f s e l e c t="$ t i t u l o "/>68 </text>69 </container>70

71 <!−− Contenedor de l t exto ( e imagen , en su caso ) de b ienvenida −−>72 <container id="c_bienv" v i s="0" posx="30" posy="275" s i z e x="520"

s i z e y="255" alpha="0">73 <x s l : v a r i a b l e name=" textoEntrada " s e l e c t=" ' Para con su l t a r l a

información , pu l s e l a f l e c h a de l a derecha una s o l a vez yluego desp lace e l t exto con l a s f l e c h a s de a r r i ba / abajo .Para vo lve r a l menú ante r i o r , puede pu l sa r &#34;OK&#34; encua l qu i e r momento . ' "/>

74 <text s t y l e="s_body2" posy="0" s i z e x="320" s i z e y="255" s c r o l l="0">

75 <x s l : a t t r i b u t e name="posx">76 <xs l : c h o o s e>77 <xsl :when t e s t="doc ( ' i nput : opc i one s ' ) / datos / imagenId

!= ' ' ">190</ xs l :when>78 <x s l : o t h e rw i s e>10</ x s l : o t h e rw i s e>79 </ x s l : c h o o s e>80 </ x s l : a t t r i b u t e>81 <xs l : v a l u e−o f s e l e c t="$ textoEntrada "/>82 </text>83 <x s l : i f t e s t="doc ( ' i nput : opc i one s ' ) / datos / imagenId != ' ' ">84 <image posx="0" posy="10">85 <x s l : v a r i a b l e name="nombre_fich1" s e l e c t="doc ( '

i nput : opc i one s ' ) / datos / imagen"/>86 <x s l : v a r i a b l e name="nombre_fich2" s e l e c t="doc ( '

i nput : opc i one s ' ) / datos / imagenId"/>87 <x s l : a t t r i b u t e name="path">88 <xs l : v a l u e−o f s e l e c t=" concat ( ' images / ' ,$ nombre_fich1 , $

nombre_fich2 , ' . jpg ' ) "/>89 </ x s l : a t t r i b u t e>90 </image>91 </ x s l : i f>92 </container>93

94 <!−− Contenedor de l botón "Volver " −−>95 <container id="c_menu" v i s="1" alpha="0" posx="558" posy="445"

s i z e x="122" s i z e y="79">96 <menu type=" v e r t i c a l " posx="0" posy="0" s i z e x="122" s i z e y="79"

itemx="122" itemy="79" sepx="0" sepy="0" s t y l e="s_menuSinFondo">

97 <menuitem img=" images /bot_grande_off . png" imgfocus=" images /bot_grande_on . png" s t r="&#xD; Volver ">

98 <action key="OK">99 <x s l : a t t r i b u t e name=" act ">

100 <x s l : v a r i a b l e name="comun" s e l e c t=" concat ( ' hidepage( ' , $ nombreFichero , ' ) ' ) "/>

101 <x s l : v a r i a b l e name="comun2">102 <xs l : c h o o s e>103 <xsl :when t e s t=" conta in s ($ nombreFichero , ' 2 4 ' ) "

>104 <xs l : v a l u e−o f s e l e c t=" ' , showpage (24) ' "/>105 </xs l :when>106 <xsl :when t e s t=" conta in s ($ nombreFichero , ' 2 6 ' ) "

>107 <xs l : v a l u e−o f s e l e c t=" ' , showpage (26) ' "/>108 </xs l :when>

302 Apéndice B. Ficheros desarrollados para la aplicación

109 <x s l : o t h e rw i s e>110 <xs l : v a l u e−o f s e l e c t=" concat ( ' , showpage (

guia_busqueda ' , s ub s t r i ng ($ nombreFichero, 2 , 1 ) , ' ) ' ) "/>

111 </ x s l : o t h e rw i s e>112 </ x s l : c h o o s e>113 </ x s l : v a r i a b l e>114 <xs l : v a l u e−o f s e l e c t=" concat ($comun , $ comun2) "/>115 </ x s l : a t t r i b u t e>116 <x s l : a t t r i b u t e name="actback ">117 <xs l : c h o o s e>118 <xsl :when t e s t=" conta in s ($ nombreFichero , ' 2 4 ' ) ">119 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (24) ,

showpage ( ' , $ nombreFichero , ' ) ' ) "/>120 </xs l :when>121 <xsl :when t e s t=" conta in s ($ nombreFichero , ' 2 6 ' ) ">122 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (26) ,

showpage ( ' , $ nombreFichero , ' ) ' ) "/>123 </xs l :when>124 <x s l : o t h e rw i s e>125 <xs l : v a l u e−o f s e l e c t=" concat ( ' hidepage (

guia_busqueda ' , s ub s t r i ng ($ nombreFichero, 2 , 1 ) , ' ) , showpage ( ' , $ nombreFichero , ' ) ' ) "/>

126 </ x s l : o t h e rw i s e>127 </ x s l : c h o o s e>128 </ x s l : a t t r i b u t e>129 </action>130 </menuitem>131 </menu>132 </container>133

134 <!−− Contenedor de l t exto de in formac ión −−>135 <container id="c_texto" v i s="0" alpha="0" posx="30" posy="275"

s i z e x="520" s i z e y="255">136 <text s t y l e=" s_bodyDetal le " posx="0" posy="7" s i z e x="520" s i z e y=

"245" s c r o l l="1">137 <xs l :app ly− t emplate s s e l e c t=" texto "/>138 </text>139 </container>140

141 <xs l :app ly− t emplate s s e l e c t=" tab la " mode=" contenedores "/>142

143 <xs l :app ly− t emplate s s e l e c t="enl_imagen" mode=" contenedores "/>144

145 </page>146 </ xs l : t emp l a t e>147

148 <!−− P l a n t i l l a para e l t exto de in formac ión −−>149 <xs l : t emp l a t e match=" texto ">150 <x s l : i f t e s t="not ( conta in s ( t ex t ( ) , ' Descargar ' ) ) and not ( conta in s ( t ex t

( ) , ' haz c l i c k en ' ) ) ">151 <xs l : c h o o s e>152 <xsl :when t e s t="doc ( ' i nput : opc i one s ' ) / datos /nombreFichero != '_43 '

">153 <xs l : v a l u e−o f s e l e c t=" . "/>154 </xs l :when>155 <x s l : o t h e rw i s e>156 <x s l : v a r i a b l e name=" po s i c i on " s e l e c t=" po s i t i o n ( ) "/>157 <x s l : i f t e s t="$ po s i c i on &l t ; 5">158 <xs l : v a l u e−o f s e l e c t=" . "/>159 </ x s l : i f>160 </ x s l : o t h e rw i s e>161 </ x s l : c h o o s e>162 </ x s l : i f>

B.4. Directorio de gestión de las actualizaciones automáticas 303

163 </ xs l : t emp l a t e>164

165 <!−− P l a n t i l l a para l o s contenedores de l a s t ab l a s −−>166 <xs l : t emp l a t e match=" tab la " mode=" contenedores ">167 <x s l : v a r i a b l e name=" po s i c i on ">168 <xs l : v a l u e−o f s e l e c t=" po s i t i o n ( ) "/>169 </ x s l : v a r i a b l e>170 <x s l : v a r i a b l e name="hayCabecera">171 <xs l : c h o o s e>172 <xsl :when t e s t="count ( . / f i l a [ 1 ] / / elementoCab ) !=0">1</xs l :when>173 <x s l : o t h e rw i s e>0</ x s l : o t h e rw i s e>174 </ x s l : c h o o s e>175 </ x s l : v a r i a b l e>176

177 <container v i s="0" alpha="0" posx="30" posy="275" s i z e x="530" s i z e y="265">

178 <x s l : a t t r i b u t e name=" id ">179 <xs l : v a l u e−o f s e l e c t=" concat ( ' c_tabla_ ' , $ po s i c i on ) "/>180 </ x s l : a t t r i b u t e>181

182 <xs l : c h o o s e>183 <!−− Caso de que sea l a página 262 (Cómo buscar empleo −

Afrontar e l proc . de s e l e c c i ó n − Pág . 2) −−>184 <xsl :when t e s t="$nombreFichero='_262 ' ">185 <text s t y l e=" s_bodyDetal le " posx="0" posy="7" s i z e x="520"

s i z e y="245" s c r o l l="1">186 <xs l : c h o o s e>187 <xsl :when t e s t="$hayCabecera= '1 '">188 <xs l : f o r− ea ch s e l e c t=" . / f i l a [ 1 ] / elementoCab [ 1 ] ">189 <xs l : v a l u e−o f s e l e c t=" concat ( '∗∗∗ ' , t ex t ( ) , ' :&#xA

;&#xD; ' ) "/>190 </ xs l : f o r− ea ch>191 <xs l : f o r− ea ch s e l e c t=" . / f i l a ">192 <x s l : v a r i a b l e name=" posF i l a ">193 <xs l : v a l u e−o f s e l e c t=" po s i t i o n ( ) "/>194 </ x s l : v a r i a b l e>195 <x s l : i f t e s t="$ posF i l a &gt ; 1">196 <x s l : v a r i a b l e name=" texto " s e l e c t="doc ( '

i npu t : t ab l a s ' ) / items / tab l e [ number ($po s i c i on ) ] / t r [ number ($ posF i l a − $hayCabecera ) ] / td [ 1 ] "/>

197 <xs l : v a l u e−o f s e l e c t=" concat ( '− ' ,$ texto ,'&#xA;&#xD; ' ) "/>

198 </ x s l : i f>199 </ xs l : f o r− ea ch>200 <xs l : f o r− ea ch s e l e c t=" . / f i l a [ 1 ] / elementoCab [ 2 ] ">201 <xs l : v a l u e−o f s e l e c t=" concat ('&#xA;&#xD;∗∗∗ ' , t ex t

( ) , ' :&#xA;&#xD; ' ) "/>202 </ xs l : f o r− ea ch>203 <xs l : f o r− ea ch s e l e c t=" . / f i l a ">204 <x s l : v a r i a b l e name=" posF i l a ">205 <xs l : v a l u e−o f s e l e c t=" po s i t i o n ( ) "/>206 </ x s l : v a r i a b l e>207 <x s l : i f t e s t="$ posF i l a &gt ; 1">208 <x s l : v a r i a b l e name=" texto " s e l e c t="doc ( '

i npu t : t ab l a s ' ) / items / tab l e [ number ($po s i c i on ) ] / t r [ number ($ posF i l a − $hayCabecera ) ] / td [ 2 ] "/>

209 <xs l : v a l u e−o f s e l e c t=" concat ( '− ' ,$ texto ,'&#xA;&#xD; ' ) "/>

210 </ x s l : i f>211 </ xs l : f o r− ea ch>212 </xs l :when>213 <x s l : o t h e rw i s e>

304 Apéndice B. Ficheros desarrollados para la aplicación

214 <xs l : f o r− ea ch s e l e c t=" . / f i l a ">215 <x s l : v a r i a b l e name=" posF i l a ">216 <xs l : v a l u e−o f s e l e c t=" po s i t i o n ( ) "/>217 </ x s l : v a r i a b l e>218 <xs l : v a l u e−o f s e l e c t=" concat ( '∗∗∗ ' , doc ( '

i npu t : t ab l a s ' ) / items / tab l e [ number ($ po s i c i on )] / t r [ number ($ posF i l a − $hayCabecera ) ] / td[1] , '&#xA;&#xD; ' ) "/>

219 <xs l : v a l u e−o f s e l e c t=" concat ( doc ( ' i npu t : t ab l a s ' ) /items / tab l e [ number ($ po s i c i on ) ] / t r [ number ($posF i l a − $hayCabecera ) ] / td [2] , '&#xA;&#xD;&#xA;&#xD; ' ) "/>

220 </ xs l : f o r− ea ch>221 </ x s l : o t h e rw i s e>222 </ x s l : c h o o s e>223 </text>224

225 </xs l :when>226

227 <!−− Caso e s t ánda r : se c rea l a tab la de forma normal −−>228 <x s l : o t h e rw i s e>229 <table s t y l e 1="s_tabla_impares " s t y l e 0=" s_tabla_pares " s i z e x=

"525" s i z e y="260" posx="0" posy="0">230 <x s l : i f t e s t="$hayCabecera= '1 '">231 <x s l : a t t r i b u t e name=" s ty l eh eade r ">s_tabla_cabecera</

x s l : a t t r i b u t e>232 </ x s l : i f>233

234 <x s l : v a r i a b l e name="numCol">235 <xs l : c h o o s e>236 <xsl :when t e s t="count ( . / f i l a [ 1 ] / / elementoCab ) !=0">237 <xs l : v a l u e−o f s e l e c t="count ( . / f i l a [ 1 ] / /

elementoCab ) "/>238 </xs l :when>239 <x s l : o t h e rw i s e>240 <xs l : v a l u e−o f s e l e c t="count ( . / f i l a [ 1 ] / / elemento ) "

/>241 </ x s l : o t h e rw i s e>242 </ x s l : c h o o s e>243 </ x s l : v a r i a b l e>244 <x s l : v a r i a b l e name="numFil" s e l e c t="count ( . / / f i l a ) "/>245

246 <x s l : a t t r i b u t e name=" c e l l x ">247 <xs l : v a l u e−o f s e l e c t="number ( f l o o r (520 div $numCol ) ) "/>248 </ x s l : a t t r i b u t e>249 <x s l : a t t r i b u t e name=" c e l l y ">250 <xs l : v a l u e−o f s e l e c t="number ( f l o o r (255 div $numFil ) ) "/>251 </ x s l : a t t r i b u t e>252

253 <xs l : f o r− ea ch s e l e c t=" f i l a ">254 <x s l : v a r i a b l e name=" posF i l a ">255 <xs l : v a l u e−o f s e l e c t=" po s i t i o n ( ) "/>256 </ x s l : v a r i a b l e>257 <tr>258 <xs l : c h o o s e>259 <xsl :when t e s t="count ( . / / elementoCab ) !=0">260 <xs l : f o r− ea ch s e l e c t="elementoCab">261 <th>262 <xs l : v a l u e−o f s e l e c t=" . "/>263 </th>264 </ xs l : f o r− ea ch>265 </xs l :when>266 <x s l : o t h e rw i s e>

B.4. Directorio de gestión de las actualizaciones automáticas 305

267 <xs l : f o r− ea ch s e l e c t="doc ( ' i npu t : t ab l a s ' ) /items / tab l e [ number ($ po s i c i on ) ] / t r [ number ($posF i l a − $hayCabecera ) ] / td">

268 <td>269 <xs l : c h o o s e>270 <xsl :when t e s t=" po s i t i o n ( )=4 and $

nombreFichero='_13 ' ">271 <x s l : i f t e s t="$ posF i l a != '5 ' ">272 <x s l : v a r i a b l e name=" texto "

s e l e c t=" subs t r ing−be fo re (subs t r i ng−a f t e r ( t ex t ( ) ,concat (number ($ posF i l a − $hayCabecera ) , ' . ' ) ) , concat (number ($ posF i l a − $hayCabecera + 1) , ' . ' ) ) "/>

273 <xs l : v a l u e−o f s e l e c t=" concat (number ($ posF i l a − $hayCabecera ) , ' . ' , $ t exto ) "/>

274 </ x s l : i f>275 <x s l : i f t e s t="$ posF i l a = '5 '">276 <x s l : v a r i a b l e name=" texto "

s e l e c t=" subs t r i ng−a f t e r (t ex t ( ) , concat (number ($posF i l a − $hayCabecera ) , ' .' ) ) "/>

277 <xs l : v a l u e−o f s e l e c t=" concat (number ($ posF i l a − $hayCabecera ) , ' . ' , $ t exto ) "/>

278 </ x s l : i f>279 </xs l :when>280 <x s l : o t h e rw i s e>281 <xs l : v a l u e−o f s e l e c t=" . "/>282 </ x s l : o t h e rw i s e>283 </ x s l : c h o o s e>284 </td>285 </ xs l : f o r− ea ch>286 </ x s l : o t h e rw i s e>287 </ x s l : c h o o s e>288 </ tr>289 </ xs l : f o r− ea ch>290

291 </table>292 </ x s l : o t h e rw i s e>293

294 </ x s l : c h o o s e>295

296 </container>297 </ xs l : t emp l a t e>298

299 <!−− P l a n t i l l a de pag inac ión para l a s t ab l a s −−>300 <xs l : t emp l a t e match=" tab la " mode=" pag inac ion ">301 <x s l : v a r i a b l e name=" po s i c i on ">302 <xs l : v a l u e−o f s e l e c t=" po s i t i o n ( ) "/>303 </ x s l : v a r i a b l e>304 <menuitem img=" images /bot_matrix_off . png" imgfocus=" images /

bot_matrix_on . png">305 <x s l : a t t r i b u t e name=" s t r ">306 <xs l : v a l u e−o f s e l e c t="number ($ po s i c i on + 2) "/>307 </ x s l : a t t r i b u t e>308 <x s l : a t t r i b u t e name="onover ">309 <xs l : c h o o s e>310 <xsl :when t e s t="$nombreFichero='_262 ' ">

306 Apéndice B. Ficheros desarrollados para la aplicación

311 <xs l : v a l u e−o f s e l e c t=" concat ( ' showcont ( ' , $ nombreFichero , ' .c_tabla_ ' , $ pos i c i on , ' ) ' ) "/>

312 </xs l :when>313 <x s l : o t h e rw i s e>314 <xs l : v a l u e−o f s e l e c t=" concat ( ' showcont ( ' , $ nombreFichero , ' .

c_tabla_ ' , $ pos i c i on , ' ) , l o ckcont ( ' , $ nombreFichero , ' .c_tabla_ ' , $ pos i c i on , ' ) ' ) "/>

315 </ x s l : o t h e rw i s e>316 </ x s l : c h o o s e>317 </ x s l : a t t r i b u t e>318 </menuitem>319 </ xs l : t emp l a t e>320

321 <!−− P l a n t i l l a para l o s contenedores de l a s imágenes de in formac ión −−>322 <xs l : t emp l a t e match="enl_imagen" mode=" contenedores ">323 <x s l : v a r i a b l e name=" po s i c i on ">324 <xs l : v a l u e−o f s e l e c t=" po s i t i o n ( ) "/>325 </ x s l : v a r i a b l e>326 <container v i s="0" alpha="0" posx="30" posy="275" s i z e x="520" s i z e y="

255">327 <x s l : a t t r i b u t e name=" id ">328 <xs l : v a l u e−o f s e l e c t=" concat ( ' c_imag_info_ ' , $ po s i c i on ) "/>329 </ x s l : a t t r i b u t e>330 <image posx="10" posy="0">331 <x s l : v a r i a b l e name="nombre_fich1" s e l e c t="doc ( ' i nput : opc i one s ' ) /

datos /nombreFichero"/>332 <x s l : v a r i a b l e name="nombre_fich2" s e l e c t=" subs t r i ng−a f t e r ( t ex t ( )

, ' ga l e r i a Imagenes / ' ) "/>333 <x s l : a t t r i b u t e name="path">334 <xs l : v a l u e−o f s e l e c t=" concat ( ' images / ' ,$ nombre_fich1 , $

nombre_fich2 ) "/>335 </ x s l : a t t r i b u t e>336 </image>337 </container>338 </ xs l : t emp l a t e>339

340 <!−− P l a n t i l l a de pag inac ión para l a s imágenes de in formac ión −−>341 <xs l : t emp l a t e match="enl_imagen" mode=" pag inac ion ">342 <x s l : v a r i a b l e name=" po s i c i on ">343 <xs l : v a l u e−o f s e l e c t=" po s i t i o n ( ) "/>344 </ x s l : v a r i a b l e>345 <menuitem img=" images /bot_matrix_off . png" imgfocus=" images /

bot_matrix_on . png">346 <x s l : a t t r i b u t e name=" s t r ">347 <xs l : v a l u e−o f s e l e c t="number ($ po s i c i on + $ to ta lTab la s + 2) "/>348 </ x s l : a t t r i b u t e>349 <x s l : a t t r i b u t e name="onover ">350 <xs l : v a l u e−o f s e l e c t=" concat ( ' showcont ( ' , $ nombreFichero , ' .

c_imag_info_ ' , $ pos i c i on , ' ) ' ) "/>351 </ x s l : a t t r i b u t e>352 </menuitem>353 </ xs l : t emp l a t e>354

355 </ x s l : s t y l e s h e e t>

guiaBusqueda_imagesBienv.xpl

1 <p : c on f i g xmlns:p=" ht tp : //www. orbeon . com/ oxf / p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s " xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform">

2

B.4. Directorio de gestión de las actualizaciones automáticas 307

3 <p:param name="dir_emiss ion " type=" input "/>4 <p:param name=" opc iones " type=" input "/>5 <p:param name=" r e s u l t " type=" input "/>6

7 <!−− Procesador para d e f i n i r l a URL en l a que se encuentra l a imagen −−>8 <p :p r o c e s s o r name=" o x f : x s l t ">9 <p: input name=" con f i g ">

10 <config xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"x s l : v e r s i o n=" 2 .0 ">

11 <url>12 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www. juntadeanda luc ia . es

' , / i tems / imagen_url ) "/>13 </url>14 <content−type>image/ jpeg</content−type>15 <validating>true</validating>16 </config>17 </p: input>18 <p: input name="data" h r e f="#r e s u l t "/>19 <p:output name="data" id=" con f ig−u r l "/>20 </ p :p r o c e s s o r>21

22 <!−− Procesador para d e f i n i r e l nombre y d i r e c t o r i o de l f i c h e r o de s a l i d a−−>

23 <p :p r o c e s s o r name=" o x f : x s l t ">24 <p: input name="data" h r e f="#r e s u l t "/>25 <p: input name="dir_emiss ion " h r e f="#dir_emiss ion "/>26 <p: input name=" opc iones " h r e f="#opc iones "/>27 <p: input name=" con f i g ">28 <x s l : s t y l e s h e e t version=" 2 .0 ">29 <xs l : t emp l a t e match="/">30 <config>31 <x s l : v a r i a b l e name=" sa lvar_di r " s e l e c t="doc ( '

input :d i r_emis s ion ' ) / d i r e c t o r y /@path"/>32 <x s l : v a r i a b l e name=" sa lva r_f i ch1 " s e l e c t="doc ( '

i nput : opc i one s ' ) / datos / imagen"/>33 <x s l : v a r i a b l e name=" sa lva r_f i ch2 " s e l e c t="doc ( '

i nput : opc i one s ' ) / datos / imagenId"/>34 <directory>35 <xs l : v a l u e−o f s e l e c t=" concat ($ sa lvar_dir , ' / images ' ) "/>36 </directory>37 < f i l e>38 <xs l : v a l u e−o f s e l e c t=" concat ($ sa lvar_f i ch1 , $

sa lvar_f i ch2 , ' . jpg ' ) "/>39 </ f i l e>40 <content−type>image/ jpeg</content−type>41 </config>42 </ xs l : t emp l a t e>43 </ x s l : s t y l e s h e e t>44 </p: input>45 <p:output name="data" id=" con f ig−f i ch−s a l "/>46 </ p :p r o c e s s o r>47

48 <!−− Procesador para recuperar l a imagen −−>49 <p :p r o c e s s o r name=" ox f : u r l−genera to r ">50 <p: input name=" con f i g " h r e f="#conf ig−u r l "/>51 <p:output name="data" id="imagen"/>52 </ p :p r o c e s s o r>53

54 <!−− Procesador para s e r i a l i z a r l a imagen −−>55 <p :p r o c e s s o r name=" o x f : f i l e −s e r i a l i z e r ">56 <p: input name=" con f i g " h r e f="#conf ig−f i ch−s a l "/>57 <p: input name="data" h r e f="#imagen"/>58 </ p :p r o c e s s o r>59

308 Apéndice B. Ficheros desarrollados para la aplicación

60 </ p : c o n f i g>

guiaBusqueda_imagesInfo.xpl

1 <p : c on f i g xmlns:p=" ht tp : //www. orbeon . com/ oxf / p i p e l i n e " xmlns :ox f=" ht tp : //www. orbeon . com/ oxf / p r o c e s s o r s " xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform">

2

3 <p:param name="dir_emiss ion " type=" input "/>4 <p:param name=" opc iones " type=" input "/>5 <p:param name=" r e s u l t " type=" input "/>6

7 <!−− Procesador para d e f i n i r l a URL en l a que se encuentra l a imagen −−>8 <p :p r o c e s s o r name=" o x f : x s l t ">9 <p: input name=" con f i g ">

10 <config xmlns :x s l=" ht tp : //www.w3 . org /1999/XSL/Transform"x s l : v e r s i o n=" 2 .0 ">

11 <url>12 <xs l : v a l u e−o f s e l e c t=" concat ( ' h t tp : //www. juntadeanda luc ia . es

' , / enl_imagen ) "/>13 </url>14 <content−type>image/ g i f</content−type>15 <validating>true</validating>16 </config>17 </p: input>18 <p: input name="data" h r e f="#r e s u l t "/>19 <p:output name="data" id=" con f ig−u r l "/>20 </ p :p r o c e s s o r>21

22 <!−− Procesador para d e f i n i r e l nombre y d i r e c t o r i o de l f i c h e r o de s a l i d a−−>

23 <p :p r o c e s s o r name=" o x f : x s l t ">24 <p: input name="data" h r e f="#r e s u l t "/>25 <p: input name="dir_emiss ion " h r e f="#dir_emiss ion "/>26 <p: input name=" opc iones " h r e f="#opc iones "/>27 <p: input name=" con f i g ">28 <x s l : s t y l e s h e e t version=" 2 .0 ">29 <xs l : t emp l a t e match="/">30 <config>31 <x s l : v a r i a b l e name=" sa lvar_di r " s e l e c t="doc ( '

input :d i r_emis s ion ' ) / d i r e c t o r y /@path"/>32 <x s l : v a r i a b l e name=" sa lva r_f i ch1 " s e l e c t="doc ( '

i nput : opc i one s ' ) / datos /nombreFichero"/>33 <x s l : v a r i a b l e name=" sa lva r_f i ch2 " s e l e c t=" subst r ing−a f t e r

(/ enl_imagen , ' ga l e r i a Imagenes / ' ) "/>34 <directory>35 <xs l : v a l u e−o f s e l e c t=" concat ($ sa lvar_dir , ' / images ' ) "/>36 </directory>37 < f i l e>38 <xs l : v a l u e−o f s e l e c t=" concat ($ sa lvar_f i ch1 , $

sa l va r_f i ch2 ) "/>39 </ f i l e>40 <content−type>image/ g i f</content−type>41 </config>42 </ xs l : t emp l a t e>43 </ x s l : s t y l e s h e e t>44 </p: input>45 <p:output name="data" id=" con f ig−f i ch−s a l "/>46 </ p :p r o c e s s o r>47

48 <!−− Procesador para recuperar l a imagen −−>

B.5. Relación de �cheros adicionales 309

49 <p :p r o c e s s o r name=" ox f : u r l−genera to r ">50 <p: input name=" con f i g " h r e f="#conf ig−u r l "/>51 <p:output name="data" id="imagen"/>52 </ p :p r o c e s s o r>53

54 <!−− Procesador para s e r i a l i z a r l a imagen −−>55 <p :p r o c e s s o r name=" o x f : f i l e −s e r i a l i z e r ">56 <p: input name=" con f i g " h r e f="#conf ig−f i ch−s a l "/>57 <p: input name="data" h r e f="#imagen"/>58 </ p :p r o c e s s o r>59

60 </ p : c o n f i g>

B.5. Relación de �cheros adicionales

Además de todos los anteriormente enumerados, en el directorio de emisión hayuna serie de �cheros adicionales necesarios para la ejecución de la aplicación. Salvopor el �chero background.mpg, el resto corresponden a imágenes que se muestranpor pantalla.

A continuación se listarán todos estos �cheros:

Fondo de la aplicación: Fichero background.mpg.

Imágenes del menú de ayuda: Todos estos �cheros están contenidos dentrodel subdirectorio help:

• help.png

• help_ok.png

• help_flechas.png

• help_amarillo.png

• help_azul.png

• help_rojo.png

• help_verde.png

Botones de los menús: Todas estas imágenes se encuentran dentro delsubdirectorio images:

• bot_grande_on.png

• bot_grande_off.png

• bot_buscar_on.png

• bot_buscar_off.png

• bot_volver_on.png

• bot_volver_off.png

• bot_nuevaBusqueda_on.png

• bot_nuevaBusqueda_off.png

310 Apéndice B. Ficheros desarrollados para la aplicación

Imágenes del índice lateral: Todas estas imágenes también se encuentranen el subdirectorio images:

• ind_guia_on.png

• ind_guia_off.png

• ind_anuncios_on.png

• ind_anuncios_off.png

• ind_empresas_on.png

• ind_empresas_off.png

• ind_formacion_on.png

• ind_formacion_off.png

• ind_directorio_on.png

• ind_directorio_off.png

• ind_web_on.png

• ind_web_off.png

Imágenes de paginación: Al igual que los anteriores, estos dos �cheros sehallan en el subdirectorio images:

• bot_matrix_on.png

• bot_matrix_off.png

Cuadro del índice principal: Esta imagen, de nombre mp_ayuda.png, tam-bién se encuentra en el subdirectorio images.

Imágenes del mapa: Por último, las imágenes correspondientes a la creacióndel mapa de Andalucía también se encuentran en el subdirectorio images:

• mapa_almeria_on.png

• mapa_almeria_off.png

• mapa_cadiz_on.png

• mapa_cadiz_off.png

• mapa_cordoba_on.png

• mapa_cordoba_off.png

• mapa_granada_on.png

• mapa_granada_off.png

• mapa_huelva_on.png

• mapa_huelva_off.png

• mapa_jaen_on.png

• mapa_jaen_off.png

B.5. Relación de �cheros adicionales 311

• mapa_malaga_on.png

• mapa_malaga_off.png

• mapa_sevilla_on.png

• mapa_sevilla_off.png

• mapa_todas_on.png

• mapa_todas_off.png

top related