Здравствуйте, ctalker, Вы писали:
C>Вопрос. Как быть в этом случае, какой будет правильный путь?
Попробуй так
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://test.ru">
<xsl:output method="html" encoding="UTF-8" version="1.0"/>
<xsl:template match="/">
<b><xsl:value-of select="/test/a"/></b>
</xsl:template>
</xsl:stylesheet>
Или так:
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:MySuperPuperPrefix="http://test.ru">
<xsl:output method="html" encoding="UTF-8" version="1.0"/>
<xsl:template match="/">
<b><xsl:value-of select="/MySuperPuperPrefix:test/MySuperPuperPrefix:a"/></b>
</xsl:template>
</xsl:stylesheet>
C>Кстати, если добавить префикс <test xmlns:pref=”http://test.ru”> — то все нормально работает.
Эта запись почти не имеет смысла, потому что, объявляет что префикс pref равен "
http://test.ru", а потом этот префикс никто не использует. Зачем тогда его объявлять?
C>(Предлагать изменение входного XML не надо – хотелось бы разобраться именно с описанной ситуацией)
Я предлагаю сначала понять что такое namespace в XML. Например
здесь.