functx:dynamic-path

Avalia na hora um caminho XPath simples

Descrição

A função functx:dynamic-path avalia na hora uma expressão de caminho simples. Ela só aceita nomes de elemento e nomes de atributo precedidos de @, separados por barras simples. Os nomes podem ter prefixo, mas precisa ser o mesmo prefixo usado no documento de entrada. Não aceita predicados, outros eixos nem outros tipos de nó. A maioria dos processadores tem uma função de extensão que avalia caminhos na hora de um jeito bem mais completo.

Parâmetros

Descrição

parent:node()

a raiz de onde começar

path:string()

a expressão de caminho

Exemplos

Os exemplos abaixo usam este documento de entrada:

<xsl:variable name="in-xml" as="item()*">
  <authors>
     <author test="abc">
        <first>Kate</first>
        <last>Jones</last>
     </author>
     <author>
        <first>John</first>
        <a:last xmlns:a="http://a">Doe</a:last>
     </author>
  </authors>
</xsl:variable>

XPath

Resultado

functx:dynamic-path($in-xml,'author/first')

<first>Kate</first> <first>John</first>

name(functx:dynamic-path($in-xml,'author/@test'))

test

functx:dynamic-path($in-xml,'author')

<author test="abc"> <first>Kate</first> <last>Jones</last> </author> <author> <first>John</first> <a:last xmlns:a="http://a">Doe</a:last> </author>

functx:dynamic-path($in-xml,'author/a:last')

<a:last xmlns:a="http://a">Doe</a:last>

Depende de

Veja também