Вы здесьЗа что я ненавижу XML
Опубликовано вс, 08/11/2009 - 20:32 пользователем larin
Наконец-то я смог сформулировать, за что я ненавижу XML. В применении к книгам, очевидно - прочие использования этого незаконнорождённого отпрыска пьяной макаки и запаршивевшего верблюда меня волнуют мало, хотя встречаться с конфигами, где ради одного значения надо написать четыре вложенных тега по полсотни символов тоже удовольствия мало. Да и типичный вебсайт по сути своей от книги мало отличается, а чисто флэшевые поделки лично мне не интересны.
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
Aliki RE:Подайте бедному копеечку на книжку с литреса... 16 часов
laurentina1 RE:Ирина Александровна Велембовская - Немцы 1 день Саша из Киева RE:Кто сможет раздобыть и оцифровать нужные мне книги? 4 дня Саша из Киева RE:Избранное 1 неделя Alligatoreader RE:Багрепорт - 2 1 неделя fedor.de RE:Отображение страницы Librusek 1 неделя Isais RE:Чиполь Сергеевич Наглецов - Огненный дракон [СИ] 1 неделя kopak RE:Таинственная личность админа Флибусты 2 недели blahblahblah2024 RE:Беженцы с Флибусты 2 недели sem14 RE:Что читать о блокаде Ленинграда. Подборка книг 2 недели sem14 RE:Михаил Юрьевич Берг - Андеграунд. Итоги. Ревизия_5 3 недели TaKir RE:Валерия Сергеевна Черепенчук А. Н. Николаева - Мифы... 4 недели Oleg V.Cat RE:B343695 Александр. Книга 1 4 недели Isais RE:Калибрятина/Самиздатина 1 месяц md2k15 RE:Относительно Вархаммер 40 000 1 месяц tvnic RE:"Коллектив авторов" 1 месяц SergL197 RE:Регистрация 1 месяц ejik.v RE:Viva Stiver! 1 месяц Впечатления о книгах
S@iRus про Иноходец (Рымжанов)
01 12 У меня сложилось такое же впечатление, как и у Олега, о данной серии.
андрей169 про Шалашов: Господин следователь 1 [СИ] (Альтернативная история, Исторический детектив, Попаданцы, Самиздат, сетевая литература)
29 11 Забавная книга. Мне лично зашло хорошо. С продолжением обязательно ознакомлюсь. Оценка: хорошо
udrees про Баковец: Не тот господин 3 (Порно, ЛитРПГ, Самиздат, сетевая литература)
29 11 Книга строго для отдыха мозгов, тем кому нравится читать про влажные подростковые фантазии про гарем, воплощенные в реальность, и сексуальные подвиги, перемешанные с фэнтези. Герой настолько крут, что особо не заморачивается ……… Оценка: неплохо
udrees про Михайлов: Без пощады. Книга 3 [СИ] (Боевая фантастика, Космическая фантастика, Самиздат, сетевая литература)
29 11 Последняя книга из серии, но не последняя книга про месть киборга Вертинского. Написано в том же стиле, что и предыдущие книги. Описание во многом уделено экшену, поэтому всегда держит в тонусе, сражения, драки, убийства и ……… Оценка: отлично!
lukmak про Сочинения Иосифа Бродского в 7 томах
29 11 Бродский - гений. А кто его не понимает - что ж... Он непрост. Но, ребята, если вы его не понимаете - может, это ваша проблема?.. И пиндосы тут ни при чём.
nik_ol про Донцова: Амур с гранатой (Иронический детектив, Детективы: прочее)
27 11 Конечно, я рада, что книги Донцовой выходят и выходят, но неужели, если она сама их пишет, то не помнит, что «старичок» был не Коробков, а Гри, её первый муж, до Ивана в этой серии?! Или всё-таки литературные негры клепают?! Оценка: неплохо
neletay про Котов: Ценитель [СИ] (Городское фэнтези, Самиздат, сетевая литература, Приключения)
27 11 Прочитала только несколько первых глав - и уже очень, очень нравится. Нравится все - сюжет, стиль, язык, ГГ, а также автор, который за всем этим видится. С удовольствием читаю дальше, надеюсь не разочароваться.
Lan2292 про Ермаков: Май, весна и апокалипсис. Книга 1 (Боевая фантастика, ЛитРПГ, Самиздат, сетевая литература)
27 11 Так себе чтиво, но не скучно. Оценка: неплохо
Chernovol про Коровин: После «Украины» (Политика, Публицистика)
25 11 Интересно, такие книги кто-то покупает или их бесплатно раздают. Оценка: нечитаемо
sem14 про Лазарис: Белая ворона (Историческая проза)
25 11 Леонид Гомберг 24 июля 2007 Роман известного в Израиле прозаика, поэта и переводчика Владимира Лазариса «Белая ворона» (Тель-Авив: Ладо, 2003) в этом году был включен в «лонг-лист» популярной премии «Букер». И это ……… Оценка: отлично!
decim про Осне Сейерстад
25 11 Попробовала бы Сурайя-реис не подать в суд! Муж бы убил. "Для контекста добавлю, что после публикации книги семья героя подала на Сейерстад в суд за клевету, но после апелляции писательница была признана невиновной, а через ………
tvv про Кич: Большой дом [СИ] (Ужасы, Мистика, Фанфик, Юмористическое фэнтези)
24 11 Совершенно замечательное "Оккультное Простоквашино". |
Комментарии
Отв: За что я ненавижу 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
Теги наверное в движках поисковых используются, там обычно все на плугинах.
Страницы