Информационный портал
pocket versionPOCKET  wikiWIKI  FAQFAQ  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  ПрофильПрофиль  Войти и проверить личные сообщенияВойти и проверить личные сообщения  ВходВход

Обложка, автор, название книги
На страницу Пред.  1, 2, 3, 4, 5
 
Найти сообщения без ответов
Начать новую тему   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов www.fictionbook.org -> Основы формата FB
Предыдущая тема :: Следующая тема  
Автор Сообщение


GribUser
Автор формата FB2 - Автор библиотеки FB

Автор формата FB2 - Автор библиотеки FB

Зарегистрирован: 30.09.2004
Сообщения: 2475
Откуда: Москва

СообщениеДобавлено: Пт Мар 09, 2007 22:05    Заголовок сообщения: Ответить с цитатой

Чесгря написание обработки идущих непоследовательно тегов требует сильно меньше кода, чем настучали по этому поводу букф этом топике. Ну косяк небольшой в формате, ну да. По сравнению с разбором того же rtf это просто детский лепет, а не проблема.
Не проще сделать уже workaround, занести в мемориз "напомнить им перед выпуском третей версии о косяке" и закрыть вопрос?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора


Alan
Автор ридера Alreader и клона Haali


Зарегистрирован: 25.01.2005
Сообщения: 421

СообщениеДобавлено: Пт Мар 09, 2007 22:34    Заголовок сообщения: Ответить с цитатой

Цитата:
Чесгря написание обработки идущих непоследовательно тегов требует сильно меньше кода, чем настучали по этому поводу букф этом топике


... и сильно больше, для организации возможности правки текста того же самого фб2 при условии, что текст на экране и в файле идет в разной последовательности.

Цитата:
Не проще сделать уже workaround, занести в мемориз "напомнить им перед выпуском третей версии о косяке" и закрыть вопрос?


ну так занеси в туду и закрывай тему.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Admin
Администратор информационного портала FB

Администратор информационного портала FB

Зарегистрирован: 11.06.2004
Сообщения: 1610
Откуда: Воронеж

СообщениеДобавлено: Пт Мар 09, 2007 23:43    Заголовок сообщения: Ответить с цитатой

Понятно, в смысле, что твой моя не понимает.
Про древовидность или, если смущает мой термин, про treeview. В качестве ликбеза.
Все xml (да-да, форма, никто другое и не утверждает) - это текстовые документы. Все схемы, ее описывающие - это tree. Это к вопросу неадеквантности модели. Теперь книги. Все книги состоят из собственно книги, которая может делиться на тома, которые в свою очередь могут делится на части, которые делятся на главы, которые делятся на параграфы, которые делятся на структурные элементы типа формата. А это ничто иное, как дерево. Я не могу утверждать, что ридер должен обязательно парситься. Просто, для того, чтобы это утверждать, надо по крайней мере написать ридер, с использованием какого-либо парсера и доказать его живучесть.
Но с другой стороны обрабатывать документ, как xml, если он написан в форме xml - нет ничего более естественного. Гланды надо выдирать через горло. Что касается редакторов и библиотекарей - здесь, несомненно, надо работать только через DOM. Потому что легко, быстро и эффективно.
Что касается явы, дотнета и ООП, КОП, других новых платформ, то я встречал людей, которые считали себя крутыми программерами на том основании, что не признавали ничего, кроме, ассемблера и низкоуровнего С. Причём языками высокого уровня не пользовались принципиально, даже когда это было оправдано. Что скажешь - сами себе буратины. Надеюсь, ты не из таких. Но хочу заметить, что ява и, особенно, дотнет
обладают замечательными свойствами, которые, при их использовании позволяют создавать эффективные платформонезависимые программы. И иронии в адрес этих языков я не понимаю. Другое дело, что надо знать, где и когда какой язык и платформу применять.
Я не призываю тебя все бросать, и писать ридер через парсинг. Как тебе нравится, так и пиши. Они существуют и все мы ими пользуемся. Я, например, использую твой клон хаали. Более того, если не хочешь парсить дескрипшн, я думаю Дима поправит дескрипшн, чтобы его проще было использовать без парсинга, разумеется до той степени, чтобы не нарушить логику и удобство работы с библиотекой.
Но я не услышал, почему нельзя пропарсить дескрипшн и на этапе чтения сформировать обложку и титульный лист используя простой механизм доступа к элементам, причём вне зависимости от их местоположения в description.
Памяти много не понадобится, на быстродействие тоже особо не скажется...
Но спор, с одной стороны человека, не признающего стандартные методы работы с xml (видимо принципиально?) и желающего видеть документ в состоянии, близком к html, а с другой стороны человека, не пытавшегося написать ридер теряют смысл до тех пор, пока первый не научиться пользоваться схемой Smile или второй не напишет ридер с парсингом.
Так шта....

