[docs] Re: makefile rework intro

Vitaly Ostanin vyt на vzljot.ru
Вт Окт 28 12:34:02 MSK 2003


On Mon, 27 Oct 2003 21:07:31 +0300
Oleg A.Paraschenko <olpa на xmlhack.ru> wrote:

<skipped/>

> > Есть предложение вместо "print" держать цели
> > pdf-<suffix>
> > , где <suffix> - средство, с помощью которого получен pdf.
> 
>   Планируется сделать примерно так:
> 
> module.profile.template.processor.pdf  (1) <-- сюда будут
> ссылки,
> 
>   где
> 
> profile   - код профиля
> template  - код шаблона (a4, a5, letter, ...)
> processor - код fo-процессора (xep, fop, ...)
> 
> module.pdf -- это сокращение для такого
> "module.profile.template.processor.pdf", в котором "profile",
> "template" и "processor" -- по умолчанию.

Не совсем понял, лучше посмотрю, когда будет готово :)

> > Сразу добавлю, что сейчас в Makefiles разброд с переменными -
> > они могут быть "параметр значение", а могут быть просто
> > "значение".
> > 
> > Лучше в новых Makefiles использовать только "параметр
> > значение", чтобы можно было использовать переменную, даже
> > если "значение" не определено.
> 
>   Не понял. Нужны пояснения. Можно в jabber.

Например, есть два варианта:

1.
ULINK_LEAVE = 1
xsltproc --param ulink.leave.duplicates.after $(ULINK_LEAVE)

2.
ULINK_PARAMS = --param ulink.leave.duplicates.after 1
xsltproc $(ULINK_PARAMS)

Первый вариант неудачен, поскольку при неопределённом ULINK_LEAVE
стили не отработают. Второй вариант самодостаточен, поскольку при
неопределённом ULINK_PARAMS просто будут использованы параметры
по умолчанию из стилей.

> > > Расположение файлов:
> > > 
> > > ./module/
> > >  module.xml  - исходный файл
> > >  tmp/        - папка для временных файлов
> > 
> > Можно пример временных файлов?
> 
> module.log
> module.p1.a4.fo
> module.p1

Ok.

<skipped/>

> > Кстати, для термина directory лучше
> > употреблять перевод "каталог". "Папка" - это folder. В
> > архивах было обсуждение.
> 
>   Спасибо, забываюсь. Наверное, надо завести специальный
>   словарь для ispell, чтобы отлавливать нерекомендуемую
>   терминологию.

AFAIK, есть dict-engcom.

<skipped/>

> > Есть сложности, например, с emacs-mode-psgml. Его
> > предкомпилированные DTD должны лежать рядом с документом.
> 
>   Странно. Ну, тогда с некоторыми исключениями.

Почему не использовать переменную, куда вместе с tmp/ занести
поимённо остальные временные файлы?

Кстати, я бы не хотел, чтобы при make clean удалялся
скомпилированный DTD - это задача для distclean.

> > > результате:
> > >  * хлам не смешивается с важными файлами;
> > >  * для "make clean" достаточно "rm -rf tmp out".
> > > * Если файл входит в состав итоговых документов, то он
> > > лежит в"out", иначе он лежит в "tmp".
> > > 
> > > ---
> > > 
> > > Цепочка преобразований.
> > > 
> > > Общее начало:
> > > .xml -> xinclude -> profiling+tuning (A)
> > 
> > XInclude незачем выделять в отдельный этап, IMHO.
> 
>   Пусть всё-таки будет. Интуиция советует, не хочу ей
>   противоречить.

Лучше всё-таки аргументировать. 

XInclude должен выполняться перед любой обработкой. 

XInclude выполняется для всех документов, поскольку это проще,
чем выполнение в зависимости от наличия включений. 

XInclude может выполняться в один проход с другими ключами
обработки и не конфликтует ни с одним из них.

Отдельное выполнение XInclude потребует дополнительного запуска
xmllint и дополнительной обработки как всего дерева документов,
так и всех external entities, DTD и т.п. - то есть, накладно по
ресурсам.

А вот зачем это нужно, пока не ясно... К тому же отдельный этап с
XInclude всегда можно добавить.

Кстати, лучше делать все этапы с учётом того, что между каждой
парой этапов могут добавиться дополнительные этапы.

> > > Далее, для html:
> > > всё, как сейчас
> > > 
> > > Далее, для print:
> > > -> fo  (B) -> pdf (C) или
> > > -> tex (D) -> pdf
> > 
> > FO может (и должен) быть разным для каждого FO-процессора.
> 
>   Почему? Разве не утверждается, что FO процессоронезависим?

У каждого FO-процессора свой набор возможностей и особенностей, и
стили DocBook умеют их использовать.

>   Но и это может работать, см. (1).

Прекрасно.

<skipped/>

-- 
Regards, Vyt
mailto:  vyt на vzljot.ru
JID:     vyt на vzljot.ru
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: отсутствует
Url     : /pipermail/docs/attachments/20031028/dd5aaba7/attachment.bin


Подробная информация о списке рассылки docs