Ось пространства имен XSLT, похоже, не работает - PullRequest
0 голосов
/ 20 октября 2010

У меня есть следующий xslt:

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:my="my_namespace">

    <xsl:template match="/">
        <xsl:value-of select="document('')/xsl:stylesheet/namespace::my"/>
    </xsl:template>
</xsl:stylesheet>

и всегда возвращает пустую строку.

Что не так с namespace::*?

Обновление: Пример xml:

<?xml version="1.0" encoding="utf-8"?>
<foo/>

Ответы [ 2 ]

1 голос
/ 20 октября 2010

С MSXSL (3 и 4), Altova, Saxon, Oracle и XQSharp выводит:

my_namespace

Если это не выход для вашего процессора, то, возможно, он не обрабатывает namespace ось.

0 голосов
/ 20 октября 2010

Savva, я запустил вашу таблицу стилей с помощью xsltproc (под oXygen), и он вывел my_namespace по желанию.

xsltproc - это всего лишь интерфейс командной строки для libxslt.Поэтому (если они не изменили что-то в последних версиях), вы и я должны получить одинаковые результаты.

Почему бы вам не показать нам свой код PHP / SimpleXML - возможно, проблема в том,в том, как вы получаете доступ к результату.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...