Pergunta

Existe uma maneira de obter os dados xml atuais quando criamos nossa própria função XPath personalizada (veja aqui).

Eu sei que você tem acesso a um XPathContext mas isso é suficiente?

Exemplo:

Nosso XML:

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

Nosso XSL:

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

Como obtemos toda a árvore XML?

Editar: Esclarecer:Estou criando uma função personalizada que acaba executando código Java estático (é um recurso saxão).Portanto, neste código Java, desejo obter elementos da árvore XML, como bar e fizz, e seus CDATA, como smang e buzz.

Foi útil?

Solução

Tente alterar seu XSL para chamar 'ourFunction (/)'.Isso deve passar o nó raiz para a função.Você também pode tentar.ou ..

Presumivelmente, você precisará alterar a assinatura da função de implementação. Deixarei outra pessoa ajudar com isso.

Outras dicas

A respeito selecione o nó atual selecionando os dados relevantes do nó atual em um parâmetro XSL e passando esse parâmetro para a função?Como:

<xsl:value-of select="ourFunction($data)" />
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top