Добавлено спустя 8 минут 50 секунд:

Последние два сообщения, когда писал, не видел, оказывается уже договорились.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


Alan
Автор ридера Alreader и клона Haali


Зарегистрирован: 25.01.2005
Сообщения: 421

СообщениеДобавлено: Сб Мар 10, 2007 1:00    Заголовок сообщения: Ответить с цитатой

Цитата:
Причём языками высокого уровня не пользовались принципиально, даже когда это было оправдано. Что скажешь - сами себе буратины. Надеюсь, ты не из таких. Но хочу заметить, что ява и, особенно, дотнет
обладают замечательными свойствами, которые, при их использовании позволяют создавать эффективные платформонезависимые программы.


именно. при условии очень ограниченного времени на реализацию при условии отсутствия требований на быстродействие и памятижерство - всем радам цены нету и там они очень оправданы. Во всех других случаях им нет места.

Цитата:
Все книги состоят из собственно книги, которая может делиться на тома, которые в свою очередь могут делится на части, которые делятся на главы, которые делятся на параграфы, которые делятся на структурные элементы типа формата. А это ничто иное, как дерево


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

Цитата:
чтобы его проще было использовать без парсинга


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


Admin
Администратор информационного портала FB

Администратор информационного портала FB

Зарегистрирован: 11.06.2004
Сообщения: 1610
Откуда: Воронеж

СообщениеДобавлено: Сб Мар 10, 2007 11:20    Заголовок сообщения: Ответить с цитатой

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

Естесственно, я имел ввиду парсинг xml (обработка нодов и рекурсия по дочерним элементам), хотя понимаю, что лексический анализ - это тоже парсинг.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


Alan
Автор ридера Alreader и клона Haali


Зарегистрирован: 25.01.2005
Сообщения: 421

СообщениеДобавлено: Сб Мар 10, 2007 12:30    Заголовок сообщения: Ответить с цитатой

Цитата:
я имел ввиду парсинг xml (обработка нодов и рекурсия по дочерним элементам),


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

