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> |