質問

独自のカスタム XPath 関数を作成するときに、現在の XML データを取得する方法はありますか (ここを参照)。

にアクセスできることは知っていますが、 XPathContext しかし、これで十分ですか?

例:

私たちの XML:

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

私たちのXSL:

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

XML ツリー全体を取得するにはどうすればよいでしょうか?

編集: 明確にするために:最終的に静的 Java コードを実行するカスタム関数を作成しています (これは Saxon の機能です)。したがって、この Java コードでは、XML ツリーから bar や fizz などの要素と、smang やuzz などの CDATA を取得できるようにしたいと考えています。

役に立ちましたか?

解決

「ourFunction(/)」を呼び出すように XSL を変更してみてください。これにより、ルート ノードが関数に渡されるはずです。を試してみることもできます。または ..

おそらく、実装する関数のシグネチャを変更する必要があるでしょう。それについては他の人に手伝ってもらいます。

他のヒント

どうですか 現在のノードを選択します 現在のノードから関連するデータを選択して XSL パラメーターに入れ、そのパラメーターを関数に渡しますか?のように:

<xsl:value-of select="ourFunction($data)" />
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top