Кстати такая каша в той же терминологии, вполне возможно, является следствием использования "стандартных средств работы с хмл"... просто нет необходимости представлять как именно что может работать - зачем, указал имя файла, получил дерево... Отсюда и возникает разница - типа "парсинг хмл и лексический анализ" или "обработка хмл без парсинга"... Если будет время (и желание, естественно), можно просто на бумаге нарисовать кучу квадратиков и представить, что нужно для того, чтобы корректно разобрать ту же структуру фб2 на составляющие. Если получиться - станет ясно, что парсер хмл и лексический парсер (воспользуюсь этими определениями:)) - суть одно и то же. И там и там исходный массив разбивается на теги (лексемы) и получается какое-либо представление о всей структуре. Разница только в одном - можно сразу приводить хранящиеся структуры к виду, максимально готовому для вывода на экран, а можно хранить промежуточное дерево, которое потом разбирается отдельно и подготавливается для вывода на экран. Вот и вся разница. В первом случае я сразу знаю, что (к примеру) аннотация - это параграф, который выравнивается вправо, в нем запрещен перевод слов и весь текст по умочанию идет курсивом (но я сразу теряю информацию о том, что это именно аннотация, а не скажем эпиграф, который может иметь точно такой же стиль вывода), а во втором я сначала запоминаю, что весь этот кусок называется "аннотация", а потом я при выводе вывожу кусок "аннотация" курсивом как параграф, выровненный вправо, с запрещением переноса слов. Так к чему это я - мне не хочеться внедрять в программу промежуточный и лишний уровень абстракции - я работаю с вполне конкретным типом хмл, мне не нужен универсализм и прочее для решения данной конкретной задачи. Именно с этой точки зрения перестановка двух каких-либо тегов местами - это по сути своей - введение лишнего уровня абстракции, пусть даже в виде всего лишь двух лишних переменных. Не говоря конечно о проблемах с правкой текста, которая работает именно основываясь на том, что текст на экране, раположен в файле в той же последовательности.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Admin
Администратор информационного портала FB

Администратор информационного портала FB

Зарегистрирован: 11.06.2004
Сообщения: 1610
Откуда: Воронеж

СообщениеДобавлено: Сб Мар 10, 2007 14:52    Заголовок сообщения: Ответить с цитатой

Ну не стоит так уж на основание неточности формулировок обвинять в не компетенции. Вся моя не компетенция сводится к тому, что я не знал (теперь догадываюсь), как ты обрабатываешь документ.
Что касается рисования квадратиков, то мне нет необходимости рисовать их, я написал в свое время работающий модуль парсинга fb2 (фактически оболочку для msxml, выполняющую необходимые для fb2 дополнительные функции), который Дима Пустовит использовал в своем Библиотекаре. Именно, fb2, а не xml, в котором можно взять (get) полный элемент, например, аннотацию со всеми стилями и использовать ее для дальнейшей обработки.
Что касается лексического парсера, то они бывают разные. В свое время я писал лексические парсеры, которые обрабатывали логи для получения той или иной информации, в частности для выставления счета за электронные письма полученные из зарубежья или России (в далекие времена, когда не было еще Интернет в том виде, что сейчас, за электронные письма надо было платить, причем цена зависела от страны, откуда оно пришло). Так вот, там не было никакой рекурсии (не нужна она была): поиск подстрок, приведение к виду, удобному для обработки биллингом.
Ладно, не буду цепляться за то, что аннотация это не параграф, их может быть и несколько. Хочу просто подвести итог, что когда была сброшена спесь Smile , выяснилось, что обработку документа мы понимаем одинаково. Разница лишь в том, что я работаю не в таких тесных условиях и использую для парсинга DOM и собственную оболочку, а тебе экономя время и место (что естесственно для мобильных устройств) приходится писать свой, но основанный на той же обработки дерева, и суть спора сразу улетучилась . Very Happy
Кстати, правка в DOM решается очень просто, на основе XPoint/XPath Very Happy
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


Alan
Автор ридера Alreader и клона Haali


Зарегистрирован: 25.01.2005
Сообщения: 421

СообщениеДобавлено: Сб Мар 10, 2007 15:23    Заголовок сообщения: Ответить с цитатой

Цитата:
Вся моя не компетенция сводится к тому, что я не знал (теперь догадываюсь), как ты обрабатываешь документ.


понятно... бестолку писал. Нет обработки "как ты" или "как я". Есть обработка тегов и разные варианты хранения полученных результатов. Сами по себе парсеры разбора исходного материала вполне адекватны и могут отлдичаться лишь в деталях.

Цитата:
Ладно, не буду цепляться за то, что аннотация это не параграф, их может быть и несколько


