Publicado el :
Reporting CREATION_INTERNE

Creación de un Tagset ODS para Múltiples Hojas de Estilo

Este código también está disponible en: Deutsch English Français
Este programa utiliza el procedimiento TEMPLATE para definir un nuevo 'tagset' (tagsets.multi_url). El objetivo es sobrescribir el comportamiento predeterminado del evento 'stylesheet_link' para permitir la inclusión de múltiples URLs de hojas de estilo (CSS) separadas por espacios, generando una etiqueta <link> HTML para cada una de ellas.
Análisis de datos

Type : CREATION_INTERNE


El código no lee ninguna fuente de datos externa ni interna (tablas SAS). Actúa sobre la estructura de salida ODS.

1 Bloque de código
PROC TEMPLATE
Explicación :
Definición de la estructura del tagset. El evento 'stylesheet_link' inicializa un bucle ('urlLoop') que recorre la cadena de URLs proporcionada, la divide según los espacios y activa el evento 'link' para generar el código HTML apropiado para cada archivo CSS.
¡Copiado!
1PROC TEMPLATE;
2
3 
4 define tagset tagsets.multi_url;
5 
6 define event stylesheet_link;
7 break /IF !exists(url);
8 SET $urlList url;
9 trigger urlLoop ;
10 unset $urlList;
11 END;
12 
13 define event link;
14 putq '<link rel="stylesheet" type="text/css" href=' $current_url; '>' nl;
15 END;
16 
17 define event urlLoop;
18 eval $space_pos index($urlList, " ");
19 
20 DO /while $space_pos ne 0;
21 
22 SET $current_url substr($urlList,1,$space_pos);
23 SET $current_url trim($current_url);
24 
25 trigger link;
26 
27 SET $urlList substr($urlList,$space_pos);
28 SET $urlList strip($urlList);
29 
30 eval $space_pos index($urlList, " ");
31 done;
32 
33 /* when space_pos is 0 it's either the only link or the last link */
34 SET $current_url $urlList;
35 trigger link;
36 END;
37 END;
38RUN;
2 Bloque de código
ODS
Explicación :
Instanciación del destino ODS utilizando el tagset definido anteriormente. Se especifica el archivo de salida 'multi_url_out.txt' y se pasa una lista de tres archivos CSS al parámetro 'stylesheet'.
¡Copiado!
1ods tagsets.multi_url file="multi_url_out.txt" stylesheet=(url="file1.css file2.css file3.css");
2ods tagsets.multi_url close;
3 
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.