[docs] Re: on olinking
Vitaly Ostanin
vyt на vzljot.ru
Пн Ноя 17 13:19:30 MSK 2003
On Mon, 17 Nov 2003 13:04:53 +0300
"Oleg A. Paraschenko" <olpa на xmlhack.ru> wrote:
<skipped/>
> > > Для того, чтобы olink-ссылки работали, в базу ссылок
> > > должны входить все
> > > модули, соответствующие документам, на которые ведёт
> > > ссылка.
> >
> > Нет, так как ссылка должна указывать на объединяющий документ
> > и id внутри него. То есть, если документ intro из admin хочет
> > сослаться на id="admin.docs", то в качестве модуля должен
> > быть указан admin.
>
> Чего-то я начинаю запутываться. Объясни мне лучше на таком
> примере:
>
> Есть документы:
>
> * $DOCS_ROOT/admin.xml
> * $DOCS_ROOT/devel/cvs/cvs.xml
>
> Из "admin.xml" я хочу сослаться на установку cvs, описанную в
> "cvs.xml"
> (id=devel.cvs.install). Известно также, что объединённый
> "admin.xml" не содержит ни строчки текста из "cvs.xml".
> Как в таком случае должна выглядеть olink-ссылка?
<olink targetdoc="devel" targetptr="devel.cvs.install"/>
Кстати, targetdoc в общем-то не нужен - только для совместимости
с DTD DocBook.
При этом target.database.document=docs.xml
который включает
devel.target.db
> ...
>
> > >
> > > Предлагаю такой подход к обработке olink-ссылок:
> > >
> > > * на этапе тюнинга, для каждой olink-ссылки:
> > > если targetptr указывает на id, существующий в самом
> > > документе,
> > > то olink-ссылка превращается в обычную xref-ссылку
> > > (для реальных книг, думаю, должно быть в 99.9% случаев);
> >
> > Зачем?
>
> Потому что для большинства итоговых документов попадание
> должно
> быть 100%, и тогда пляски с OLINKING=yes, созданием targetsets
> и прочим убираются.
Targetsets нужны ещё и для независимой пересборки части
документации. То есть admin может собираться отдельно от install,
но содержать ссылки на него.
Наличие битых ссылок нужно проверять в любом случае.
olink не обязательно преобразовывается в xref - это может быть и
link, а дублировать логику работы с olink из оригинальных стилей
- лишняя работа.
> > > * базу данных ссылок вести вручную (да, именно вручную,
> > > никакой
> > > автоматики). Учитывая, что межбуквенных ссылок должно
> > > быть мало, это не должно быть большой проблемой.
> >
> > Это была бы большая проблема.
>
> На данный момент у нас межкнижных ссылок -- 0 штук. Не думаю,
> что их число будет стремительно расти.
Стремительно, конечно, не будет. Но мне бы не хотелось допускать
то, что потом может оказаться ошибкой дизайна.
> > > Достоинства:
> > >
> > > * такая схема работает;
> > > * проста в понимании;
> > > * тривиальна в реализации.
> > >
> > >
> > > Ваши мнения?
> >
> > Честно говоря, я не понял, зачем это нужно.
>
> Если что-то можно упростить без потери функциональности --
> это надо упростить.
>
> > В текущем варианте
> > плохо только то, что использование olink нужно указывать явно
> > - это исправляется тривиальным стилем по результатам
> > xinclude.
>
> тривиальный стиль + тривиальный стиль + тривиальный стиль +
> ...
Это сарказм? На аргумент не тянет. Кстати, ты сам предлагаешь
написать тривиальный стиль - для замены olink на xref.
Что-то не нравится в стилях? В их тривиальности?
> > Чтобы менять семантику olink, нужны веские причины.
>
> В данном случае семантика уже поменена, ибо сейчас база
> olink-ссылок
> создаётся не из тех документов, в которые ведут ссылки, а из
> самого документа, из которого ведут ссылки.
Это не так. База создаётся (должна создаваться) для каждого
раздела независимо.
> * Это несколько неочевидно, так как собирать надо не так как
> сейчас.* Предложенная замена "olink" на "xref" делает явным и
> понятным, что происходит на самом деле.
Хорошо, пусть будет замена, но не вместо, а дополнительно к
текущей схеме - они не конфликтуют. Идёт?
<skipped/>
--
Regards, Vyt
mailto: vyt на vzljot.ru
JID: vyt на vzljot.ru
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : /pipermail/docs/attachments/20031117/babda53d/attachment.bin
Подробная информация о списке рассылки docs