[docs] Re: chunker.xsl logic
Oleg A.Paraschenko
olpa на xmlhack.ru
Вт Авг 26 19:31:40 MSD 2003
Привет!
On Tue, 26 Aug 2003 18:59:59 +0400
Vitaly Ostanin <vyt на vzljot.ru> wrote:
...
> > А что хочется?
>
> Сделать chunked вывод для website - это тот же docbook с
> врапперными тегами для страниц.
А родной /usr/share/xml/website/xsl/chunk-website.xsl не подходит?
>
> > > возник вопрос: а может, кто-то уже разобрался с логикой
> > > html/chunk.xsl ?
> >
> > Недавно пробовал. Особо разбираться не стал, ибо понял, что
> > вклиниться туда без изменения chunk.xsl почти невозможно.
> >
> > Примерно так:
>
> > * создаётся дерево кусков (на это повлиять можно)
>
> На каком этапе?
Ещё перед началом XSLT преобразования:
<xsl:variable name="chunk.hierarchy">
...
<xsl:apply-templates select="/*" mode="find.chunks"/>
...
</xsl:variable>
...
<xsl:template match="*" mode="find.chunks">
<xsl:variable name="chunk">
<xsl:call-template name="chunk"/>
</xsl:variable>
... recursion ...
</xsl:template>
> На чём срабатывает создание дерева кусков?
>
> > * находится поддерево, которое будет обрабатываться (обычно
> > весь документ)* для "компонентных" элементов (book, chapter,
> > etc) дерево кусков игнорируется: они всегда создают новые
> > куски* для каждого куска:- обрабатывается содержимое
> > - добавляются навигационные ссылки
> > - создаются toc (увы, только из известных элементов), список
> > фигур и другие списки- возможно, ещё что-то
> > - создаётся файл, в который выводятся результаты
>
> Спасибо, но мне нужно с самого начала.
>
> То есть существует "драйвер" chunked вывода - html/chunk.xsl
>
> Он накладывается на XML документ. Меня интересует, в какой
> момент, срабатывая на чём, создаётся вывод в несколько файлов.
<xsl:template match="sect1|sect2|sect3|sect4|sect5|section">
<xsl:variable name="ischunk">
<xsl:call-template name="chunk"/>
</xsl:variable>
...
a) (кусок) <xsl:call-template name="process-chunk-element"/>
b) (не кусок) <xsl:apply-imports/>
...
</xsl:template>
Chunk создаётся где-то внутри "process-chunk-element".
>
> То есть что подсунуть из chunk.xsl в стиль для website (сильно
> правленный, так что изменения не пугают :)), чтобы вывод
> создавался - "один webpage - один html", а "один webpage -
> несколько html".
>
> <skipped/>
>
> --
> Regards, Vyt
> mailto: vyt на vzljot.ru
> JID: vyt на vzljot.ru
--
Oleg Paraschenko olpa@ http://xmlhack.ru/ XML news in Russian
Подробная информация о списке рассылки docs