LINUX.ORG.RU

История изменений

Исправление pathfinder, (текущая версия) :

Имеете в виду механизм коллбеков SAX'a? Как-то не хочется такого.

Значит, тебе коллбеки не нужны вообще. Делай некое подобие DOM-парсера который выделяет в оперативной памяти место под разбираемую структуру. SAX-подобный парсер с коллбеками нужен лишь тогда, когда надо разбирать файлы огромного размера так, чтобы он быстро работал и потреблял при этом небольшое количество памяти.

Добавлять или не добавлять к парсеру опции для включения/не включения определенных элементов в выходную структуру, это твое дело.

Единственное, что надо помнить, что выходная структура DOM-парсера и рабочая структура, которая в итоге будет содержать распарсенную информацию, это не одно и тоже. Первая должна оперировать понятиями формата, вторая должна оперировать понятиями, заложенными в прикладную логику программы. Видно, что будет оверхед на преобразовании «структура парсера -> рабочая структура». Но в большинстве случаев удобство работы с DOM-подобным парсером важнее его недостатков .

Исправление pathfinder, :

Имеете в виду механизм коллбеков SAX'a? Как-то не хочется такого.

Значит, тебе коллбеки не нужны вообще. Делай некое подобие DOM-парсера который выделяет в оперативной памяти место под разбираемую структуру. SAX-подобный парсер с коллбеками нужен лишь тогда, когда надо разбирать файлы огромного размера так, чтобы он быстро работал и потреблял при этом небольшое количество памяти.

Добавлять или не добавлять к парсеру опции для включения/не включения определенных элементов в выходную структуру, это твое дело.

Единственное, что надо помнить, что выходная структура DOM-парсера и рабочая структура, которая в итоге будет содержать распарсенную информацию, это не одно и тоже. Первая должна должна оперировать понятиями формата, вторая должна оперировать понятиями, заложенными в прикладную логику программы. Видно, что будет оверхед на преобразовании «структура парсера -> рабочая структура». Но в большинстве случаев удобство работы с DOM-подобным парсером важнее его недостатков .

Исправление pathfinder, :

Имеете в виду механизм коллбеков SAX'a? Как-то не хочется такого.

Значит, тебе коллбеки не нужны вообще. Делай некое подобие DOM-парсера который выделяет в оперативной памяти место под разбираемую структуру. SAX-подобный парсер с коллбеками нужен лишь тогда, когда надо разбирать файлы огромного размера так, чтобы он быстро работал и потреблял небольшое количество памяти.

Добавлять или не добавлять к парсеру опции для включения/не включения определенных элементов в выходную структуру, это твое дело.

Единственное, что надо помнить, что выходная структура DOM-парсера и рабочая структура, которая в итоге будет содержать распарсенную информацию, это не одно и тоже. Первая должна должна оперировать понятиями формата, вторая должна оперировать понятиями, заложенными в прикладную логику программы. Видно, что будет оверхед на преобразовании «структура парсера -> рабочая структура». Но в большинстве случаев удобство работы с DOM-подобным парсером важнее его недостатков .

Исходная версия pathfinder, :

Имеете в виду механизм коллбеков SAX'a? Как-то не хочется такого.

Значит, тебе коллбеки не нужны вообще. Делай некое подобие DOM-парсера который выделяет в оперативной памяти место под разбираемую структуру. SAX-подобный парсер с коллбеками нужен лишь тогда, когда надо разбирать файлы огромного размера так, чтобы он быстро работал и потреблял небольшое количество памяти.

Добавлять или не добавлять к парсеру опции для включения/не включения определенных элементов в выходную структуру, это твое дело.

Единственное, что надо помнить, что выходная структура DOM-парсера и рабочая структура, которая в итоге будет содержать распарсенную информацию, это не одно и тоже. Первая должна должна оперировать понятиями формата, вторая должна оперировать понятиями, заложенными в прикладную логику программы. Видно, что будет оверхед на преобразовании «структура парсера -> рабочая структура». Но в большинстве удобства работы с DOM-подобным парсером важнее его недостатков .