Войти

Показать полную графическую версию : XML parser error : not well-formed (invalid token)


FADE
21-04-2007, 20:04
есть шаблон:


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xhtml" encoding="windows-1251" indent="yes"/>

<xsl:template match="/">
<xsl:text disable-output-escaping="yes"><![CDATA[любое русское слово]]></xsl:text>
</xsl:template>

</xsl:stylesheet>


и


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xhtml" encoding="windows-1251" indent="yes"/>

<xsl:template match="/">
<xsl:text>любое русское слово</xsl:text>
</xsl:template>

</xsl:stylesheet>


при использовании любого из шаблонов php отдает такую ошибку:
Warning: Sablotron error on line : XML parser error : not well-formed (invalid token) in on line

стоит убрать русские символы из шаблона, все работает нормально.. в чем проблема, почему не воспринимаются русские символы, или надо както подругому их писать?*

Vlad Drakula
21-04-2007, 20:51
1)
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xhtml" encoding="windows-1251" indent="yes"/>
по стандарту в XSL 1.0 нету method="xhtml" есть только method="html"

2) вы уверены что у вас исходные шаблон в правильной кодировке?
3) вы уверены что процессор подгружает шаблон исходя из правильной его которовки? может он рассчитывает что шаблон в UTF-8?

FADE
21-04-2007, 22:45
Vlad Drakula вы уверены что у вас исходные шаблон в правильной кодировке?
что имеется ввиду?

вы уверены что процессор подгружает шаблон исходя из правильной его которовки? может он рассчитывает что шаблон в UTF-8?
а как в этом убедится? использую php 4

Vlad Drakula
21-04-2007, 23:17
FADE
что имеется ввиду?
существует много разных кодировок текста, большенство из них совпадают в английской части алфовита, а во в русской могут сильно отличаться!

а как в этом убедится? использую php 4
посмотреть какая кодировна прописана по дефолту в настройках

FADE
22-04-2007, 00:09
1 - редактор файлов zend studio - кодировка win1251 если это интересует
2 - _SERVER["MM_CHARSET"] CP1251 в хедоре апач отдает вин1251

еще доводы?:)
...(

Vlad Drakula
22-04-2007, 01:18
FADE
заголовок XSL шаблона?

FADE
22-04-2007, 02:02
Vlad Drakula


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xhtml" encoding="windows-1251" indent="yes"/>


путь к файлу пишу в xslt_process()

что именно может выззывать подоюную ошибку?..

Vlad Drakula
23-04-2007, 11:30
FADE
а где первая строчка вашего шаблона?
вы привели вторую и третью!

FADE
23-04-2007, 14:46
Vlad Drakula вот так выглядит мой шаблон xsl:


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xhtml" encoding="windows-1251" indent="yes"/>

<xsl:template match="/">
<xsl:text>любое русское слово</xsl:text>
</xsl:template>

</xsl:stylesheet>

Vlad Drakula
23-04-2007, 15:07
FADE
я так и думал... любой нормальный парсер быдет думать что он в UTF-8...
где заголовок файла!!!
XSL файл это такоже XML как и все остальное, у него обязан быть заголовок иначе парсер будет считать что он в UTF-8!!! (читаем стандарты!!!)

FADE
24-04-2007, 04:19
файла!!!
UTF-8!!! (читаем стандарты!!!)

Vlad Drakula спокойствие,

<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xhtml" encoding="windows-1251" indent="yes"/>

<xsl:template match="/">
<xsl:text>любое русское слово</xsl:text>
</xsl:template>

</xsl:stylesheet>


так это ты имеешь ввиду?
так - валидный кусок кода?

Vlad Drakula
24-04-2007, 10:34
FADE
я же писал что method="xhtml" - нету в XSL 1.0
а остальное вроде правильно только нужно действительно проверить что там windows-1251




© OSzone.net 2001-2012