2010-01-19 2 views
3

Как я могу сопоставить атрибуты xmlns: * с XSLT 1.0? Использование документа RDF Я попытался:Как я могу сопоставить атрибуты xmlns: * с XSLT?

<xs:template match="rdf:RDF"> 
(...) 
<xsl:for-each select="@*"> 
    <xsl:value-of select="."/> 
</xsl:for-each> 
(...) 
</xsl:template> 

, но это не похоже на работу для Xmlns атрибутов.

Спасибо.

ответ

8

Атрибуты Xmlns не являются нормальными атрибутами, они являются объявления пространств имен. Для доступа к ним необходимо использовать ось пространства имен.

.:

например
<xsl:for-each select="namespace::*"> 
    <xsl:value-of select="name()" /> 
</xsl:for-each> 
+0

Great! благодаря ! – Pierre

1

Вы не можете напрямую, но посмотрите на namespace оси:

<xsl:for-each select="namespace::*"> 
    <xsl:value-of select="."/> 
</xsl:for-each> 
Смежные вопросы