Re: Пространство имен и XSL процессор
От: sergey_shandar США http://getboost.codeplex.com/
Дата: 05.09.07 01:53
Оценка:
Здравствуйте, 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. Например здесь.
getboost.codeplex.com
citylizard.codeplex.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.