Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
GribUser Автор формата FB2 - Автор библиотеки FB
Зарегистрирован: 30.09.2004 Сообщения: 2475 Откуда: Москва
|
Добавлено: Чт Авг 18, 2005 12:16 Заголовок сообщения: |
|
|
Ээээ... Боюсь, что xsd не для этого. Там константы описаны, типа MB_OK, а уж расшифровке в xsd делать нечего. Вроде как. |
|
Вернуться к началу |
|
|
Admin Администратор информационного портала FB
Зарегистрирован: 11.06.2004 Сообщения: 1610 Откуда: Воронеж
|
Добавлено: Чт Авг 18, 2005 12:56 Заголовок сообщения: |
|
|
vvv писал(а): | Леш, ты опять все забыл Very Happy. Мы же вроде бы договорились, что надо делать более гибко, включив связку внутрь FictionBookGenres.xsd. Иначе при изменении/добавлении жанров в xsd получится путаница. И для библиотек с другой кодировкой жанров тоже будет бардак. |
То что я сделал - гибче не бывает. Есть жанры формата 2.0 - они действительно есть в библиотеке. Есть книги с жанрами формата 2.1 - текущего между прочим формата жанров, в котором готовятся все новые книги. Задача состоит в том, чтобы в локальной библиотеке правильно обозначать жанр. За основу берем формат 2.1. В том файле, что я тебе выслал, есть весь список жанров в обозначениях формата 2.1 и соответствуещее название на русском и английском языке. Кроме того, там есть связанная таблица соответствия жанров формата 2.0 - формату 2.1. Что еще надо? Читаем жанр, находим его в таблице 2.1 и , если есть - читаем название на русском или английском, если нет - смотрим жанр в таблице 2.0, находим соответсвующий 2.1 и далее тем же путем.
Изменение xsd ни к чему не приведет, так как есть он и для старого жанра и для нового. А описывать там оба формата не целесообразно, потому что без связанных таблиц не обойтись. Таблицы почти полностью соответствуют таблице Грибова на WIKI, только я там поправил одну-две неточности.
Есть еще свой формат жанров библиотеки Альдебарана, он индентичен текущему по содержанию, но имеет свои обозначения. Но мы готовим файлы в формате 2.1? поэтому не замарачивались. Если надо, то выложу эти таблицы в WIKI, но попозже. В принципе можно сделать и связанную таблицу для жанров Альдебарана. |
|
Вернуться к началу |
|
|
vvv Автор редактора BookDesigner
Зарегистрирован: 06.10.2004 Сообщения: 349
|
Добавлено: Чт Авг 18, 2005 19:28 Заголовок сообщения: |
|
|
Admin писал(а): | vvv писал(а): | Леш, ты опять все забыл Very Happy. Мы же вроде бы договорились, что надо делать более гибко, включив связку внутрь FictionBookGenres.xsd. Иначе при изменении/добавлении жанров в xsd получится путаница. И для библиотек с другой кодировкой жанров тоже будет бардак. |
То что я сделал - гибче не бывает. Есть жанры формата 2.0 - они действительно есть в библиотеке. Есть книги с жанрами формата 2.1 - текущего между прочим формата жанров, в котором готовятся все новые книги. Задача состоит в том, чтобы в локальной библиотеке правильно обозначать жанр. За основу берем формат 2.1. В том файле, что я тебе выслал, есть весь список жанров в обозначениях формата 2.1 и соответствуещее название на русском и английском языке. Кроме того, там есть связанная таблица соответствия жанров формата 2.0 - формату 2.1. Что еще надо? Читаем жанр, находим его в таблице 2.1 и , если есть - читаем название на русском или английском, если нет - смотрим жанр в таблице 2.0, находим соответсвующий 2.1 и далее тем же путем.
Изменение xsd ни к чему не приведет, так как есть он и для старого жанра и для нового. А описывать там оба формата не целесообразно, потому что без связанных таблиц не обойтись. Таблицы почти полностью соответствуют таблице Грибова на WIKI, только я там поправил одну-две неточности.
Есть еще свой формат жанров библиотеки Альдебарана, он индентичен текущему по содержанию, но имеет свои обозначения. Но мы готовим файлы в формате 2.1? поэтому не замарачивались. Если надо, то выложу эти таблицы в WIKI, но попозже. В принципе можно сделать и связанную таблицу для жанров Альдебарана. |
Ну тогда хоть сделай эту таблицу в виде отдельного xsd-файла, скажем, FictionBookGenres_Comments.xsd. А внутри что-нибудь типа
<xs:enumeration value="sf_history"/>
<xs:documentation>Фантастика (история) </xs:documentation>
<xs:documentation>Fiction (history)</xs:documentation>
<xs:enumeration value="det_classic"/>
<xs:documentation>Детектив (классический) </xs:documentation>
<xs:documentation>Detective (classic)</xs:documentation>
------------------------------
Sony Librie: почти идеальный девайс для чтения |
|
Вернуться к началу |
|
|
Admin Администратор информационного портала FB
Зарегистрирован: 11.06.2004 Сообщения: 1610 Откуда: Воронеж
|
Добавлено: Пт Авг 19, 2005 10:30 Заголовок сообщения: |
|
|
А как связывать жанры? Или ты их предпочитаешь линейно описывать, штук так 200 Их неверно даже больше наберется если библиотеку Альдебарана учитывать... |
|
Вернуться к началу |
|
|
vvv Автор редактора BookDesigner
Зарегистрирован: 06.10.2004 Сообщения: 349
|
Добавлено: Пт Авг 19, 2005 19:20 Заголовок сообщения: |
|
|
Admin писал(а): | А как связывать жанры? Или ты их предпочитаешь линейно описывать, штук так 200 Их неверно даже больше наберется если библиотеку Альдебарана учитывать... |
В моем примере
<xs:enumeration value="sf_history"/>
<xs:documentation>Фантастика (история) </xs:documentation>
- это и есть связка. А таблица соответствия будет извлекаться следующим образом
1. Найти первое <xs:enumeration и взять его value.
2. Все значения <xs:documentation> до следующего xs:enumeration - это расшифровка value. Если же после <xs:enumeration нет <xs:documentation> - значит расшифровка недоступна.
И т.д., до конца файла.
Но это только один из вариантов, первое, что пришло в голову. А может быть и проще: не делать отдельный файл, а скорректировать существующий FictionBookGenres.xsd. Например, вот так (сейчас Дима заругается )
<xs:enumeration value="sf_history">Фантастика (история) </xs:enumeration>
Ты же можешь сделать, как тебе удобнее. А я потом разберсь, как строить таблицу соответствия.
Но главное - это чтобы и коды жанров, и их расшифровки были в одном файле. И чтобы этот файл был официальной частью fb2-схем. |
|
Вернуться к началу |
|
|
pdv Автор программы FBLibrary
Зарегистрирован: 20.05.2005 Сообщения: 378 Откуда: Алматы
|
Добавлено: Сб Авг 20, 2005 23:09 Заголовок сообщения: |
|
|
vvv писал(а): | Но это только один из вариантов, первое, что пришло в голову. А может быть и проще: не делать отдельный файл, а скорректировать существующий FictionBookGenres.xsd. Например, вот так (сейчас Дима заругается )
<xs:enumeration value="sf_history">Фантастика (история) </xs:enumeration> |
Я, например, поддерживаю.
Ведь есть КОДЫ жанров в схеме, но нигде нет их расшифровки. И у разаботчиков других программ (например классификаторов ) не болела бы голова, как расшифровать тот или иной код для ПОЛЬЗОВАТЕЛЯ _________________ Программа "Библиотекарь"
www.fb2library.com |
|
Вернуться к началу |
|
|
Admin Администратор информационного портала FB
Зарегистрирован: 11.06.2004 Сообщения: 1610 Откуда: Воронеж
|
Добавлено: Пн Авг 22, 2005 8:59 Заголовок сообщения: |
|
|
vvv писал(а): | В моем примере
<xs:enumeration value="sf_history"/>
<xs:documentation>Фантастика (история) </xs:documentation>
- это и есть связка. А таблица соответствия будет извлекаться следующим образом
1. Найти первое <xs:enumeration и взять его value.
2. Все значения <xs:documentation> до следующего xs:enumeration - это расшифровка value. Если же после <xs:enumeration нет <xs:documentation> - значит расшифровка недоступна.
И т.д., до конца файла. |
Валера, проблема в том, что для для одного <xs:documentation> может быть более десятка value. Тут надо плясать с другого конца. Хотя проблема действительно в том, что нужен официальный преобразователь. |
|
Вернуться к началу |
|
|
Bor-ka Зрелый участник форума
Зарегистрирован: 23.06.2005 Сообщения: 209
|
Добавлено: Пн Авг 22, 2005 11:40 Заголовок сообщения: |
|
|
vvv
А давай я тебя отвлеку на импорт в FBD?
Во-первых, получил ли ты мой файл немецкий, на котором FBD при импорте убивает пробелы вокруг обратных ёлочек? (если включен 'keep original format").
И во-вторых, попробовал тут английскую книжку проимпортировать с этой опцией включенной, так длинные тире (em dash, 0151) меняет их даже не на короткиие (en dash), а вообще на дефисы(!!!!). А в английском тексте, когда тире не отбиваются пробелами, это вообще кошмар. |
|
Вернуться к началу |
|
|
Admin Администратор информационного портала FB
Зарегистрирован: 11.06.2004 Сообщения: 1610 Откуда: Воронеж
|
Добавлено: Пн Авг 22, 2005 12:06 Заголовок сообщения: |
|
|
vvv писал(а): | А может быть и проще: не делать отдельный файл, а скорректировать существующий FictionBookGenres.xsd. |
Этот файл имеет совершенно другое предназначение - он используется при подготовке книг и соответствует своей версии. Нам нужен файл преобразования из всех версий в русский или английский текст. Скорее FictionBookDefGenres.xsd |
|
Вернуться к началу |
|
|
vvv Автор редактора BookDesigner
Зарегистрирован: 06.10.2004 Сообщения: 349
|
Добавлено: Пн Авг 22, 2005 19:03 Заголовок сообщения: |
|
|
Bor-ka писал(а): | vvv
А давай я тебя отвлеку на импорт в FBD?
Во-первых, получил ли ты мой файл немецкий, на котором FBD при импорте убивает пробелы вокруг обратных ёлочек? (если включен 'keep original format").
И во-вторых, попробовал тут английскую книжку проимпортировать с этой опцией включенной, так длинные тире (em dash, 0151) меняет их даже не на короткиие (en dash), а вообще на дефисы(!!!!). А в английском тексте, когда тире не отбиваются пробелами, это вообще кошмар. |
Файл получил. И ответил (Вт Авг 16, 2005 6:54 pm), но ты, видимо, этот пост пропустил . Прочитай и выскажи свое мнение по поводу возможных вариантов.
Импорт длинных и средних тире я добавлю. Когда договоримся, что делать с жанрами - все сразу и поправлю.
Добавлено спустя 3 минуты 52 секунды:
Admin писал(а): | Валера, проблема в том, что для для одного <xs:documentation> может быть более десятка value. Тут надо плясать с другого конца. Хотя проблема действительно в том, что нужен официальный преобразователь. |
Леш, ты в жанрах собаку съел - тебе и карты в руки. Делай, как считаешь нужным, но только чтобы вся эта информация была в официальном схемном файле. |
|
Вернуться к началу |
|
|
Bor-ka Зрелый участник форума
Зарегистрирован: 23.06.2005 Сообщения: 209
|
Добавлено: Вт Авг 23, 2005 9:12 Заголовок сообщения: |
|
|
vvv писал(а): |
...для немецкого языка фильтр пробелов внутри французских кавычек портит книгу. Но т.к. для других языков он желателен, давайте обсудим, как лучше сделать:
- убрать фильтр только для немецкого языка;
- убрать для всех языков (в этом случае пользователь, желающий вычистить пробелы из ёлечек, должен будет вставлять соответствующие RegExp в Book Cleaner);
- добавить в Settings -> "input file" опцию "clean book garbage". Если отмечено, то все дефолтные фильтры будут включены, не отмечено - выключены. Дефолтные фильтры делают следующие операции.
1. Убирают пробелы перед точкой, запятой, точкой с запятой, восклицательным знаком, вопросительным знаком.
2. Преобразуют три и больше последовательных точек в многоточие.
3. Фильтруют пробелы французских кавычек.
4. Преобразуют 3 и более последовательных символов "-" и "_" в 20 "_" |
Да, ты прав, действительно пропустил
Я думаю, что правильнее всего было бы сделать отдельную опцию для каждой из операций (1,2,3,4, какие-то ещё). Ибо для немецких, например, иногда 1 и 2 имеет смысл, 3 и 4 лучше бы не трогать. Дальше, есть наверняка №5 примерно с таким описанием "если тире идёт между буквами, то преобразовать его в дефис", что для английского неверно, но верно для русского. (Для английского, быть может, даже имеет смысл менять среднее тире на длинное между буквами, но, конечно, возможно, лучше такое и регулярным выражением делать).
(Вообще, хотелось бы иметь возможность всю логику по переформатированию текста отключать, поскольку иногда тексты уже попадают вычитанные и нормально сформатированные, соответственно, нужно по-хорошему только определение глав и разделов. А иногда часть логики...). |
|
Вернуться к началу |
|
|
Admin Администратор информационного портала FB
Зарегистрирован: 11.06.2004 Сообщения: 1610 Откуда: Воронеж
|
Добавлено: Вт Авг 23, 2005 11:31 Заголовок сообщения: |
|
|
vvv писал(а): | Делай, как считаешь нужным, но только чтобы вся эта информация была в официальном схемном файле. |
Ладно возьмусь. У кого-нибудь есть полный список жанров Альдебарана, а то что-то давно его в аське не вижу - не доступен. Делать, так по всем библиотекам.
Добавлено спустя 6 минут 31 секунду:
Ага - есть, сейчас я с ним через аську свяжусь. |
|
Вернуться к началу |
|
|
vvv Автор редактора BookDesigner
Зарегистрирован: 06.10.2004 Сообщения: 349
|
Добавлено: Вт Авг 23, 2005 22:21 Заголовок сообщения: |
|
|
Bor-ka писал(а): | vvv писал(а): |
...для немецкого языка фильтр пробелов внутри французских кавычек портит книгу. Но т.к. для других языков он желателен, давайте обсудим, как лучше сделать:
- убрать фильтр только для немецкого языка;
- убрать для всех языков (в этом случае пользователь, желающий вычистить пробелы из ёлечек, должен будет вставлять соответствующие RegExp в Book Cleaner);
- добавить в Settings -> "input file" опцию "clean book garbage". Если отмечено, то все дефолтные фильтры будут включены, не отмечено - выключены. Дефолтные фильтры делают следующие операции.
1. Убирают пробелы перед точкой, запятой, точкой с запятой, восклицательным знаком, вопросительным знаком.
2. Преобразуют три и больше последовательных точек в многоточие.
3. Фильтруют пробелы французских кавычек.
4. Преобразуют 3 и более последовательных символов "-" и "_" в 20 "_" |
Да, ты прав, действительно пропустил
Я думаю, что правильнее всего было бы сделать отдельную опцию для каждой из операций (1,2,3,4, какие-то ещё). Ибо для немецких, например, иногда 1 и 2 имеет смысл, 3 и 4 лучше бы не трогать. Дальше, есть наверняка №5 примерно с таким описанием "если тире идёт между буквами, то преобразовать его в дефис", что для английского неверно, но верно для русского. (Для английского, быть может, даже имеет смысл менять среднее тире на длинное между буквами, но, конечно, возможно, лучше такое и регулярным выражением делать).
(Вообще, хотелось бы иметь возможность всю логику по переформатированию текста отключать, поскольку иногда тексты уже попадают вычитанные и нормально сформатированные, соответственно, нужно по-хорошему только определение глав и разделов. А иногда часть логики...). |
Ок, сделаю в Settings галку "clean book garbage", будет отключать всю очистку, за исключением самой общей (типа пробел+запятая -> запятая). А кому надо - всегда может сам задать свои опции чистки через BookCleaner -> clean before formatting. |
|
Вернуться к началу |
|
|
Bor-ka Зрелый участник форума
Зарегистрирован: 23.06.2005 Сообщения: 209
|
Добавлено: Вт Сен 13, 2005 13:10 Заголовок сообщения: |
|
|
vvv
Ммм... а можно поинтересоваться, оно уже (та версия, что на сайте) или ещё только в процессе? |
|
Вернуться к началу |
|
|
vvv Автор редактора BookDesigner
Зарегистрирован: 06.10.2004 Сообщения: 349
|
Добавлено: Вт Сен 13, 2005 18:01 Заголовок сообщения: |
|
|
Bor-ka писал(а): | vvv
Ммм... а можно поинтересоваться, оно уже (та версия, что на сайте) или ещё только в процессе? |
Пока только в планах: все свободное время уходит на BD5, а на FBD даже на мелкие доработки не хватает . |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|