Большой XML
goServus 11.10.2002 12:42
Задача.
Необходимо реализовать некий каталог изделий.
Каталог поделен на несколько разделов.
Нужно выводить изделия конкретного раздела, а также, отдельно -- изделия-новинки со всех разделов.
Ориентировочный максимум изделий: 1000 -- 1500.
Каждое изделие описывает 4--5 не больших строковых полей (до 20 символов).
Идея.
Хранить каталог в виде одного большого XML-файла.
Читать его, через XSLT или DOM делать запросы на выборку: принадлежность изделий к каталогу, осуществлять их сортировку.
XML vs. DB.
У XML'я есть несколько преимуществ.
Редактировать можно легко, в интерефейсе MS Office.
И, очень важно, у наполнителя-администратора нет постоянного доступа к интернету: веб-интерфейс не совсем пригоден. Один XML-файл заливается -- и вся база обновлена.
Кроме того -- данные можно легко привести-трансформировать к любому виду.
Недостатки -- производительность, "тяжелость" обработки не маленького файла.
На сколько я знаю, гораздо эффективнее с парсингом/обработкой больших xml-файлов работает SAX... по сравнениею с XSLT и DOM.
Хотелось бы узнать, есть возможность использовать SAX в Парсере? Такая возможность была бы очень, думается, оправдана.
Кроме того, архитектура Парсера вроде-бы позволяет использовать событийную модель (через try-catch) -- необходимую для SAX'а.
Буду, конечно, рад узнать об альтернативных вариантах работы с большими XML-файлами в указанном контексте.
Спасибо.
- Большой XML, goServus 11.10.2002 12:42