Pregunta

¿Hay alguna manera de obtener los datos xml actuales cuando creamos nuestra propia función XPath personalizada (ver aquí)?

Sé que tienes acceso a un XPathContext pero ¿es esto suficiente?

Ejemplo:

Nuestro XML:

<foo>
  <bar>smang</bar>
  <fizz>buzz</fizz>
</foo>

Nuestro XSL:

<xsl:template match="/">
  <xsl:value-of select="ourFunction()" />
</xsl:template>

¿Cómo obtenemos el árbol XML completo?

Editar: Para aclarar:Estoy creando una función personalizada que termina ejecutando código Java estático (es una característica sajona).Entonces, en este código Java, deseo poder obtener elementos del árbol XML, como bar y fizz, y sus CDATA, como smang y buzz.

¿Fue útil?

Solución

Intente cambiar su XSL para llamar a 'nuestraFunción(/)'.Eso debería pasar el nodo raíz a la función.También podrías intentarlo.o ..

Probablemente necesitarás cambiar la firma de la función de implementación; dejaré que alguien más te ayude con eso.

Otros consejos

Qué pasa seleccione el nodo actual ¿Seleccionar los datos relevantes del nodo actual en un parámetro XSL y pasar ese parámetro a la función?Como:

<xsl:value-of select="ourFunction($data)" />
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top