Puede utilizar una hoja de estilos en cascada externa (CSS) para dar formato a un informe que se genere como HTML, pero no a uno que sea generado como otro tipo de salida, como PDF. Si tiene un informe que en unas ocasiones generará como HTML y en otras como otro tipo de salida y desea obtener los beneficios de las hojas de estilos en cascada, le recomendamos que use la siguiente técnica:
x
Sintaxis: Cómo Usar una CSS externa con múltiples tipos de salida
Si tiene un informe que en unas ocasiones generará como HTML y en otras como otro tipo de salida y desea obtener los beneficios de las hojas de estilos en cascada (CSS), le recomendamos que use la siguiente técnica:
1. -DEFAULTS &FORMAT='output_type';
2. SET ONLINE-FMT = &FORMAT
TABLE FILE datasource
report_logic
ON TABLE SET STYLE *
3. TYPE=REPORT, CSSURL = CascadingStyleSheetURL, $
4. -IF &FORMAT NE 'HTML' GOTO NONHTML;
5. DEFMACRO=macro1, CLASS=class1, $
DEFMACRO=macro2, CLASS=class2, $
.
.
.
6. TYPE=component3, CLASS=class3, $
.
.
.
7. -GOTO SHARED
8. -NONHTML
9. DEFMACRO=macro1, attribute1=value1, $
DEFMACRO=macro2, attribute2=value2, $
.
.
.
10. TYPE=component4, attribute4=value4, $
.
.
.
11. -SHARED
12. TYPE=component1, MACRO=macro1, $
TYPE=component2, MACRO=macro2, $
.
.
.
ENDSTYLE
END
- Asigne el tipo de salida de informe (por ejemplo, HTML, PDF, PS o EXL2K) a la variable &FORMAT de Dialog Manager. Emplee esta variable para que la hoja de estilos de WebFOCUS pueda alternar entre la salida HTML y la que no es HTML, e introducir un valor para SET ONLINE-FMT.
Puede utilizar formularios y otras lógicas de presentación para permitirle al usuario de la aplicación seleccionar el tipo de salida de informe.
- Establezca el tipo de salida del informe en el valor de &FORMAT. En este procedimiento, SET ONLINE-FMT establece el tipo de visualización del informe. De manera alternativa, puede usar ON TABLE HOLD para guardar el informe como un archivo y establecer su tipo de archivo.
- Configure el CSSURL para vincularlo con la hoja de estilos externa en cascada que se va a utilizar para dar formato a la salida HTML del informe. Cuando el informe genere una salida que no sea HTML, se ignorará este comando.
- Consulte las declaraciones de hoja de estilos de WebFOCUS, correspondientes al tipo de salida de informes actual (indicado por &FORMAT).
- Defina la versión HTML de los macros de la hoja de estilos de WebFOCUS. Estos macros especifican el formato compartido por todos los tipos de salida.
Esta versión HTML de los macros se implementa mediante clases de hoja de estilos en cascada externa.
- Si existe un formato que sólo sea aplicable a salida HTML, especifíquelo aquí mediante clases de hoja de estilos externa en cascada.
- Consulte las declaraciones de hoja de estilos de WebFOCUS que aplican los macros a los componentes del informe.
- Esta etiqueta marca el principio de las definiciones de macro y las declaraciones de formato únicas para declaraciones de salida de informe que no son HTML.
- Defina la versión que no sea HTML de los macros de la hoja de estilos de WebFOCUS. Estos macros especifican el formato compartido por todos los tipos de salida.
Esta versión no-HTML de los macros se implementa mediante atributos nativos de hoja de estilos de WebFOCUS.
- Si existe algún formato que sólo sea aplicable a la salida no-HTML, especifíquelo aquí utilizando los atributos nativos de hoja de estilos de WebFOCUS.
- Esta etiqueta marca el principio de las declaraciones que se aplican a los macros del informe.
- Estos son los macros que se definieron antes y que se aplican al informe.
Ejemplo: Cómo usar una CSS externa con salida PDF y HTML
Este procedimiento de informe (videorpt.fex) puede generar salida HTML y PDF. Cuando genera salida HTML, utiliza una hoja de estilos externa en cascada (report.css) para aplicar un formato al informe. Cuando genera salida PDF, utiliza una hoja de estilos en línea de WebFOCUS. En ambos casos, el informe proporciona un fondo azul claro para la columna LASTNAME y pone todos los títulos de columna en negrita.
El procedimiento que aparece a continuación está formulado para generar salidas HTML.
videorpt.fex
1. -DEFAULTS &FORMAT='HTML';
2. SET CSSURL = http://websrv2/css/reports.css
3. SET ONLINE-FMT = &FORMAT
TABLE FILE VIDEOTRK
PRINT LASTNAME AS 'Last Name' FIRSTNAME AS 'First Name'
BY LOWEST 5 CUSTID AS 'Cust ID'
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
4. -IF &FORMAT NE 'HTML' GOTO NONHTML;
5. DEFMACRO=boldTitles, CLASS=bold, $
DEFMACRO=blueColumn, CLASS=blueBack, $
6. -GOTO SHARED
7. -NONHTML
8. DEFMACRO=boldTitles, STYLE=bold, $
DEFMACRO=blueColumn, BACKCOLOR=light blue, $
9. -SHARED
10. TYPE=DATA, COLUMN=LastName, MACRO=blueColumn, $
TYPE=TITLE, MACRO=boldTitles, $
ENDSTYLE
END
reports.css
11. .bold {font-weight: bolder}
12. .blueBack {background: lightblue}
13. TABLE {border:0}
13. TD {border:0}
- Para que la hoja de estilos de WebFOCUS pueda alternar el formato de salida HTML con el de PDF, asigne un valor por defecto a &FORMAT. En este momento está ajustado para salida HTML.
- Configure el CSSURL para vincularlo con la hoja de estilos en cascada externa, report.css, que se va a utilizar para dar formato a la salida HTML del informe.
- Establezca el tipo de visualización del informe en el valor de &FORMAT.
- Consulte las declaraciones de hoja de estilos de WebFOCUS que corresponden al tipo de salida de informes actual (HTML).
- Defina la versión HTML de los macros de hoja de estilos de WebFOCUS, que se implementan mediante las clases de hojas de estilos en cascada externa.
- Consulte las declaraciones de hoja de estilos de WebFOCUS que aplican los macros a los componentes del informe.
- Esta etiqueta marca el principio de las definiciones de macro para la salida de informe PDF.
- Estas declaraciones definen la versión PDF de los macros de las hojas de estilos de WebFOCUS, que se implementan mediante los atributos nativos de hoja de estilos de WebFOCUS. Estas definiciones de macro serán ignoradas porque el &FORMAT está ajustado para HTML.
- Esta etiqueta marca el principio de las declaraciones que se aplican a los macros del informe.
- Estos son los macros que se definieron antes y que se aplican al informe.
- Esta declaración de hoja de estilos en cascada hace el texto más oscuro y grueso de lo que era.
- Esta declaración de hoja de estilos en cascada da lugar a un fondo azul claro.
- Estas reglas CSS de los elementos TABLE y TD eliminan la cuadrícula predeterminada del informe.
Este procedimiento muestra el siguiente informe:
