OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 22 Ноябрь, 2019 22:00

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 75 ]  На страницу Пред.  1, 2, 3, 4  След.

Нужны ли Вам инструменты для работы с XML в вашей деятельности?
Да 64%  64%  [ 23 ]
Нет 36%  36%  [ 13 ]
Всего голосов : 36
Автор Сообщение
СообщениеДобавлено: Понедельник, 16 Июнь, 2008 15:22 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4338
Откуда: Россия, Орёл
Пётр Кушнир писал(а):
...в XML-БД "Седна"(как-то так) вообще размер неопределённо большой может быть...

http://modis.ispras.ru/sedna/


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 16 Июнь, 2008 15:58 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4526
Откуда: Россия, Орёл
Дерево XML-документа целиком присутствует в памяти. Если так, такая реализация не сгодится для гигантских файлов размер которых исчисляется в Гб (как я понял в Седне именно такие размеры). Нужна специальная. Но она есть - сама Седна с ее АПИ.

Если говорить о файлах в несколько мегабайт, то можно попробовать такой вариант:
- файл целиком вгружается в память;
- при построении дерева никаких дин. строк не делается, используются ссылки типа (pos, len) на содержимое файла;
- когда дерево построено и все (pos, len) зафиксированы - сделать их копии в виде обычных строк POINTER TO ARRAY OF CHAR, а файл выгрузить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 16 Июнь, 2008 16:54 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2626
Откуда: Россия, Ярославль
Это получается парсинг в два прохода... Сначала создаём DOM дерево с пустыми строками, и запоминем "координаты" строк в исходном тексте, потом проходим по списку "строка<=>координата" и заполняем строки... Здесь и пригодится скрытие реализации парсера, так как такой механизм не всегда будет нужен, например при работе с файлами малых размеров(много меньше мегабайта) выйгрыш в скорости по сравнению с теперешним механизмом будет минимальный.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 16 Июнь, 2008 17:32 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4338
Откуда: Россия, Орёл
Евгений Темиргалеев писал(а):
Дерево XML-документа целиком присутствует в памяти. Если так, такая реализация не сгодится для гигантских файлов размер которых исчисляется в Гб (как я понял в Седне именно такие размеры). Нужна специальная. Но она есть - сама Седна с ее АПИ.

