XSL es basado en en plantillas.
Los datos XML se pueden "reutilizar" en tres niveles. En el nivel más básico puede <xsl:for-each />
a través de XML.
Nota: Porque cada uno de los XSL no hace un bucle en los datos, solo está haciendo coincidir los datos. También cuando el "dentro" de una for-each su interior que "contexto" del XML (que es como el concepto de "ámbito" en la programación)
Un ejemplo del uso y re-uso de un para-cada
<xsl:for-each select="/xml/data/here">
... do some stuff ...
</xsl:for-each>
<xsl:for-each select="/xml/data/here">
... do some DIFFERENT stuff ...
</xsl:for-each>
Los nodos for-each se encuentran dentro de los nodos de plantilla (segundo nivel de reutilización). Hay dos tipos de nodos de plantilla: Match y Named. Los nodos de la plantilla de coincidencia, actúan como el nodo for-each mencionado anteriormente, pero el motor de plantillas los llama automáticamente si los nodos coinciden cuando se inicia el procesamiento XSL. Los nodos de plantilla de coincidencia también se pueden aplicar explícitamente. Por otro lado, Los nodos de plantilla con nombre siempre se aplican explícitamente y pueden considerarse funciones similares.
Ejemplo de una plantilla de ajuste de la cual se Siempre ser llamado (porque un nodo raíz siempre existirá)
<xsl:template match="/">
... do some stuff ...
</xsl:template>
Una plantilla de ajuste de llamar a otra plantilla partido explícitamente
<xsl:template match="/">
<xsl:apply-templates select="xml/data/too" />
</xsl:template>
<xsl:template match="xml/data/too">
... do something ...
</xsl:template>
Nota: En Para que la plantilla de coincidencia funcione, debe existir el nodo XML que coincide. Si no existe, no hay coincidencia, por lo que esa plantilla es llamada no.
Ejemplo de una plantilla llamada
<xsl:template name="WriteOut">
... data with NO Context Here ...
</xsl:template>
O llamar a una plantilla con nombre desde una plantilla coincidente
<xsl:template match="/">
<xsl:call-template name="WriteOut" />
<xsl:template>
Nota: Usted puede mezclar y combinar en el que llamamos emparejado y con nombre plantillas desde, sólo tiene que ver en qué contexto se encuentra.
Todos los nodos de plantilla se encuentran en XSL hojas de estilos, y usted c un incluye y importar varias hojas de estilo. Por ejemplo, puede contener todas las plantillas que tratan con nodos de encabezado HTML en una plantilla y todas las plantillas que tratan con los nodos de cuerpo HTML en otra. Luego puede crear una hoja de estilo que incluya hojas de estilo de encabezado y cuerpo.
Ejemplo de un nodo incluye
<xsl:include href="header.xsl" />
En conclusión hay tres maneras a la abstracción de fragmentos de datos, a través de para-eaching, a través de plantillas o mediante la inclusión de hojas de estilo.
"meme"? No creo que esto signifique lo que piensas que significa ... – annakata