Com XSLT / XPath, como posso combinar com qualquer elemento no namespace nulo?

votos
6
<xsl:template match=foo>

corresponde ao elemento foo no namespace nulo.

<xsl:template match=*>

corresponde a qualquer elemento em qualquer namespace.

Eu tentei:

xmlns:null=
...
<xsl:template match=null:*>

mas é ilegal para declarar um prefixo para o namespace nulo.

Então, como posso combinar um elemento com qualquer nome no namespace nulo?

Publicado 09/12/2008 em 14:59
fonte usuário
Em outras línguas...                            


2 respostas

votos
5

Você poderia tentar:

<xsl:template match='*[namespace-uri() = ""]'>

Se o nó-conjunto é vazio ou não tem namespace URI, uma cadeia vazia é retornado pela namespace-urifunção, que deve conseguir o que deseja.

Respondeu 09/12/2008 em 15:06
fonte usuário

votos
4

ffpf está correto.

Para ainda mais clareza eu recomendo usar o seguinte padrão de jogo:

 ' *[not(namespace-uri() )]'

Respondeu 09/12/2008 em 16:06
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more