¿Qué es //
en XSLT? (Por ejemplo $currentPage//node
)¿Qué es // en XSLT?
Respuesta
lo// en xslt? p.ej. ($ currentPage // nodo)
En XPath la abreviatura:
El valor de algunos atributos de instrucciones XSLT (como el atributo select
) debe haber una Expresión XPath.
Por lo tanto,
($currentPage//node)
representa
($currentPage/descendant-or-self::node()/node)
Esto selecciona todos los elementos nombrados node
que son hijos de nodos que están ya sea contenido en la variable $currentPage
o son descendientes de los nodos que están contenidos en la variable $currentPage
.
hacer la nota que en la expresión proporcionado node()
es una nodo-test (que selecciona todos los tipos de nodos en el eje descendant-or-self::
, tales como elementos, los nodos de texto, comentarios y procesamiento-instrucciones.
En por otro lado, somePath/node
es una abreviatura de somePath/child::node
y sólo selecciona elementos nombrados node
que son hijos del nodo de contexto.
recomiendo encarecidamente no utilizar el nombre node
para un elemento con el fin de evitar esta confusión
@Dimitre - Estoy empezando a pensar en lo que de otra manera sería una buena respuesta, pero el penúltimo párrafo es incorrecto. No serán hijos del nodo de contexto, serán hijos de los nodos seleccionados por 'somePath' – Alohci
@Alohci: Sí y el "nodo de contexto" en cualquier momento es el nodo, desde el cual el siguiente paso de ubicación es realizado - esto significa que 'child :: node' se determina en' somePath/child :: node', el nodo de contexto es cualquier nodo que se selecciona mediante 'somePath'. Entonces, tanto usted como yo estamos diciendo lo mismo :) –
'node()/node' es confuso.'node()' es una función predefinida, y 'node' es una variable de marcador de posición? 'node()/foo' sería menos confuso. – Joren
Eso parece que es parte de XPath, que se puede utilizar dentro de XSLT para buscar el árbol de nodos dado que coinciden con un camino. Es una tecnología similar a los selectores de CSS.
La doble barra hace una búsqueda descendiente en cualquier profundidad.
Por ejemplo:
elementa//elementb
concordaría con cualquier elemento elementb que es un descendiente de un elemento elementa, incluso si hay otros niveles en el medio, por ejemplo:
<elementa>
<someelement>
<elementb>
</elementb>
</someelement>
</elementa>
- 1. ¿Qué significa node() | @ * XSLT?
- 2. ¿Qué herramientas XSLT 2.0 existen?
- 3. XSLT ¿por qué aparece en mi hrefs?
- 4. ¿XSLT es un lenguaje de programación funcional?
- 5. XSLT: Creando un Mapa en XSLT
- 6. ¿Qué navegadores son compatibles con XSLT 2.0?
- 7. XSLT en SSRS informe
- 8. XSLT transformadora es tirar de error
- 9. Contador de línea XSLT: ¿es tan difícil?
- 10. Actualización de XSLT 1.0 a XSLT 2.0
- 11. ¿Para qué sirve el símbolo @ (at) en XSLT?
- 12. Versión de XSLT en iPhone
- 13. creando matrices en xslt
- 14. ¿Puedo vincular xslt a otro xslt?
- 15. Variables dinámicas en XSLT
- 16. ¿Qué significa "@ * | node()" en una plantilla de solicitud XSLT?
- 17. insertando espacio en xslt
- 18. Elementos aleatorios en XSLT
- 19. operación aritmética en XSLT
- 20. Abstracciones XSLT
- 21. ¿Es una práctica aceptada la conexión en cadena xslt?
- 22. XSLT Agrupación
- 23. Documento XSLT(): ¿Es más lento cuando lo llamas varias veces?
- 24. usando paréntesis en xpath/xslt
- 25. Incremente un valor en XSLT
- 26. XSLT localización
- 27. ¿Qué navegador puede mostrar datos XML transformados por XSLT?
- 28. Microsoft.Reporting. * Vs XML/XSLT
- 29. ¿Qué es más eficiente para analizar Xml, XPath con XmlDocuments, XSLT o Linq?
- 30. Mejor editor XSLT & | Depurador
Buena pregunta (+1). Vea mi respuesta para una explicación completa y detallada. –