Xsl:sequence некорректно работает в браузерах

Статус
Закрыто для дальнейших ответов.
Регистрация
23.02.2012
Сообщения
1
Доброго времени суток.​

Изучаю XSLT. Написал такой xml-файл:

Код:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="xpath2.xsl"?>
<doc>
	<items>
		<node>Den</node>
		<node>Bob</node>
		<node>Mike</node>
	</items>
</doc>

Затем написал файл xpath2.xsl:

Код:
<?xml version="1.0"?>
<xsl:stylesheet version="2.0"  
	xmlns:xs= "http://www.w3.org/2001/XMLSchema"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output encoding="UTF-8" method="text"/>  
	<xsl:template match="/">
		<xsl:variable name="myVar" as="xs:string*">  
			<xsl:sequence select="doc/items/node"/>	  
			<xsl:sequence select="('1', '2', '3')"/>
		</xsl:variable>
		<xsl:text>Node values:&#xA;</xsl:text>	  
		<xsl:value-of select="$myVar" separator="&#xA;"/>
	</xsl:template>
</xsl:stylesheet>

Если в браузере (любой, кроме Google Chrome) открыть первый показанный мною xml-файл, то текст "Node values:" я вижу, но перечисление отсутствует. Почему?

В Google Chrome почему-то xsl вообще не работает... В нём не реализована поддержка XSL?

Если в командной строке выполнить это (воспользовавшись Saxonica):

Код:
"C:\Program Files\Saxonica\SaxonHE9.4N\bin\Transform.exe" -s:"C:\Users\user\Documents\Learning\xslt\xpath\test.xml" -xsl:"C:\Users\user\Documents\Learning\xslt\xpath\xpath2.xsl" -o:"C:\Users\user\Documents\Learning\xslt\xpath\result.txt"
То в результате получаю текстовый файл с нужным содержимым:
Код:
Node values:

Den
Bob
Mike
1
2
3
Почему сторонняя софтина даёт верный результат, а браузеры - нет?
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
Доброго времени суток.​

Изучаю XSLT. Написал такой xml-файл:

Код:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="xpath2.xsl"?>
<doc>
	<items>
		<node>Den</node>
		<node>Bob</node>
		<node>Mike</node>
	</items>
</doc>

Затем написал файл xpath2.xsl:

Код:
<?xml version="1.0"?>
<xsl:stylesheet version="2.0"  
	xmlns:xs= "http://www.w3.org/2001/XMLSchema"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output encoding="UTF-8" method="text"/>  
	<xsl:template match="/">
		<xsl:variable name="myVar" as="xs:string*">  
			<xsl:sequence select="doc/items/node"/>	  
			<xsl:sequence select="('1', '2', '3')"/>
		</xsl:variable>
		<xsl:text>Node values:&#xA;</xsl:text>	  
		<xsl:value-of select="$myVar" separator="&#xA;"/>
	</xsl:template>
</xsl:stylesheet>

Если в браузере (любой, кроме Google Chrome) открыть первый показанный мною xml-файл, то текст "Node values:" я вижу, но перечисление отсутствует. Почему?

В Google Chrome почему-то xsl вообще не работает... В нём не реализована поддержка XSL?

Если в командной строке выполнить это (воспользовавшись Saxonica):

Код:
"C:\Program Files\Saxonica\SaxonHE9.4N\bin\Transform.exe" -s:"C:\Users\user\Documents\Learning\xslt\xpath\test.xml" -xsl:"C:\Users\user\Documents\Learning\xslt\xpath\xpath2.xsl" -o:"C:\Users\user\Documents\Learning\xslt\xpath\result.txt"
То в результате получаю текстовый файл с нужным содержимым:
Код:
Node values:

Den
Bob
Mike
1
2
3
Почему сторонняя софтина даёт верный результат, а браузеры - нет?
хреново поддерживают xslt
 
Статус
Закрыто для дальнейших ответов.
Верх Низ