Frage

Gibt es eine Möglichkeit, die aktuellen XML-Daten zu erhalten, wenn wir unsere eigene XPath-Funktion (siehe hier) zu machen.

Ich weiß, dass Sie Zugriff auf ein XPathContext haben aber ist das genug?

Beispiel:

Unsere XML:

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

Unsere XSL:

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

Wie bekommen wir den gesamten XML-Baum?

Edit: Zur Klarstellung: Ich erstelle eine benutzerdefinierte Funktion, die statischen Java-Code ausgeführt endet (es ist ein Sachse Funktion). Also, in diesem Java-Code, ich möchte der Lage sein, Elemente aus der XML-Struktur zu erhalten, wie eine Bar und Fizz, und ihre CDATA, wie smang und Buzz.

War es hilfreich?

Lösung

Versuchen Sie XSL zu ändern, so dass Sie 'ourFunction (/)' nennen. Das sollte den Wurzelknoten an die Funktion übergeben. Sie könnten auch versuchen. oder ..

Sie werden vermutlich benötigen die Unterschrift der implementierenden Funktion zu ändern, ich werde jemand anderes helfen mit, dass lassen.

Andere Tipps

Was den aktuellen Knoten wählen die relevanten Daten aus dem aktuellen Knoten in einem XSL-Parameter auswählen und geben, dass der Parameter an die Funktion? Wie:

<xsl:value-of select="ourFunction($data)" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top