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

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


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

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

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

СообщениеДобавлено: Чт Авг 18, 2005 12:16    Заголовок сообщения: Ответить с цитатой

Ээээ... Боюсь, что xsd не для этого. Там константы описаны, типа MB_OK, а уж расшифровке в xsd делать нечего. Вроде как.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора


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

Администратор информационного портала 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, но попозже. В принципе можно сделать и связанную таблицу для жанров Альдебарана.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


vvv
Автор редактора BookDesigner

Автор редактора 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

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

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

СообщениеДобавлено: Пт Авг 19, 2005 10:30    Заголовок сообщения: Ответить с цитатой

А как связывать жанры? Или ты их предпочитаешь линейно описывать, штук так 200 Surprised Их неверно даже больше наберется если библиотеку Альдебарана учитывать...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


vvv
Автор редактора BookDesigner

Автор редактора BookDesigner

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

СообщениеДобавлено: Пт Авг 19, 2005 19:20    Заголовок сообщения: Ответить с цитатой

Admin писал(а):
А как связывать жанры? Или ты их предпочитаешь линейно описывать, штук так 200 Surprised Их неверно даже больше наберется если библиотеку Альдебарана учитывать...

В моем примере
<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. Например, вот так (сейчас Дима заругается Very Happy)

<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>


Я, например, поддерживаю.
Ведь есть КОДЫ жанров в схеме, но нигде нет их расшифровки. И у разаботчиков других программ (например классификаторов Smile ) не болела бы голова, как расшифровать тот или иной код для ПОЛЬЗОВАТЕЛЯ
_________________
Программа "Библиотекарь"
www.fb2library.com
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


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

Администратор информационного портала 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. Тут надо плясать с другого конца. Хотя проблема действительно в том, что нужен официальный преобразователь.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


Bor-ka
Зрелый участник форума

Зрелый участник форума

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

СообщениеДобавлено: Пн Авг 22, 2005 11:40    Заголовок сообщения: Ответить с цитатой

vvv

А давай я тебя отвлеку на импорт в FBD? Smile

Во-первых, получил ли ты мой файл немецкий, на котором FBD при импорте убивает пробелы вокруг обратных ёлочек? (если включен 'keep original format").

И во-вторых, попробовал тут английскую книжку проимпортировать с этой опцией включенной, так длинные тире (em dash, 0151) меняет их даже не на короткиие (en dash), а вообще на дефисы(!!!!). А в английском тексте, когда тире не отбиваются пробелами, это вообще кошмар.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора


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

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

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

СообщениеДобавлено: Пн Авг 22, 2005 12:06    Заголовок сообщения: Ответить с цитатой

vvv писал(а):
А может быть и проще: не делать отдельный файл, а скорректировать существующий FictionBookGenres.xsd.

Этот файл имеет совершенно другое предназначение - он используется при подготовке книг и соответствует своей версии. Нам нужен файл преобразования из всех версий в русский или английский текст. Скорее FictionBookDefGenres.xsd
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


vvv
Автор редактора BookDesigner

Автор редактора BookDesigner

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

СообщениеДобавлено: Пн Авг 22, 2005 19:03    Заголовок сообщения: Ответить с цитатой

Bor-ka писал(а):
vvv

А давай я тебя отвлеку на импорт в FBD? Smile

Во-первых, получил ли ты мой файл немецкий, на котором FBD при импорте убивает пробелы вокруг обратных ёлочек? (если включен 'keep original format").

И во-вторых, попробовал тут английскую книжку проимпортировать с этой опцией включенной, так длинные тире (em dash, 0151) меняет их даже не на короткиие (en dash), а вообще на дефисы(!!!!). А в английском тексте, когда тире не отбиваются пробелами, это вообще кошмар.

Файл получил. И ответил (Вт Авг 16, 2005 6:54 pm), но ты, видимо, этот пост пропустил Sad . Прочитай и выскажи свое мнение по поводу возможных вариантов.

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

Добавлено спустя 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 "_"



Да, ты прав, действительно пропустил Smile

Я думаю, что правильнее всего было бы сделать отдельную опцию для каждой из операций (1,2,3,4, какие-то ещё). Ибо для немецких, например, иногда 1 и 2 имеет смысл, 3 и 4 лучше бы не трогать. Дальше, есть наверняка №5 примерно с таким описанием "если тире идёт между буквами, то преобразовать его в дефис", что для английского неверно, но верно для русского. (Для английского, быть может, даже имеет смысл менять среднее тире на длинное между буквами, но, конечно, возможно, лучше такое и регулярным выражением делать).

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


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

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

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

СообщениеДобавлено: Вт Авг 23, 2005 11:31    Заголовок сообщения: Ответить с цитатой

vvv писал(а):
Делай, как считаешь нужным, но только чтобы вся эта информация была в официальном схемном файле.

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

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

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


vvv
Автор редактора BookDesigner

Автор редактора 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 "_"



Да, ты прав, действительно пропустил Smile

Я думаю, что правильнее всего было бы сделать отдельную опцию для каждой из операций (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

Ммм... а можно поинтересоваться, оно уже (та версия, что на сайте) или ещё только в процессе? Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора


vvv
Автор редактора BookDesigner

Автор редактора BookDesigner

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

СообщениеДобавлено: Вт Сен 13, 2005 18:01    Заголовок сообщения: Ответить с цитатой

Bor-ka писал(а):
vvv

Ммм... а можно поинтересоваться, оно уже (та версия, что на сайте) или ещё только в процессе? Smile

Пока только в планах: все свободное время уходит на BD5, а на FBD даже на мелкие доработки не хватает Sad .
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Сделано для FB Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Страница 3 из 7

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


Powered by phpBB © 2001, 2005 phpBB Group