Author: jelmer Date: 2005-03-16 15:33:49 +0000 (Wed, 16 Mar 2005) New Revision: 425
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba-docs&rev=425 Log: Add xslt script that can generate dependency makefiles Added: trunk/xslt/generate-dependencies.xsl Changeset: Copied: trunk/xslt/generate-dependencies.xsl (from rev 415, trunk/xslt/find-image-dependencies.xsl) =================================================================== --- trunk/xslt/find-image-dependencies.xsl 2005-03-13 19:20:25 UTC (rev 415) +++ trunk/xslt/generate-dependencies.xsl 2005-03-16 15:33:49 UTC (rev 425) @@ -0,0 +1,52 @@ +<?xml version='1.0'?> +<!-- + Find the image dependencies of a certain XML file + Generates (part of) a Makefile + + - $(FNAME)-images-latex-{png,dvi} for role=latex + - $(FNAME)-images-role for all other roles + - $(TXTDIR)/$(FNAME)-text + + (C) Jelmer Vernooij 2004-2005 +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"> + <xsl:output method="text"/> + + <xsl:template match="/"> + <xsl:for-each select="//mediaobject/[EMAIL PROTECTED] and not(@role=following::imageobject/@role)]"> + <xsl:call-template name="generate-images"> + <xsl:with-param name="role"><xsl:value-of select="@role"/></xsl:with-param> + </xsl:call-template> + </xsl:for-each> + <xsl:call-template name="generate-images"> + <xsl:with-param name="role"/> + </xsl:call-template> + <xsl:call-template name="generate-txt-chunks"/> + </xsl:template> + + <xsl:template name="generate-images"> + <xsl:value-of select="$target"/><xsl:text>-images-</xsl:text><xsl:value-of select="$role"/><xsl:text> = </xsl:text> + <xsl:for-each select="//mediaobject/[EMAIL PROTECTED]"> + <xsl:value-of select="imagedata/@fileref"/> + <xsl:text> </xsl:text> + </xsl:for-each> + <xsl:text> </xsl:text> + </xsl:template> + + <xsl:template name="generate-txt-chunks"> + <xsl:value-of select="$target"/><xsl:text>-txt-chunks: </xsl:text> + <xsl:for-each select="(//chapter|//preface|//appendix)[EMAIL PROTECTED]|book"> + <xsl:value-of select="$txtbasedir"/> + <xsl:choose> + <xsl:when test="name() = 'book'"> + <xsl:text>index</xsl:text> + </xsl:when> + <xsl:when test="@id != ''"> + <xsl:value-of select="@id"/> + </xsl:when> + </xsl:choose> + <xsl:text>.txt </xsl:text> + </xsl:for-each> + <xsl:text> </xsl:text> + </xsl:template> +</xsl:stylesheet>