то же самое... аннотация - это параграф (или набор параграфов) на экране со своим стилем отображения. Несколько аннотаций - несколько параграфов (или несколько наборов). Это конечный результат. Все остальное зависит только от уровня лишних абстракций и, по сути своей, избыточно в случае если конкретный вариант хмл-я четко и полностью формализован, что, с незначительными расхождениями, мы и имеем в случае фб2.

Цитата:
Хочу просто подвести итог, что когда была сброшена спесь


мне тоже всегда казалось, что если при обсуждении книг не использовать обороты типа
Цитата:
Или мы не понимаем разницы между форматом разметки текста и форматом разметки структуры документа. Причем, заметьте, - древовидного формата
, то все будет гораздо проще и осмысленней. Рад, что ты тоже к этому пришел.

Цитата:
а тебе экономя время и место (что естесственно для мобильных устройств) приходится писать свой


мне не приходиться. мне нравиться писать такие парсеры. Весь алридер по своей сути полигон для таких экспериментов, чтение книг при этом - лишь задача, придающая какой-то материальный смысл проекту с одной стороны и совмещение двух хобби (второе - сам процесс чтения) в одно целое, с другой. Впрочем, это лирика, не имеющая отношения к теме.

Цитата:
Кстати, правка в DOM решается очень просто, на основе XPoint/XPath


я с радостью, для самообразования, выслушаю алгоритм правки непосредственно на реальном устройстве. Желательно сравнительный алгоритм (сравнительный - сравнивать по затратам памяти, бог с ним с процессором...)... Если не сравнивать по затратам, то да, вполне себе способ стрелять из пушки по воробьям, собственно, почему бы и не стрелять, ведь инструмент должен быть универсален и единообразен, что для танка, что для воробья:)))...

ЗюЫю
Цитата:
Ну не стоит так уж на основание неточности формулировок обвинять в не компетенции

Я, возможно к сожалению но, не знаю другого способа оценивать компетенцию человека, в общении с которым я могу читать только то, что он пишет. Кроме формулировок ничего вроде и нет... Можно конечно по изображению на аватаре, или по корреляции фазы луны и количества написанных сообщений, но...
Все же замечу, что обвинениями я не занимался, а лишь высказал предположение, в конце концов именно на этом форуме я как то раз с интересом прочел, что (не цитата, но смысл передан точно - выделения болдом - мои)
Цитата:
главный недостаток читалки, это то что ее автор не хочет разбираться со схемой
... А после того, что недостатком читалки является ее автор (да утрирую, но почему нет? Это вполне в традициях данного форума), мне очень нравиться предполагать... То же лирика... после прочтения можно потереть:))))

Добавлено спустя 7 минут 15 секунд:

Кстати по поводу правки и ее организации - если кому есть что сказать, наверное стоит открыть новый топик, тема все же очень интересная... Как точку опоры взять тот же существующий пока тестовый вариант алридера с правкой... Я сам правкой врядли когда займусь, может я что-то пропускаю в реализации из, кому-то, очевидного...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Admin
Администратор информационного портала FB

Администратор информационного портала FB

Зарегистрирован: 11.06.2004
Сообщения: 1610
Откуда: Воронеж

СообщениеДобавлено: Сб Мар 10, 2007 15:40    Заголовок сообщения: Ответить с цитатой

Alan писал(а):
мне нравиться писать такие парсеры

А мне нравится писать парсеры, используя всю мощь xml Laughing
Ладно, тема себя исчерпала, точки над i расставили. Закрываю.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


GribUser
Автор формата FB2 - Автор библиотеки FB

Автор формата FB2 - Автор библиотеки FB

Зарегистрирован: 30.09.2004
Сообщения: 2475
Откуда: Москва

СообщениеДобавлено: Сб Мар 10, 2007 16:13    Заголовок сообщения: Ответить с цитатой

И вот же не лень им бодаться... Twisted Evil
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов www.fictionbook.org -> Основы формата FB Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4, 5
Страница 5 из 5

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group