Puede mejorar el rendimiento del
flujo de mensajes con XPath y XSLT utilizando algunas técnicas de
optimización.
Puede mejorar el rendimiento de
XPath explícitamente especificando el número de instancias que son
necesarias. Por ejemplo:
- /element[1] busca la primera aparición del
elemento y luego se detiene
- /element[2] busca la segunda aparición del
elemento y luego se detiene
- /element devuelve un conjunto de nodos de todas
las instancias en el mensaje, que incluye un análisis completo del
mensaje
Para obtener más información sobre técnicas
que puede utilizar para optimizar su código XML, consulte
10
sugerencias para utilizar XPath.
XSLT tiene ventajas en
términos de su potencial para reutilizar código y el almacenamiento
en la memoria caché está disponible para las hojas de estilos
cargadas en WebSphere Message Broker. Sin embargo,
la hoja de estilo requiere un BLOB como entrada y produce un BLOB
como salida, y es menos eficaz que ESQL y
Java™ en términos de la
interacción con el árbol de mensajes. Cuando se utiliza con otras
tecnologías de WebSphere Message Broker, produce un
mayor análisis y serialización de los mensajes.
Puede
optimizar el rendimiento de su código XSLT utilizando un objeto de
plantillas (con transformadores diferente para cada transformación)
para realizar varias transformaciones con el mismo conjunto de
instrucciones de hoja de estilo.
También puede mejorar la eficiencia
de las hojas de estilo, utilizando las técnicas siguientes:
- Utilice elementos xsl:key y la función
key() como una forma eficaz de recuperar conjuntos
de nodos
- Siempre que sea posible, utilice la coincidencia de
patrón en lugar de sentencias xsl:if o
xsl:when
- Evite el uso de patrones "//" (eje descendente)
cerca de la raíz de un documento grande
Tenga en cuenta también los siguientes
puntos:
- Cuando cree variables, <xsl:variable
name="abcElem"
select="abc"/> suele ser más rápido que
<xsl:variable
name="abcElem"><xsl:value-of-select="abc"/></xsl:variable>
- xsl:for-each es rápido porque no necesita
coincidencia de patrón
- xsl:sort evita el proceso incremental
- El uso de predicados de índice dentro de patrones de coincidencia
puede ser costoso en términos de rendimiento
- La decodificación y codificación son muy costosas en términos de
rendimiento
- Si el XSLT se almacena en memoria caché, el rendimiento mejora
porque el XSLT no se analiza cada vez que se utiliza; para obtener
más información, consulte Nodo XSLTransform