-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
XML parser error : not well-formed (invalid token)
есть шаблон:
PHP код:
<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>
и
PHP код:
<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 577690 |
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?
|
Vlad Drakula
Цитата:
вы уверены что у вас исходные шаблон в правильной кодировке?
|
что имеется ввиду?
Цитата:
вы уверены что процессор подгружает шаблон исходя из правильной его которовки? может он рассчитывает что шаблон в UTF-8?
|
а как в этом убедится? использую php 4
|
Vlad Drakula |
21-04-2007 23:17 577761 |
FADE
существует много разных кодировок текста, большенство из них совпадают в английской части алфовита, а во в русской могут сильно отличаться!
Цитата:
а как в этом убедится? использую php 4
|
посмотреть какая кодировна прописана по дефолту в настройках
|
1 - редактор файлов zend studio - кодировка win1251 если это интересует
2 - _SERVER["MM_CHARSET"] CP1251 в хедоре апач отдает вин1251
еще доводы?:)
...(
|
Vlad Drakula |
22-04-2007 01:18 577803 |
FADE
заголовок XSL шаблона?
|
Vlad Drakula
PHP код:
<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 578274 |
FADE
а где первая строчка вашего шаблона?
вы привели вторую и третью!
|
Vlad Drakula вот так выглядит мой шаблон xsl:
PHP код:
<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 578381 |
FADE
я так и думал... любой нормальный парсер быдет думать что он в UTF-8...
где заголовок файла!!!
XSL файл это такоже XML как и все остальное, у него обязан быть заголовок иначе парсер будет считать что он в UTF-8!!! (читаем стандарты!!!)
|
Цитата:
UTF-8!!! (читаем стандарты!!!)
|
Vlad Drakula спокойствие,
PHP код:
<?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 578730 |
FADE
я же писал что method="xhtml" - нету в XSL 1.0
а остальное вроде правильно только нужно действительно проверить что там windows-1251
|
Время: 02:45.
© OSzone.net 2001-