2009-10-05 4 views
0

Comment puis-je trouver des valeurs d'attribut basées sur une expression régulière du nom d'attribut dans xslt? Dans cet extrait, j'essaye de faire correspondre des attributs comme "url.title", ou "page.title", etc ... n'importe quoi avec ".title".Correspond à l'attribut XML par nom d'attribut? XSLT


<attribute name="withRegexp"> <value-of select='matches(@*[name()], "\.title")'/> </attribute> 

Cela ne fonctionne pas, des idées que pour fixer?

Merci!

Répondre

2

Dans XPath 2.0, vous pouvez faire correspondre les nœuds d'attributs dont le nom se termine en .title avec:

@*[matches(name(), '\.title$')] 

Dans XPath 1.0 il n'y a pas des fonctions correspondant à l'expression régulière. Pour obtenir nœuds attributs dont le nom contient la sous-chaîne .title vous pouvez utiliser:

@*[contains(name(), '.title')] 
+0

génial, merci! –