OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: Chunked output with .css and images folder

On Sun, 27 Apr 2003 16:16:59 -0700
David Pratt <fairwinds@shaw.ca> wrote:

> I am chunking xml to xhtml and trying to get my stylesheet and
> image folder all work out with my customization layer.


> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 
> "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
> <!ENTITY book SYSTEM "book.xml">
> <!ENTITY version "1.0">
> <!ENTITY releasedate "May 30, 2003">
> <!ENTITY % chapter01 SYSTEM "entities/chapter01.ent">
> <!ENTITY % chapter02 SYSTEM "entities/chapter02.ent">
> %chapter01;
> %chapter02;
> ]>
> <book><title>My Book Title Here</title>
> &book;
> </book>


> Any advice much appreciated.

You can use modular schema for developing documents and XML
Inclusions for merging, see

After processing all documents tree in one all included parts
will have "xml:base" attribute. You can use value of this
attribute for calculate relative paths to images and copy images
to output directory.

XSLT-style for it is attached (works with libxml2-2.4.30 and
libxslt-1.0.23). Style support only <graphic/>, but you can easy
add support for other tags.


Regards, Vyt
mailto:  vyt@vzljot.ru
JID:     vyt@vzljot.ru
<?xml version='1.0' encoding="windows-1251"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

<!-- $Id: collect_images.xsl,v 1.1 2003/02/28 09:56:23 vyt Exp $ -->
     Стиль для сбора изображений из документов. Выводит полные пути к картинкам через пробел.

<xsl:output encoding="windows-1251" method="text"/>

<xsl:template name="strip-filename">
  <xsl:param name="filename"/>
  <xsl:if test="contains($filename,'/')">
    <xsl:value-of select="substring-before($filename,'/')"/>
    <xsl:call-template name="strip-filename">
      <xsl:with-param name="filename" select="substring-after($filename,'/')"/>

<xsl:template match="graphic">
  <xsl:call-template name="strip-filename">
    <xsl:with-param name="filename" select="ancestor-or-self::*[@xml:base][position()=1]/@xml:base"/>
  <xsl:value-of select="@fileref"/>
  <xsl:text> </xsl:text>

<xsl:template match="*|@*|text()">


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]