С XSLT / XPath, как я могу соответствовать любому элементу в нулевом пространстве имен?

голоса
6
<xsl:template match=foo>

соответствует элементу Foo в нуле пространства имен.

<xsl:template match=*>

соответствует любому элементу в любом пространстве имен.

Я пытался:

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

но это незаконно, чтобы объявить префикс для нулевого пространства имен.

Так как я могу соответствовать элементу с любым именем в нуле пространства имен?

Задан 09/12/2008 в 14:59
источник пользователем
На других языках...                            


2 ответов

голоса
5

Вы можете попробовать:

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

Если набор узлов пуст или не имеет URI пространства имен, пустая строка , возвращенная namespace-uriфункция, которая должна достичь того, чего вы хотите.

Ответил 09/12/2008 в 15:06
источник пользователем

голоса
4

ffpf правильно.

Для еще большей ясности я бы рекомендовал использовать следующий шаблон соответствия:

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

Ответил 09/12/2008 в 16:06
источник пользователем

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