Ну я сильно сомневаюсь, что Седна внутри работает с целыми деревьями XML... А размеры там действительно могут быть большие - недавно авторы засунули содержимое английской части Википедии (21 Гб) в Седну (см. http://xmlhack.ru/ и http://wikixmldb.dyndns.org/).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 16 Июнь, 2008 17:34 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4338
Откуда: Россия, Орёл
Кстати, наш 4-х метровый файл рендерер SVG входящий, в качестве примера, в AGG (http://antigrain.com/) так и не отобразил.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 16 Июнь, 2008 19:39 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4526
Откуда: Россия, Орёл
Борис Рюмшин писал(а):
Ну я сильно сомневаюсь, что Седна внутри работает с целыми деревьями XML...

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 10 Июль, 2008 11:26 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8196
Откуда: Троицк, Москва
на всякий случай...

Google предложил заменитель XML

Google 7 июля предложил всем желающим использовать язык Protocol Buffers, позволяющий описывать данные эффективнее, чем XML

Файл с данными в Protocol Buffers меньше XML-файла в 3-10 раз.

разбор этих данных .. быстрее в 20-100 раз.

В отличие от XML, Protocol Buffer не предназначен для чтения пользователем.
+ необходим отдельный .proto-файл, в котором определяется формат сообщения.

Protocol Buffers разработан в 2001 и используется самим Google практически везде, где требуется хранение структурированной информации.

2008-07-09


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 10 Июль, 2008 11:30 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4338
Откуда: Россия, Орёл
Info21 писал(а):
на всякий случай...
Google предложил заменитель XML

Спасибо, это важно (правда для другого). Источник: http://lenta.ru/news/2008/07/08/google/


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 10 Июль, 2008 11:33 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4338
Откуда: Россия, Орёл
Борис Рюмшин писал(а):
Info21 писал(а):
на всякий случай...
Google предложил заменитель XML

Спасибо, это важно (правда для другого). Источник: http://lenta.ru/news/2008/07/08/google/

Ещё сюда: http://code.google.com/apis/protocolbuf ... rview.html


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 10 Июль, 2008 11:54 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9161
Откуда: Россия, Орёл
Неплохой формат для сообщений - перманентности простых данных...
(НЕ для замены XML в информационных системах с серьёзными схемами данных).

Проще говоря, некоторый аналог BlackBox Stores.
Для передачи сообщений делали мы и свой подобный протокол в BlackBox...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 10 Июль, 2008 12:29 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2626
Откуда: Россия, Ярославль
Борис Рюмшин писал(а):
Борис Рюмшин писал(а):
Info21 писал(а):
на всякий случай...
Google предложил заменитель XML

Спасибо, это важно (правда для другого). Источник: http://lenta.ru/news/2008/07/08/google/

Ещё сюда: http://code.google.com/apis/protocolbuf ... rview.html


Гуглы активны в продвижении формата, сразу дают библиотеки для работы(Java, Python, C++) с форматом. "Берите, пользуйте готовое, привязывайтесь к формату Google..." Правильный подход.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 11 Июль, 2008 10:06 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4338
Откуда: Россия, Орёл
Пётр Кушнир писал(а):
Гуглы активны в продвижении формата, сразу дают библиотеки для работы(Java, Python, C++) с форматом. "Берите, пользуйте готовое, привязывайтесь к формату Google..." Правильный подход.

Это несомненно. Политика партии.

Однако, это дело всё равно о интересно. И знать о нём нужно. :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 20 Август, 2008 19:13 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 214
Откуда: Austria, Bruck
OFFTOP
Есть и еще интересный подход к описанию сложних структур данних и обработке этих самих данных - http://www.lua.org/pil/10.1.html
Похожий подход наверное можно реализовать и в ББ используя Meta


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 20 Август, 2008 22:51 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9161
Откуда: Россия, Орёл
Ничего особенного (для Луа) - это лисповые списки - S-выражения, как они называются в Scheme. :-)
Специально под них есть стандарт SXML, где XML Information Set отображается не в <>-теги, а в S-выражения.

СУБД Седна, кстати, может отдавать результат запросов как в том, так и в другом виде (если не ошибаюсь, то и ввели впервые эту штуку ребята из ИСП-РАНа - Дмитрий Лизоркин..).

http://en.wikipedia.org/wiki/SXML

У меня вот есть реализация S-выражений под ББ (правда, я брал за образец не Лисп, а Рефал, но это полностью изоморфно) - и собираюсь их использовать для работы с XML/XQuery.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 13 Апрель, 2010 09:39 

Зарегистрирован: Вторник, 13 Апрель, 2010 09:24
Сообщения: 1
Прикреплено к существующей теме

от неё требуется
хранение этого в читаемом файле
произвольный доступ к любому элементу (нечто вроде Xpath)
НЕ смертоносные требования к памяти

Помогите, плиз!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 13 Апрель, 2010 09:51 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9161
Откуда: Россия, Орёл
http://zinnamturm.eu/downloadsTZ.htm#Xmlcore


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 10 Июнь, 2010 16:44 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4526
Откуда: Россия, Орёл
Создал ветку 1.6/Xmlcore
svn log писал(а):
------------------------------------------------------------------------
примеры: показ дерева xml-документа (реализация базировалась на соотв. процедурах из XmlcoreObxXml)
------------------------------------------------------------------------
добавлено понимание русских букв в XmlcoreScanner.Scanner.ScanNm
------------------------------------------------------------------------
Распакован Xmlcore, загруженный с Cpc (Release 15-Apr-2009): http://zinnamturm.eu/downloadsTZ.htm#Xmlcore


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 12 Июль, 2010 13:21 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
У меня такой вопрос: можно ли использовать компонент Xmlcore в виде скомпилированной библиотеки?

Если да, то
  1. Сколько будет она "весить" (PE/ELF)?
  2. Есть ли внешние зависимости?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 12 Июль, 2010 13:47 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2932
Откуда: г. Ярославль
А ЗАЧЕМ?

Xmlcore для среды BlackBox. Если xml нужен отдельно от ББ - таких библиотек навалом.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 12 Июль, 2010 15:08 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
По сути, мне нужно даже подмножество XML для хранения настроек программы и поэтому требуется компонент для Оберон-2 или библиотека малых размеров с описанием интерфейса на Обероне-2/КП. Библиотеки С/С++/Java нудно переводить, желательно готовые компоненты.

Что можешь посоветовать?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 75 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB