Fragmentos de diseño
Los fragmentos de diseño son muy útiles para crear partes y volver a utilizarlas en otras posiciones del documento (igual que se reutilizan las funciones, por ejemplo). El mecanismo de uso es el siguiente:
1.Crear el fragmento de diseño en el archivo SPS.
2.Insertar el contenido del fragmento de diseño.
3.Insertar el fragmento de diseño en una posición de una plantilla.
Crear un fragmento de diseño
Siga estas instrucciones para crear un fragmento de diseño:
1.En la ventana Estructura del diseño o Estructura del esquema haga clic en el icono Agregar fragmento de diseño nuevo , situado a la derecha de la entrada Fragmentos del diseño (imagen siguiente). Esto añade un fragmento de diseño a la lista Fragmentos del diseño de la ventana.
Observe que se crea una plantilla de fragmento de diseño en la vista Diseño. Esta plantilla se anexa a las plantillas que ya existen en el diseño y puede reconocerse por su encabezado verde. Si quiere ver solamente los fragmentos de diseño que están en el diseño, oculte la plantilla principal y las plantillas globales con los comandos Mostrar/Ocultar de la barra de herramientas Filtro para diseños de StyleVision. Además puede acceder rápidamente a los fragmentos de diseño desde la ventana Estructura del esquema.
2.Haga doble clic en el componente fragmento de diseño (en la ventana Estructura del esquema o Estructura del diseño), escriba un nombre nuevo y después pulse Entrar. El nuevo nombre del fragmento aparece en la ventana Estructura del diseño (imagen siguiente) y en la plantilla en la vista Diseño.
3.En la vista Diseño cree el contenido de la plantilla del fragmento de diseño (ver subapartado siguiente).
Nota: | si quiere crear un fragmento de diseño a partir de una plantilla ya existente, haga clic con el botón derecho en la plantilla y seleccione el comando Crear fragmento de diseño en el menú contextual. Esto crea una plantilla de fragmento de diseño en esa posición del diseño. La plantilla de fragmento de diseño también se anexa a los fragmentos de diseño situados al final del diseño y aparece en las ventanas Estructura del diseño y Estructura del esquema. Si se crea de esta forma, el fragmento de diseño se aplica directamente en la posición donde se creó y no hace falta arrastrarlo desde la ventana Estructura del diseño o Estructura del esquema. |
Insertar el contenido del fragmento de diseño
El contenido de la plantilla de fragmento de diseño se crea igual que en las demás plantillas. Para insertar contenido estático, ponga el cursor dentro del fragmento de diseño e inserte el contenido. Para insertar contenido dinámico, arrastre el nodo de esquema pertinente hasta el fragmento de diseño.
Cuando arrastre un nodo del esquema hasta el fragmento de diseño, hay una gran diferencia entre arrastrar el nodo desde (i) la lista Elementos globales y arrastrarlo desde (ii) la lista Elementos raíz. Si el nodo se arrastra desde la lista Elementos globales, se crea sin sus elementos antecesores (p. ej. en la imagen siguiente, el fragmento de diseño EmailPerson) y, por tanto, cuando se use en una plantilla deberá utilizarse dentro del contexto de su elemento primario. Por el contrario, si el nodo se arrastra desde la lista Elementos raíz, se crea dentro de una estructura que empieza con el nodo de documento (p. ej. en la imagen siguiente, el fragmento de diseño EmailDocNode) y, por tanto, puede utilizarse en cualquier parte de la plantilla.
La imagen anterior muestra dos fragmentos de diseño que generan exactamente el mismo resultado para el elemento Person. En el fragmento de diseño EmailPerson, el nodo Person se arrastró desde la lista Elementos raíz y se creó con una ruta de acceso absoluta (desde \$XML, que es el nodo de documento).
Cuando inserte este fragmento de diseño en la plantilla principal, asegúrese de llamar a la plantilla EmailPerson desde un contexto que sea el primario del nodo Person. Para familiarizarse con el uso de los fragmentos de diseño, consulte y experimente con el archivo Email.sps, que está en la carpeta (Mis) Documentos, C:\Documents and Settings\<usuario>\Mis Documentos\Altova\StyleVision2023\StyleVisionExamples\Tutorial\DesignFragments.
También puede definir un parámetro con un valor predeterminado en el fragmento de diseño. Al parámetro se le puede asignar un valor distinto en cada instancia del fragmento de diseño. Para más información consulte el apartado Parámetros para fragmentos de diseño.
Cuando termine de diseñar el documento SPS, observe que los componentes del diseño también se representan de forma gráfica en la ventana Estructura del diseño.
Insertar un fragmento de diseño en una plantilla
Para insertar un fragmento de diseño, arrástrelo desde la ventana Estructura del diseño o Estructura del esquema hasta la posición deseada del diseño. Coloque el fragmento de diseño en una posición que ofrezca el contexto adecuado. Si el contenido del fragmento de diseño se crea a partir de un elemento global, el contexto adecuado de la plantilla principal será el primario del nodo que se insertó en el fragmento de diseño. Consulte el subapartado anterior (Insertar el contenido del fragmento de diseño) para obtener más información.
Otra opción es hacer clic con el botón derecho en la posición donde desea insertar el fragmento de diseño y hacer clic en Insertar fragmento de diseño en el menú contextual.
Nota: | si en la plantilla principal se hace referencia a un fragmento de diseño y después se cambia el nombre de este fragmento de diseño, la referencia en la plantilla principal dejará de ser correcta y se emitirá un error XSLT. Para corregir esto, elimine la referencia original en la plantilla principal y cree una referencia nueva al fragmento de diseño. |
Fragmentos de diseño recursivos
Los fragmentos de diseño pueden ser recursivos, es decir, pueden llamarse a sí mismos. No obstante, para evitar bucles sin fin en la vista Authentic, puede establecer una propiedad para limitar la profundidad de la llamada. Esta propiedad (Profundidad máxima de llamada a plantillas) se configura en la pestaña Authentic del cuadro de diálogo "Propiedades" del archivo SPS (Archivo | Propiedades). Especifica el número máximo de llamadas a plantilla que se pueden hacer recursivamente durante el procesamiento para la vista Authentic. Si el número de llamadas a plantilla supera el número especificado en la propiedad Profundidad máxima de llamada a plantillas, StyleVision emite un error.
Eliminar un fragmento de diseño
Para eliminar un fragmento de diseño, selecciónelo en la ventana Estructura del esquema y haga clic en el icono Eliminar de la barra de herramientas.
Fragmentos de diseño en archivos SPS modulares
Cuando se añade un módulo SPS a un archivo SPS, los fragmentos de diseño del módulo agregado están a disposición del archivo SPS modular de destino. Para más información consulte la sección Archivos SPS modulares.
Archivo de ejemplo
En la carpeta (Mis) Documentos encontrará un archivo SPS de ejemplo que utiliza fragmentos de diseño: C:\Documents and Settings\<usuario>\Mis Documentos\Altova\StyleVision2023\StyleVisionExamples\Tutorial\DesignFragments.