Вы здесьЗа что я ненавижу XML
Опубликовано вс, 08/11/2009 - 20:32 пользователем larin
Наконец-то я смог сформулировать, за что я ненавижу XML. В применении к книгам, очевидно - прочие использования этого незаконнорождённого отпрыска пьяной макаки и запаршивевшего верблюда меня волнуют мало, хотя встречаться с конфигами, где ради одного значения надо написать четыре вложенных тега по полсотни символов тоже удовольствия мало. Да и типичный вебсайт по сути своей от книги мало отличается, а чисто флэшевые поделки лично мне не интересны.
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
babajga RE:Народные сказки - Сказки народов Сибири = Fairy-Tales of... 2 часа
nehug@cheaphub.net RE:Багрепорт - 2 14 часов Саша из Киева RE:Кто сможет раздобыть и оцифровать нужные мне книги? 23 часа Kiesza RE:Бушков умер. 1 день sibkron RE:Серия "Библиотека французской литературы" (Макбел) 1 день sem14 RE:Книжная серия "Жизнь в искусстве" издательство "Искусство"... 1 день нэнси RE:Подайте бедному копеечку на книжку с литреса... 2 дня Isais RE:Игорь Северянин - Том 2. Поэзоантракт 1 неделя sem14 RE:Современная корейская литература. Книжная серия... 1 неделя sem14 RE:Семейственность в литературе 1 неделя Isais RE:Детство, опаленное войной (Вторая мировая 1939-1945 и ВОВ) 2 недели kopak RE:На 78-м году жизни скончался советский и российский... 4 недели Саша из Киева RE:Подводное течение 1 месяц lemma7 RE:Серия «Интеллектуальный детектив» изд-ва АСТ 1 месяц konst1 RE:Переименовать ник (имя учетки) 1 месяц Larisa_F RE:Таррин Фишер 1 месяц Aleks_Sim RE:Беженцы с Флибусты 1 месяц Саша из Киева RE:Как приобретать друзей и оказывать влияние на людей 1 месяц Впечатления о книгах
peterabotnov про Серж Винтеркей
07 10 Винтеркей С., Шумилин А. «Ревизор - возвращение в СССР» Мне понравилось. Прочитал другие комменты, большинство ругают. А я сам на волне прочтения серии с ностальгией вспоминаю СССР. Возможно, что авторы понапридумывали, ………
Дей про Частный детектив второго ранга
07 10 Надеюсь на продолжение. Из минусов - говорящий кот (ну реально, сколько можно-то?). Но кот практически ни во что не вмешивается. Плюсы - особых плюшек ГГ не отсыпано. Ни магии, ни богатства, ни титула. При этом он ………
MERLINA2010 про Поляков-Катин: Эпицентр (Шпионский детектив, Современная проза)
07 10 Третью книгу трилогии "Цепная реакция" хочется прочитать. Оценка: отлично!
Sello про Доде: Том 2. Рассказы по понедельникам. Этюды и зарисовки. Прекрасная нивернезка. Тартарен из Тараскона (Классическая проза)
07 10 Перелопатил столько классики за годы жизни, а вот до Доде руки (глаза, вернее) не доходили. И как-то не воодушевился я от написанного - привычно можно сослаться на перевод, мол, не шибко он удачный. Но, кажется, дело в другом. ……… Оценка: неплохо
obivatel про Граф Суворов
06 10 Очень интересно. Больше всего понравилось описание власти как сложной системы; при этом удалось избежать скучного изложения, что обычно встречается у увлеченных темой людей; в результате получилось довольно завлекательно и ………
mysevra про Окер: Проклятые вещи. Истории о самых печально известных предметах [Cursed Objects ru] (Научпоп)
06 10 Стиль, конечно, блогерский: сжато, поверхностно, с хахоньками, «время прочтения – 3 минуты», чтобы читатель, не дай боже, не переутомился. Короче, спасибо за подборку и за иллюстрации, дальше можно уже самому найти об интересующих объектах.
mysevra про Гюнтекин: Птичка певчая [Çalikuşu ru] (Исторические любовные романы)
06 10 У меня сложилось впечатление, что лучшие романы о женщинах пишут мужчины:) Ярко выписаны быт и местный менталитет, что особо подкупает.
mysevra про Миллман: Путь мирного воина. Книга, которая меняет жизнь (Эзотерика)
06 10 Интересно, что при повторном прочтении обнаруживаешь массу нового. Необычная книга. Или просто я была невнимательна.
tvv про Краулет: Высокий замок (Фэнтези, Боевик, Попаданцы)
04 10 На АТ восемь томов в свободном доступе.
obivatel про Воронцов. Перезагрузка
03 10 Автор слабо представляет себе жизнь начала 19 века. О крестьянстве, видимо, представление из позднесоветских фильмов, где добрый в расстёгнутой рубахе барин целеустремленно бежит за упитанной счастливо хохочущей крестьянкой, ………
Belomor.canal про Свечин: Секретные люди [litres] (Исторический детектив)
02 10 Отлично написанная история начала 1 мировой от секретных лиц Лыковых- Нефедьевых. Действие одновременно происходит на западном и южном фронтах столица. Масса малоизвестных фактов о ключевых фигурах того времени! Похоже ……… Оценка: отлично!
kgadeanj про Майзелис: Шахматы. Самый популярный учебник для начинающих [8-е издание] (Образовательная литература, Спорт)
02 10 Много опечаток и ошибок, умудрились перепутать подписи к диаграммам. Пропала часть главы про дебюты, а часть еще переписана. Лучше читать издание 60 года. Оценка: плохо |
Комментарии
Отв: За что я ненавижу XML
Отв: За что я ненавижу XML
Сдается мне - это скорее недостатки редакторов FB2, чем формата xml или fb2.
XML - далеко не лучший формат, но кажется что трудно выдумать, что-то принципиально лучшее, потому что или форматирование будет описываться отдельным блоком или внедрено в сам текст. Отдельным блоком - это тоже мало куда годится, чуть какая ошибка и всё поехало. Если в самом тексте, значит в любом случае могут иметь место ситуация по типу & в середине. Хотя бы в книге, описывающей работу с таким форматом :)
Понимать, что тег тут может быть или не может должен не парсер, а редактор. А вот, то что на практике проще всего в обычном редакторе копипастить в структуру fb2 - вот это уже и есть недостатки работы с fb2, но при чем тут сам xml.
Отв: За что я ненавижу XML
Как-бы, безосновательный треп. XML - штука ценная и очень удобная, с помощью которой можно легко описывать любые объекты, причем делая это в удобочитаемом виде. Можно, конечно, битовые флаги выставлять напрямую и вообще забыть про всякие w_char, UTF и прочие удобства. Каждому своё.
Проблема данная сугубо в парсере приложения находится. По спецификации на XML служебные символы должны быть экранированы, если используются, как данные. Использование блока CDATA для каждого чиха не есть хорошо, но вот обрамлять служебные символы банально специальным тегом и написать правило интерпретации для парсера, суть правильно. Получится что-то вроде & и целый один маленький handler для обработки этого тега, который надо будет потом всего-лишь зарегистрировать у парсера. Интерфейсная часть у всех реализаций должна быть унифицирована, так что проблем с этим я не вижу.
Отв: За что я ненавижу XML
Хорошо теоретикам - они проблем не видят.
Отв: За что я ненавижу XML
Нет никакой проблемы. Вы просто подняли шум на ровном месте, как мне кажется из-за обычной лени. Напишите handler для парсера или переопределите методы парсера, который Вы используете, или, если ООП для Вас суть лес темный, сделайте пре и пост обработки текста для экранирования/разъэкранирования служебных символов. Вариантов явно больше одного ^_^
Может за Вас написать, если Вы такой немощный?
Отв: За что я ненавижу XML
А напишите. Во всех читалках, парсерах, редакторах и конвертерах. Коли Вы такой мощный.
Отв: За что я ненавижу XML
Напишите, буду рад.
Или поправьте имеющийся - http://github.com/larin/librusec/blob/master/parser.inc.
Отв: За что я ненавижу XML
Текст значительно более устойчив к ошибкам и искажениям. Если в каждом слове будет по две опечатки, я все равно смогу текст прочитать и поправить. Ошибки в оформлении исправить как правило невозможно.
Отв: За что я ненавижу XML
А попробуйте поменяйте наугад выбранный байт в PDF или DOC файле. Результат почти наверняка будет тот же - не загрузится. Причем в отличие от XML, вручную такой файл уже не починишь.
То есть единственный формат, который БОЛЕЕ помехоустойчив, чем XML - это plain text. Все остальные гораздо, гораздо хуже. А при этом XML абсолютно неограниченно расширяем по семантике, легко читается и пишется на любом языке. Ценой за все это - необходимость escap'ить всего ДВА символа, угловую скобку и амперсанд. С ТеХом или Постскриптом никакого сравнения - вот там действительно черт ногу сломит, любой символ может значить что угодно в зависимости от контекста. А XML создавался как идеальный компромисс простоты и богатства возможностей - и этого идела он достиг. (За исключением DTD - вот за них действительно стоит надавать создателям по ушам; но причины тут больше исторические, слишком резкий разрыв с SGML тогда бы не прокатил.)
Я помню, каким был мир текста до появления XML и Unicode. Я бы не хотел туда возвращаться, спасибо.
Отв: За что я ненавижу XML
Не надо никуда возвращаться.
Надо двигаться дальше.
Отв: За что я ненавижу XML
А вот куда? Поделись идеями.
На счет XML-я вообще и fb2 в частности я с тобой не согласен. Грибов с Мацневым сделали, для своего времени, достаточно революционную штуку (правда, как водится, революция произошла в одной, отдельно взятой стране). Достоинства схемы fb2 с головой перевешивают все ее недостатки. Количество книг в fb2 и электронных библиотек, базирующихся на fb2, подтверждают это фактически.
Мне не понятно, как и куда двигаться дальше без XML. Понятное дело, схему нужно (и давно нужно) модифицировать и развивать, возможно, файл декомпозировать (как в epub и драфте fb3, хотя там есть свои минусы), но вот что делать без структурной и логической разметки? В лучшем случае, у тебя получится самопальный недо-XML, в худшем - гмм...
Кроме того, любой, самый распрекрасный, в теории, формат, без читалок (софтовых и железных), редакторов, библиотек, каталогизаторов - nothing.
Отв: За что я ненавижу XML
Отв: За что я ненавижу XML
Поддерживаю, отличный вроде бы формат.
Но почему то никто здесь (включая автора nfb) не хочет про него вспоминать. Заговор какой-то.
На всякий случай дам ссылочку:
http://lib.rus.ec/node/121665#comment-32133
Отв: За что я ненавижу XML
никакого заговора нет. есть банальная человеческая лень.
как заметил выше Илья, каждый буратино сам себе враг. вот и я, после года активных и не очень изысканий, дописал спецификацию, начал писать редактор, после чего был благополучно задавлен бытовухой (ремонт в доме), и дебильной работой (1С - зло).
уговариваю себя возобновить работу над nfb, но пока безрезультатно :(
Отв: За что я ненавижу XML
если откровенно, то до того момента, как можно будет говорить о новом формате, для него должны быть написаны не только редакторы и читалки, но и библиотеки, аналогичные libxml2, чтобы кодеры на php не изобретали велосипеды, а могли использовать готовое работающее решение.
всего делов-то взяться, и сделать...
Отв: За что я ненавижу XML
Вызывающе неверная информация.
ТеХ прост и логичен, с точки зрения поиска ошибок однозначно приятнее XML.
Явление временное.
Только до тех пор, пока лично не придётся ручками поковыряться в [хотя бы средне-сложном] конфиге, написанном для простоты парсинга на XML.
Отв: За что я ненавижу XML
Видите ли, в чем дело...
Я с ТеХом работал много лет. Профессионально работал, чужие файлы для публикации готовил. Прошло через меня этих файлов - сотни. Проблем решено с ними - тысячи.
Знаю, что говорю.
Но чем рвать рубашку на груди, приведу один только фактик. Лучшие умы ТеХовского мира много-много лет назад начали работу над LaTeX 3. Результата нет до сих пор и, очевидно, уже не будет. Почему? Да потому что трудно. Слишком замороченная вещь этот ТеХ, чтобы писать на нем нормальный софт. Создание безумного гения, невероятно крутое для своего времени (конец 70-х), но сейчас вся эта его крутота, хитрозаверченность и оптимизированность уже как кость в горле. Все меньше желающих биться головой об стену и решать задачи уровня всесоюзной олимпиады по программированию только для того, чтобы добавить какой-нибудь несчастный счетчик. И интерес постепенно угас. Лучшие умы разбрелись кто куда. Ушел и я, как только появилась возможность более-менее нормально верстать книги в XML.
LaTeX 2e - это последняя остановка, дальше поезд идет в депо. Использоваться в почти неизменном виде он будет еще очень долго, конечно; будут и живые побеги появляться. Но в целом - это труп. Увы.
Что же касается конфигов в XML - так это же просто мечта, если руки из правильного места растут. Не нужно писать свой парсер со своими багами, а нужные значения ищутся одной строчкой на правильном языке XPath. Причем ищутся как угодно - хоть по разделам, хоть по уникальным ID, хоть еще как. Есть, конечно, мазозисты - XPath не знают, бродят по дереву ножками, спотыкаясь и матерясь на каждом шагу, да еще и "парсер" свой собтственный норовят изобрести. Ну так что с такими поделаешь? Просто нужно подождать, пока естественный отбор нас от них избавит.
Отв: За что я ненавижу XML
Мечта программиста, пишущего софт. Думать не надо, всё сделает парсер.
И страшный сон пользователя, оный софт конфигурируещего. Продираться через этот весь бред. Текстовым редактором, xml редакторы не завезли.
Если пользователей у программы меньше, чем разработчиков модуля чтения конфигов - прекрасно. Для таких программ XML cамое то. Ваш случай?
А если больше - то как-то без XML лучше. Вот, к примеру, nginx обходится своим форматом, намного более удобным. И мускул обходится. И много кто ешё.
Отв: За что я ненавижу XML
nginx, говорите?
Нус, нагуглил первое попавшееся:
http://brainspl.at/nginx.conf.txt
Вот уж бред так бред! Представляю, сколько надо мануала читать, чтобы это все в подкорку въелось, сколько попыток и матерщины. Конфиг файл - с точками с запятой! со скобками фигурными! с ифами и брейками!!!
Нет уж, спасибо, XML как-то попроще будет, знаете. Даже если я ничего не знаю о программе, по ее XML-конфигу хотя бы ясно, что там есть и что чему подчинено. И исправить его я смогу, _с гарантией_ не поломав, потому что правила синтаксиса XML можно пересчитать по пальцам одной руки. Конфиг нгинкса, наоборот, я при первой попытке исправить почти с гарантией поломаю.
Отв: За что я ненавижу XML
У нас разное представление о простоте.
По мне
server {
server_name lib.rus.ec;
location / {
root /www;
}
}
выглядит заметно аккуратнее и удобнее, чем
<SERVER>
<SERVER-NAME>lib.rus.ec</SERVER-NAME>
<LOCATION mask="/">
<ROOT>/www</ROOT>
</LOCATION>
</SERVER>
Сама идея именовать закрывающие скобки, удваивая практически объём текста, который надо читать, достойна всяческого осуждения. Как и паталогическая любовь к лишним кавычкам.
Чем меньше букв надо прочитать - тем быстрее читается и понимается конфиг, тем проще в нём ориентироваться. Даже странно что такие простейшие вещи приходится разжёвывать.
Если для разметки текста XML неудобен в силу некоторых ошибок реализации не слишком удобен, то для конфигов он непригоден категорически. К счастью, большинство серьёзных программистов это понимают и XML-конфиги встречаются нечасто.
Отв: За что я ненавижу XML
Отв: За что я ненавижу XML
Неприятный, но не основной. Не единственный. Да и то - во всех практически языках закрывающая скобка - одни символ. А тут можно было уложиться в три, да и то недодумались. Недоумки.
Много их, неприятных моментов.
Слишком много.
Наберут птушников, сляпают на коленке, а нам мучаться.
Отв: За что я ненавижу XML
чушь какая, во первых определитесь: Вы действительно в "голом" TeX верстаете? Или все таки используете LaTeX? Что в нем неудобного то?
Язык TeX и его компилятор _официально_ заморожены. LaTeX развивается, что конкретно в нем не устраивает не прозвучало... я так полагаю не осилили написание стилевых файлов? Ну так не Вы один не осилили.
(La)TeX с стилем "fb2" лучший fb2 :) Ну зачем реализовать все то что уже реализовано? Конвертацией даже некую совместимость можно обеспечить со старыми читалками. Например в графику засовывать все новые изыски которые старые версии формата не поддерживают.
Отв: За что я ненавижу XML
Ха.
Я еще раз повторяю: я верстал ЧУЖИЕ файлы. И там был полный зоопарк: и все виды латехов, и плейн, и АМС, и черт в ступе. Все это заставлять не просто верстаться, а приводить к общему стилю - врагу не пожелаешь. Стилевик у нас свой был, разумеется, но это не спасает, потому что в ТеХе в принципе нет никакой валидации или инкапсуляции, и никто не может помешать автору написать \documentclass и сразу после начать извращаться с голыми регистрами и низкоуровневыми шрифтами. Что большинство из них и делало.
То, что некоторые части теховского мира "заморожены", типа помогает. Слегка. Представляю, какая была веселуха, когда они еще не были заморожены.
Отв: За что я ненавижу XML
Надо было отдавать пользователям свой стилевой файл с примером скелетона статьи в сборник.
Даже если приходит что то не вразумительное, его можно просто переверстать выкинув все изыски автора. Получить чистый текст элементарно просто.
Мы обсуждаем случай когда книга _целиком_ переводится в электронный вид. Все ужасы описанной не совместимости не очень то актуальны.
Кроме того художественная литература имеет примитивнейшую верстку. А сложные случаи химии и музыки сейчас вообще невозможны к просмотру на читалках имеющих умеренную цену и в имеющихся форматах типа fb2.
Отв: За что я ненавижу XML
Отв: За что я ненавижу XML
http://www.jrapublish.com/help/Appendices/Embedding_Metadata.htm
Appendix F - Embedding Metadata in DjVu Files
Introduction
JRAPublish™ introduces a standard architecture for embedding metadata in DjVu files.
Metadata is information about documents, stored in individual data fields. These fields define, classify and categorize the documents. Historically these data fields have resided in databases, apart from the documents themselves. JRAPublish™ allows you to embed the data fields directly into DjVu documents, making them portable. In other words, they "take their metadata with them".
Each document format has its own structure for storing embedded metadata. For example, HTML has Metatags and PDF has the DocInfo field dictionary. The DjVu file format lacks a formal metadata structure, but the open architecture of the DjVu format permits us to create our own standard for metadata storage "inside" DjVu files.
The purpose and benefit of storing metadata in the DjVu file structure is that it will not be lost (left behind) during INDIRECT <-> BUNDLED conversions, as well as when downloading a DjVu file with the DjVu web browser plug-in. Because metadata is an integrated part of the DjVu file, the DjVu file is portable, as it "carries" its metadata with it at all times. As a result, for example, a DjVu file can be downloaded from the web and re-indexed on the desktop or on CD and the metadata will still be present. We call this form of metadata storage "Embedded Metadata".
In our standard architecture, metadata fields are stored with tag delimiters. For example, this document in the DjVu format has title, author and date fields that are expressed and stored as:
teg title teg Metadata Storage for DjVu files teg слешь title teg
teg author teg John Smith teg слешь author teg
teg date teg 20011204 teg слешь date teg
Metadata is stored in our standard architecture at three levels: document-level, shared-page-level and page-level.
Отв: За что я ненавижу XML
Ты не умничай, ты пальцем покажи - где мне в при создании djvu жанр вписать?
Отв: За что я ненавижу XML
ну как то так:
djvutoxml файл.djvu > out.xml
в OBJECT первой странице
METADATA value="xxxxxxx" name="xxx"
djvuxmlparser ./out.xml
теперь если запросить djvutoxml файл.djvu в выводе доступны поля заданные нами в первой странице.
Отв: За что я ненавижу XML
есть тонкость (авторы похоже на эти конкретно утилиты забили откровенно :))) )
работает djvused ./djvu_with_xmp_final.djvu -e ' print-meta'
для того что бы увидеть ключи из коммандной строки
Author "Phil Harvey"
Title "DjVu Metadata Sample"
Subject "ExifTool DjVu test image"
Creator "ExifTool"
CreationDate "2008-09-23T12:31:34-04:00"
ModDate "2008-11-11T09:17:10-05:00"
Keywords "ExifTool, Test, DjVu, XMP"
Producer "djvused"
note "Must escape double quotes (\") and backslashes (\\)"
Trapped "Unknown"
annote "Did you get this?"
url "http://owl.phy.queensu.ca/~phil/exiftool/"
а что бы поставить меняют на -e ' set-meta ./metafile' -s
в metafile
лежит список тегов разделенных от их значений табуляцией
значения могут быть в utf8
то есть допустима строчка в ./metafile:
janre tabляция "Детектив"
Отв: За что я ненавижу XML
Где используется ?
Отв: За что я ненавижу XML
Теги наверное в движках поисковых используются, там обычно все на плугинах.
Страницы