¿Hay alguna manera de escribir una plantilla XSL 1.0 que coincida en todos los modos?¿Puede una plantilla XSL coincidir en los modos * TODOS *?
¿O tengo que escribir una plantilla separada para cada modo existente (incluidas las plantillas adicionales para los modos que se agreguen en el futuro)?
Aquí es lo que tengo:
<xsl:apply-templates mode="mode1" />
...
<xsl:apply-templates mode="mode2" />
...
<!-- Do not process text content of nodes no matter in what mode -->
<!-- Is there a way to have only one template here? -->
<xsl:template match="text()" mode="mode1" />
<xsl:template match="text()" mode="mode2" />
@divo No recomendaré a nadie que use #all en XSLT 2.0 - es demasiado peligroso. Por ejemplo, solo un poco de plantilla más genérica (matching node()) interferirá con * cualquier otra * plantilla.Mucho mejor es diseñar las plantillas con más cuidado, de una manera más limpia, para que #all no sea necesario. –
@divo No necesita plantillas vacías que coincidan con text() si usa en lugar de usar –
@Dimitre: Sí, por supuesto, tienes razón. Sin embargo, su solución implica la modificación de cada plantilla de aplicación en el código, lo que hace que el mantenimiento sea bastante difícil y me parece que es propenso a errores. –