OberonCore https://forum.oberoncore.ru/ |
|
Xmlcore - реализация DOM и XML для BlackBox https://forum.oberoncore.ru/viewtopic.php?f=90&t=1006 |
Страница 1 из 4 |
Автор: | Пётр Кушнир [ Вторник, 27 Май, 2008 23:05 ] |
Заголовок сообщения: | Xmlcore - реализация DOM и XML для BlackBox |
Приветствую! Где то с год назад был разговор на форуме про создание подсистемы по работе с XML. Спор разгорелся на концептуальном уровне... и затих. Совсем недавно производственная необходимость заставила вернуться к теме XML. Были изучены стандарты организации w3c http://www.w3c.org Document Object Model http://www.w3.org/DOM/ и eXtensible Markup Language http://www.w3.org/XML/. DOM представляет собой интерфейсное описание структуры для хранения данных документа (изначально HTML). В основе лежит класс Узел дерева, который посредством расширения приобретает ту или иную функциональность для описания различных по содержанию и назначению фрагментов документа. Был реализован только начальный, самый первый уровень спецификации DOM, т.н. Level 1. Сейчас существует уже Level 3 со значительно расширенными возможностями. XML представляет собой указания по разметке текста документа тегами, группы которых могут интерпретироваться специальными программами-процессорами(XML Processor) особым образом. Была реализована (не полностью) версия 1.0 редакция 4 данного стандарта. Из-за того, что название подсистемы "Xml" уже значится в списке занятых на сайте Ominc., подсистема была названа Xmlcore.(здесь была бы уместна идея пространства имён подсистем, например Ominc.Xml, Yaroslavl.Xml и т.д. - мысли вслух ). В качестве основы для XML парсера(обработчика текста xml-документа) был взят парсер, включёный в состав WinAOS. Нереализованными остались обработка Нотаций(Notation), Деклараций разметки(Markup declaration), Сущностей(Entities) и Ссылок на сущности(Entity reference)(обратитесь к описанию XML для подробной информации). Итог работы: Dom level 1 реализован. Xml 1.0 частично реализован. Формат выходного и входного файлов: текст с кодировкой UTF-8. Используется подсистема Basics для работы с динамическими строками. Есть демонстрационные программы для обеих подсистем. Документации пока нет. Предлагаю сообществу включится в разработку такого, без сомнения, нужного и полезного инструмента как XML и довести функциональные фозможности компонент до современного уровня. (модератор) 09.12.2010 размещено в коллекции: http://oberoncore.ru/bbcc/subs/xmlcore/ |
Автор: | Иван Левашев [ Воскресенье, 01 Июнь, 2008 09:39 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
XML — это не только DOM, но ещё и SAX. |
Автор: | Иван Кузьмицкий [ Воскресенье, 01 Июнь, 2008 10:04 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
SAX, DOM - это всего лишь "углы взгляда" на документ в формате XML. Программные интерфейсы (API). Цитата: Эти интерфейсы дают разработчикам целостный интерфейс для работы с XML-документами. Существует много доступных API; ... наиболее популярные и наиболее часто используемые: Объектная Модель Документа (Document Object Model - DOM), Простой API для XML (Simple API for XML - SAX), JDOM и Java API для Разбора XML (Java API for XML Parsing - JAXP). http://www.ibm.com/developerworks/ru/ed ... tion5.html Стандарт SAX (http://www.saxproject.org) не является стандартом W3C. С помощью SAX можно только прочитать данные из XML-документа. Создавать и изменять XML-документы с его помощью невозможно. DOM – стандарт W3C. Позволяет производить любые операции с XML-данными в достаточно удобной форме – представляя XML-документ как дерево объектов. Главный недостаток DOM - необходимо построить дерево документа сразу, загрузив документ в память целиком. На больших файлах начнутся тормоза и съедание памяти. |
Автор: | Пётр Кушнир [ Воскресенье, 01 Июнь, 2008 12:57 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
OCTAGRAM писал(а): XML — это не только DOM, но ещё и SAX. XML - это XML. SAX это отдельная песня. Хотя если есть желание - реализуйте, лишним не будет... |
Автор: | Пётр Кушнир [ Воскресенье, 01 Июнь, 2008 13:06 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Иван Кузьмицкий писал(а): Главный недостаток DOM - необходимо построить дерево документа сразу, загрузив документ в память целиком. На больших файлах начнутся тормоза и съедание памяти. Его можно преодолеть, реализовав модуль загрузки файла по частям, для этого можно использовать особый тип интерфейса DOM - DocumentFragment. |
Автор: | Иван Кузьмицкий [ Воскресенье, 01 Июнь, 2008 13:15 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
По идее, фрагментирование DOM должно быть абсолютно прозрачно. Я работаю чисто с DOM, а как конкретная реализация подгружает части XML-документа, знать не должен. |
Автор: | Пётр Кушнир [ Воскресенье, 01 Июнь, 2008 13:32 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Сейчас, Dom не связан с Xmlcore. Он сам по себе. Xmlcore импортирует Dom и производит с ним различные операции. Если потребуется обеспечить обратную связь, то придётся вводить некий управляющий слой, с которым вы будете работать, и который будет обеспечивать подгрузку данных из файла и изменение основной Dom-струкутры, с которой вы уже НЕ будете работать напрямую. Тогда самый удобный вариант для вас - получать по запросу фрагменты документа и обрабатывать их, затем отправлять обратно(если потребуется) |
Автор: | Илья Ермаков [ Воскресенье, 01 Июнь, 2008 18:03 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Интересно, а как оно там в XML СУБД делается... Типа "Седны" ИСП РАН-овской... Какие там интерфейсы... |
Автор: | Иван Кузьмицкий [ Воскресенье, 01 Июнь, 2008 19:48 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Почитал про Седну, очень интересно. Как я понял, у них полностью свой движок. Такая XML-СУБД может работать прослойкой между интерфейсом DOM и XML-документом. http://www.citforum.ru/database/article ... va06.shtml Цитата: Во многих приложениях XML -документы обрабатываются в модели DOM или преобразуются с использованием процессоров XSLT . В обоих случаях, как правило, требуется присутствие в прямо адресуемой памяти всего обрабатываемого элемента. Поскольку для хранения документа, например, в модели DOM требуется примерно в десять раз больше памяти, чем для исходного XML -документа, большие документы обрабатывать оказывается невозможно. Здесь может помочь прирожденная XML -СУБД, в базе данных которой DOM или XSLT будут хранить узлы документа, извлекая их по мере потребности.
|
Автор: | Борис Рюмшин [ Вторник, 03 Июнь, 2008 15:54 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Petryxa писал(а): Предлагаю сообществу включится в разработку такого, без сомнения, нужного и полезного инструмента как XML и довести функциональные фозможности компонент до современного уровня. Хм... от XML не далеко до реализации SVG... |
Автор: | Иван Горячев [ Вторник, 03 Июнь, 2008 16:02 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Борис Рюмшин писал(а): Хм... от XML не далеко до реализации SVG... А это насущный вопрос? SVG - тот ещё формат. Я недавно в википедии рылся, картинка в jpeg занимает 400 кб, та же самая картинка в svg - 1,5 мб и вешает Оперу |
Автор: | Борис Рюмшин [ Вторник, 03 Июнь, 2008 16:03 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Иван Горячев писал(а): Борис Рюмшин писал(а): Хм... от XML не далеко до реализации SVG... А это насущный вопрос? SVG - тот ещё формат. Я недавно в википедии рылся, картинка в jpeg занимает 400 кб, та же самая картинка в svg - 1,5 мб и вешает Оперу Это полезный формат... это векторный формат, к тому же стандартный. |
Автор: | Борис Рюмшин [ Вторник, 03 Июнь, 2008 16:05 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Борис Рюмшин писал(а): Это полезный формат... это векторный формат, к тому же стандартный. Тем более с учётом уже упоминавшегося здесь где-то AGG (http://antigrain.com/). |
Автор: | Иван Кузьмицкий [ Вторник, 03 Июнь, 2008 16:36 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Более того, векторная рисовалка InkScape, коей лично я пользуюсь заместо Корела - как раз хранит картинки в формате SVG. И этот формат, он не только стандартный, а ещё и открытый. |
Автор: | Trurl [ Вторник, 03 Июнь, 2008 21:22 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Да будь он трижды стандартный и одиннадцатижды открытый, формат - говно. |
Автор: | Иван Кузьмицкий [ Вторник, 03 Июнь, 2008 21:30 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Trurl писал(а): Да будь он трижды стандартный и одиннадцатижды открытый, формат - говно. Личностное неприятие?
|
Автор: | Пётр Кушнир [ Вторник, 03 Июнь, 2008 23:06 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Вести с полей Сделал DOM Level 2 и прикрутил к Xmlcore поддержку XML Namespaces http://www.w3.org/TR/2006/REC-xml-names-20060816. Ещё приделал трансляцию символов разметки в коды(как в HTML: & = "&" ну и т.д.). Судя по всему, это и зовётся Entities. Для XML стандартные только: $ > < " ' остальные нужно описывать в Document Type Declaration. С ним ещё есть непонятки, если кто разбирается, подскажите, где всё это добро должно храниться, у DOM.DocumentType есть только два списка, entities и notations, не пойму, как в них уложить всё, что в спецификации по DTD? Подсистемы прикрепил, но там немного всё сумбурно, демки дикие Trurl писал(а): Да будь он трижды стандартный и одиннадцатижды открытый, формат - говно. Нууу, у меня Опера нормально показала тестовую картинку из Википедии. Значит, получается: формат - НЕ говно. |
Автор: | Борис Рюмшин [ Вторник, 03 Июнь, 2008 23:34 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Petryxa писал(а): Вести с полей Как на счёт того, чтобы поставить этот проект под управление SVN? |
Автор: | Пётр Кушнир [ Среда, 04 Июнь, 2008 09:51 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Ммм. Было бы неплохо. Ну тогда сообщите пожалуйста параметры SVN репозитория. |
Автор: | Ярослав Романченко [ Среда, 04 Июнь, 2008 10:40 ] |
Заголовок сообщения: | Re: Реализация Document Object Model(DOM) и XML для BlackBox |
Иван Горячев писал(а): ... та же самая картинка в svg - 1,5 мб и вешает Оперу Оперу запросто мог повесить Flash баннер на какой-то из закладок. То-ли баннеры кривые попадаются, то-ли плагин глючный. Вообще за Flash баннеры вбывав-бы Trurl писал(а): Да будь он трижды стандартный и одиннадцатижды открытый, формат - говно. Flash - говно похлеще ИМХО. |
Страница 1 из 4 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |