2008-12-09 8 views
6
<xsl:template match="foo"> 

correspond à l'élément foo dans l'espace de noms nul.Avec XSLT/XPath, comment puis-je faire correspondre n'importe quel élément de l'espace de nom nul?

<xsl:template match="*"> 

correspond à tout élément tout espace de noms.

J'ai essayé:

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

mais il est illégal de déclarer un préfixe pour l'espace de noms nul.

Alors, comment puis-je faire correspondre un élément avec un nom quelconque dans l'espace de nom nul?

Répondre

5

Vous pouvez essayer:

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

Si le node-set est vide ou n'a pas URI d'espace, une chaîne vide est renvoyée par la fonction namespace-uri, qui devrait obtenir ce que vous voulez.

+0

Je ne dois pas être sénile dans ma vieillesse. Merci! –

+0

C'est bon. Il m'a fallu un peu de souvenir de ce qu'il fallait faire. Heureux d'aider. –

4

ffpf est correct.

Pour plus de clarté, je recommande d'utiliser le modèle de match suivant:

  « *[not(namespace-uri())] »

Questions connexes