DOM XML изнутри. Как оно работает?

Статус
В этой теме нельзя размещать новые ответы.

Izvrat

Guest
DOM XML изнутри. Как оно работает?

Ну, мастера программирования, кто занет?, как оно обычно работает.
Допустим я захотел написатьсвой простой парсер дом, и причин тому три:
- он будет такой как я хочу
- он будет независим от настроек ПХП хостером, в отличии от стандартных библиотек.
- к нему будет проще дописывать нестандартные функции (надстройки)

Вопрос такой:

где лучше хранить само дерево, т.е. самы объекты?
или ссылки на них?
Усть несколько догадок:

в виде массива в Document или в Implamantation (встречный вопрос, все Node в одном массиве или для разных типов разные?)

только указатели хранить в NodeList, каждого свойства childNodes.

или еще где?

подскажите плиз, может я вообще гоню и есть более понятные решения?
 

BeGe

Вождь Апачей, блин (c)
Ну что ж...
1. Читаем www.w3c.org - смотрим обяъвление ввсеъ функций и методов.
2. Реализуем это на пхп
3. Смотрим на Extension - DOM
4. Убиваем автора реализаии DOM на php аб стену.

P.S.
Аффтар убей себе аб стену.

tony ты не так понял
 

Izvrat

Guest
:) - смешно! (что все так плохо?)
да проблема то не в этом,... я уже запихнул все классыб функции дом в свой скрипт, как заглушки (вру не все, но это вопрос не долгий)... интересны идеи как оно вообще все работает? главный вопрос, гду храниться само дерево? или главные указатели на него, чтоб работало эффективнее.
ДОкоментация описывает только методы доступа к ним, и ничего не говорить о реализации дерева, или я плохо ее "смотрел", (признаюсь - слабоват в аглийском)

-~{}~ 21.09.05 15:42:

я кажеться тя не понял, меня вообще не интересует (в данный момент) существующая реализация ДОМ в ПХП (если ты про это), мне интересно как вообще ДОМ обычно работает (в теории)

-~{}~ 21.09.05 18:57:

блин, не могу понять, или нет на форуме людей, которые иеют представление о том как работает дом, или я спросил нечто настолько глупое?
 

slach

Новичок
чтобы понять как работает DOM в теории читай спецификации
w3c.org/DOM/
 

BeGe

Вождь Апачей, блин (c)
или

Автор оригинала: Izvrat
я спросил нечто настолько глупое?
DOM реализован в php 5.0.0 => в модуле DOM - реализация полностью по спецификации w3c, Если ты решил переписать эту реализацю на PHP, то .... .

Если тебя не удовлЕтворяет реализация в php4.x - то уже есть готовые врапперы - которые реализую интерфейс DOM модели, через то что в php4 назвали DOM XML.
 

Izvrat

Guest
slach в спецификации подчеркиваеться что в ней принчипиально нет ничего, от том как это должно работать, там только интерфейс... как хранить данные - дело конкретных реализаций.

конечно спасибо за советы, но цель топика помочь в в заданоей проблемме, или наставить на путь истенный автара топика? я очень рад что есть хорошие реализации, но если кто МОЖЕТ помочь в написании собственной, буду рад послушать.

на данный момент у меня появились две проблемы, связаные с особенностями пхп:
- можно ни создать поле класса только для чтения?
- я понимаю что хочу чегото нереального, но можеткак то возможно чтоб это работало?:
PHP:
$a = new A;
$a[0] = 'test';
$a->f();
 

maxim

Новичок
Если тебе интересно как оно работает смотри исходники libxml2
 

Izvrat

Guest
libxml2 - а где их взять? можно? (но ониж не на пхп?)
 

Izvrat

Guest
Да смотрел я ети рализации, спасибо конечно за советы.
Но... (нехочю конечно никого обижатиь....), если вам нечего добавить от себя, кроме как отсылать на то, на что я и сам рано или позно найду в сети, то я зря спрашивал.
Все эти реализации обладат темеже недостатками с которыми я борюсь... если тут НИ У КОГО нет собственных мыслей на этот счет, то я просто трачу время :(
...большое всем спасибо

-~{}~ 24.09.05 12:46:

ПХП на СИ? ну конечно!, толкьо я не говорил что собираюсь аналог ПХП писать, я говорил что собираюсь ДОМ движок писать на ПХП! (... не ДОМ модуль на СИ) и много проблем связаны имменно с особенностями ПХП!
 

slach

Новичок
я не пойму, тебе вроде сказали, PHP для этого (DOM интерфейс на pure PHP) СЛАБО предназначен ? ;)
как не куражся, у тебя прежде всего не получится ПРОИЗВОДИТЕЛЬНОСТИ =)
либо парсинг кода будет занимать время большее чем его исполнение

кроме того писать на php DOM модуль БЕСМЫСЛЛЕНО
потому что в php4 есть для этого модуль domxml
и он стоит уже у большинства хостеров
а в php5 DOM модуль уже BUILTIN ;) т.е. поставляется по умолчанию

НИКТО просто не будет использовать твой код, потому что НЕЗАЧЕМ =)

мой тебе совет
направь свою ЭНЕРГИЮ в более конструктивное русло
например подключись к разработке DOM расширения на php5
там я думаю найдется достаточно работы для тебя

причем за эту работу каждый кто ходит в этот форум тебе скажет спасибо!
 

Izvrat

Guest
ну сколько можно лечить и наставлять на путь истенный?
эта движок ДОМ нужен МНЕ и прежде всего МНЕ!, люлблю я мользоваться своими классами, к томуже как я говорил, ДОМ в ПХП4 не лучший вариант, а ПХП5 не везде пока стоит.

Большая производительность не требуется, парсить на нем XML я буду только в исключительных случаях, он нужен мне прежде всего для генерации ХТМЛ интрефейса веб приложений, с этой целью поверх этого своего ДОМ планирую написать свои классы.

Насчет написание модуля - это былобы конечно очень хорошей идеей, но....
1. не лучше сначала попробовать написать (хотя бы для тренировки) на ПХП чем на СИ, я думаюэтобудет проще, а потом опираться на полученый опыт
2. А дорос ли я до написания модулей под ПХП? да и кто меня туда позовет?

у меня есть несколько (выше оговореных) неясностей в данной проблеме, и хотелось бы услышать ваши мнения как это сделать Лучше и Красивее. Лечить меня поздно... ссылок на ресурсы спецификации и готовыи скриптам мне дали пока достаточно. Может кто таки расажет чего конструктивное?
 

Izvrat

Guest
Frol на моей работе про ДОМ речьне идет. там куча готоывах классов, для узких задач.... ну скажем классы не идейные, ДОМ мне нравиться больше (на работе он не установлен!)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху