Формирование страницы XML/XSLT

[DAN]

Старожил PHPClub
timur-kar
>как получить корень XML-документа ????

Вообще-то меня этот факт, что нельзя просто получить корень, тоже удивил. Спеку еще не смотрел, но обязательно гляну туда, разберусь в вопросе.
Пока что вижу такие решения:
1) DOMDocument->getElementById
2) DOMXPath->query("/", DOMDocument);

Поковыряйтесь вобщем, потом сообщите ;)
 

timur-kar

Новичок
Спасибо большое всем за советы и обсуждение :)

Буду искать пути решения проблемы, скорее всего дело просто в сырости extension, библиотеки или документации (скорее extension). Проект делать скорее всего буду с помощью относительных путей ;) буду давиться и делать :)
возможно вернусь к Smarty, но вряд-ли :)

еще раз большое спасибо всем
 

chameleon

Новичок
Вообще-то меня этот факт, что нельзя просто получить корень, тоже удивил. Спеку еще не смотрел, но обязательно гляну туда, разберусь в вопросе
эта... эта не метод это свойство :)..
$xml->documentElement;
 

timur-kar

Новичок
Кстати, точно :)
ночью копался - тоже обнаружил (причем в своих-же кодах двухнедельной давности, когда только начинал разбираться) :)))
они вообще все на свойства перевели, и firtsChild и т.д.
и еще: xsl:stylesheet брался как DomText - это я ошибся. там надо было отключить preserveWhiteSpace (а то он пробел забирал как DomNode)
тогда все получается, можно работу по объединению шаблонов переводить на PHP :) и тогда с путями все ОК

а вот getElementById - не работает :( или я его неправильно использую
 

timur-kar

Новичок
chameleon

Автор оригинала: chameleon
According to the DOM standard this requires a DTD which defines the attribute ID to be of type ID.
а можно это объяснить ? желательно на русском, а то не особо ясно :)

[DAN]
DOMXPath->query("/", DOMDocument);

эта штука возвращает DOMDocument :))
странно, при этом вся остальная навигация с помощью DOMXPath работает довольно нормально
 

chameleon

Новичок
а можно это объяснить ? желательно на русском, а то не особо ясно
а что не ясно? чтобы делать getElementById недостаточно чтобы у элемента был выставлен атрибут @id, нужно еще чтобы тип этого атрибута был 'ID'. Имхо, простейший способ - внутренний DTD.
 
Сверху