parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Это баг или фича?

Лозовенко Виктор 08.04.2005 00:11

Если фича, то она мне не нравится.. ))

Пишем:
# Предположим, есть XML с нестандартными символами
$str[<root><umlauts><name>K&ouml^;nigsberg</name><sign>sssss&szlig^;sssss</sign></umlauts></root>]

$str[^xdoc::create{<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE root[
<!ENTITY	nbsp	"&#160^;">
<!ENTITY	Uuml	"&#220^;">
<!ENTITY	uuml	"&#252^;">
<!ENTITY	Auml	"&#196^;">
<!ENTITY	auml	"&#228^;">
<!ENTITY	Ouml	"&#214^;">
<!ENTITY	ouml	"&#246^;">
<!ENTITY	szlig	"&#223^;">
<!ENTITY	copy	"&#169^;">
]>$str}]

# сохраняем XML
^str.save[/admin/request.txt;$.encoding[windows-1251]]

# Прочитываем текстовые данные.
$Nodelist[$str.documentElement.firstChild.childNodes]
^Nodelist.foreach[key;value]{
$str[$value.firstChild.nodeName - $value.firstChild.nodeValue]
^str.save[append;node.txt]
}
Получаем:
Сохраненный XML-документ идентичен тому, что напечатали (или ввели из формы)

А вот что лежит в node.txt:
#text - K&#246;nigs
#text - sssss&#223;s
Отрезаны по 4 буквы с каждого конца. Что бы это могло быть?
Последнюю версию парсера я не смотрел еще, каюсь, м.б. там этого нет. у меня предпоследняя под Windows.