Domanda

Esiste un modo per ottenere i dati XML correnti quando creiamo la nostra funzione XPath personalizzata (vedi qui).

So che hai accesso a un XPathContext ma basta questo?

Esempio:

Il nostro XML:

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

Il nostro XSL:

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

Come otteniamo l'intero albero XML?

Modificare: Chiarire:Sto creando una funzione personalizzata che finisce per eseguire codice Java statico (è una funzionalità sassone).Quindi, in questo codice Java, desidero poter ottenere elementi dall'albero XML, come bar e fizz, e i relativi CDATA, come smang e buzz.

È stato utile?

Soluzione

Prova a cambiare il tuo XSL in modo da chiamare "ourFunction(/)".Questo dovrebbe passare il nodo radice alla funzione.Potresti anche provare.O ..

Presumibilmente dovrai modificare la firma della funzione di implementazione, lascerò che qualcun altro ti aiuti.

Altri suggerimenti

Che dire seleziona il nodo corrente selezionando i dati rilevanti dal nodo corrente in un parametro XSL e passando quel parametro alla funzione?Come:

<xsl:value-of select="ourFunction($data)" />
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top