Estoy seguro de que esta es una pregunta extremadamente básica, ¡pero aquí va de todos modos! He leído que el construido en la regla de plantilla para el texto y atribuir los nodos en XSLT esXSLT Plantilla incorporada Reglas para los atributos
<xsl:template match="text()|@*">
<xsl:value-of select="."/>
</xsl:template>
Sin embargo, para el documento de origen
<?xml version="1.0"?>
<booker>
<award>
<author blah="test">Aravind Adiga</author>
<title>The White Tiger</title>
<year>2008</year>
</award>
</booker>
y XSLT
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
</xsl:stylesheet>
Me da la siguiente salida aplicando la transformación en Visual Studio. ¿Puede alguien explicar por qué no veo "prueba" en la salida?
Aravind Adiga
El Tigre Blanco
Acepto, solo para agregar para compleción, el valor predeterminado ' ' selecciona todos los nodos secundarios, no solo los elementos (de lo contrario, el código de la pregunta no arrojaría nada). –
Krab
Gracias, no necesito hacerlo, solo intento entender las reglas. Entonces, básicamente, ¿la parte '@ *' de la regla incorporada nunca será invocada a menos que se llame explícitamente? –