XMLReader: чтение атрибутов элемента DOC_TYPE

japplegame

Новичок
XMLReader: чтение атрибутов элемента DOC_TYPE

Проблема в том, что при парсинге XHTML файла с помошью XMLReader не получается прочитать атрибуты тега <!DOCTYPE .... >.
например если в файле есть строка

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

то при парсинге файла, для элемента с nodeType == DOC_TYPE, по логике вещей должно быть два атрибута (для publicId и systemId) с именами 'PUBLIC' и 'SYSTEM' со значениями "-//W3C//DTD XHTML 1.0 Transitional//EN" и "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" соответственно.
Но в реальности XMLReader считает, что никаких атрибутов у этого элемента нет: hasAttributes == false.

Операционная система Windows XP, PHP 5.1.4.
 

SID

ReadOnlyТеаm
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
это прочитает?
 

japplegame

Новичок
Хм,странный совет, но попробовал на всякий случай. Такую строку XMLReader вообще не парсит, а выдает кучу ошибок. Вобщем-то это неудивительно, ибо такой вариант не соотвествует стандартам xhtml.
Тут возникла идейка, может это баг виндовского варианта библиотеки libxml? Потестю под линухом и сообщу результаты.
 
Сверху