Author: aheritier Date: Wed Jun 8 22:42:50 2005 New Revision: 189713 URL: http://svn.apache.org/viewcvs?rev=189713&view=rev Log: fix MPPDF-36 : maven pdf fails with footer in navigation.xml. fix MPPDF-24 : Internal links failed. fix MPPDF-13 : img src attributes are not made relative to the xdoc source. Patch from Lukas Theussl reviewed by aheritier
Modified: maven/maven-1/plugins/trunk/pdf/src/plugin-resources/fo-body.xslt maven/maven-1/plugins/trunk/pdf/src/plugin-resources/project2fo.xslt maven/maven-1/plugins/trunk/pdf/xdocs/changes.xml Modified: maven/maven-1/plugins/trunk/pdf/src/plugin-resources/fo-body.xslt URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/pdf/src/plugin-resources/fo-body.xslt?rev=189713&r1=189712&r2=189713&view=diff ============================================================================== --- maven/maven-1/plugins/trunk/pdf/src/plugin-resources/fo-body.xslt (original) +++ maven/maven-1/plugins/trunk/pdf/src/plugin-resources/fo-body.xslt Wed Jun 8 22:42:50 2005 @@ -54,6 +54,7 @@ </xsl:template> <xsl:template name="body-chapter-heading"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <xsl:param name="chapter"/> <xsl:variable name="gutter">0.125</xsl:variable> <xsl:variable name="leftMargin"> @@ -81,7 +82,7 @@ </fo:list-item> </fo:list-block> </fo:block> - <fo:block space-after.optimum="5em"> + <fo:block space-after.optimum="0em"> <!-- Add a rule underneath --> <fo:leader xsl:use-attribute-sets="chapter.rule"/> </fo:block> @@ -89,15 +90,23 @@ <!-- Templates for rendering xdoc tags --> <xsl:template match="document/body"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </xsl:template> <xsl:template match="section"> <xsl:param name="chapterNumber"/> - <fo:block xsl:use-attribute-sets="body.h1"> + <xsl:param name="fileName"/> + <xsl:param name="transLink"> + <xsl:value-of select="translate(@name,' ','_')"/> + </xsl:param> + <fo:block xsl:use-attribute-sets="body.h1" id="{$fileName}#{$transLink}"> <xsl:value-of select="@name"/> </fo:block> <fo:block xsl:use-attribute-sets="body.text"> @@ -105,12 +114,19 @@ <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:block> </xsl:template> <xsl:template match="subsection"> <xsl:param name="chapterNumber"/> - <fo:block xsl:use-attribute-sets="body.h2"> + <xsl:param name="fileName"/> + <xsl:param name="transLink"> + <xsl:value-of select="translate(@name,' ','_')"/> + </xsl:param> + <fo:block xsl:use-attribute-sets="body.h2" id="{$fileName}#{$transLink}"> <xsl:value-of select="@name"/> </fo:block> <fo:block xsl:use-attribute-sets="body.text"> @@ -118,6 +134,9 @@ <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:block> </xsl:template> @@ -141,47 +160,86 @@ </xsl:template> <xsl:template match="p"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:block xsl:use-attribute-sets="body.text normal.paragraph"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:block> </xsl:template> <xsl:template match="source"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:block xsl:use-attribute-sets="body.source"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:block> </xsl:template> <xsl:template match="pre"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:block xsl:use-attribute-sets="body.source"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:block> </xsl:template> + <xsl:template match="[EMAIL PROTECTED]"> + <xsl:param name="fileName"/> + <xsl:param name="dirName"> + <xsl:call-template name="substring-before-last"> + <xsl:with-param name="text" select="$fileName"/> + <xsl:with-param name="chars">/</xsl:with-param> + </xsl:call-template> + </xsl:param> + <!-- Resolve the location of the image source relative to the location of the current document --> + <xsl:param name="ref" select="translate(normalize-space(@src),'\','/')"/> <xsl:variable name="source"> - <xsl:choose> - <xsl:when test="substring(normalize-space(@src),1,3) = '../'"> - <xsl:value-of select="translate(substring-after(normalize-space(@src),'../'),'\','/')"/> - </xsl:when> - <xsl:when test="substring(normalize-space(@src),1,3) = '..\'"> - <xsl:value-of select="translate(substring-after(normalize-space(@src),'..\'),'\','/')"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="@src"/> - </xsl:otherwise> - </xsl:choose> + <xsl:choose> + <xsl:when test="starts-with($ref, './')"> + <xsl:choose> + <xsl:when test="string-length($dirName) = 0"> + <xsl:value-of select="substring-after($ref,'./')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="concat($dirName, '/', substring-after($ref,'./'))"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="starts-with($ref, '../')"> + <xsl:call-template name="resolveLink"> + <xsl:with-param name="dirName" select="$dirName"/> + <xsl:with-param name="href" select="$ref"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="string-length($dirName) = 0"> + <xsl:value-of select="$ref"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="concat($dirName, '/', $ref)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> </xsl:variable> <xsl:variable name="width"> <xsl:value-of select="substring-before(concat(normalize-space(@width),'p'),'p') div $imageDpi"/> @@ -224,156 +282,350 @@ <!-- Templates for handling XHTML tags --> <xsl:template match="[EMAIL PROTECTED] and (starts-with(@href, 'http') or starts-with(@href, 'mailto') or starts-with(@href, 'ftp'))]"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:basic-link external-destination="[EMAIL PROTECTED]"> <fo:inline xsl:use-attribute-sets="href.external"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:inline> </fo:basic-link> </xsl:template> <xsl:template match="[EMAIL PROTECTED] and starts-with(@href, '#')]"> <xsl:param name="chapterNumber"/> - <fo:basic-link internal-destination="[EMAIL PROTECTED]()}"> + <xsl:param name="fileName"/> + <fo:basic-link internal-destination="[EMAIL PROTECTED]"> <fo:inline xsl:use-attribute-sets="href.internal"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:inline> </fo:basic-link> </xsl:template> <xsl:template match="[EMAIL PROTECTED] and not(starts-with(@href, 'http')) and not(starts-with(@href, 'mailto')) and not(starts-with(@href, 'ftp')) and not(starts-with(@href, '#'))]"> <xsl:param name="chapterNumber"/> - <fo:basic-link internal-destination="[EMAIL PROTECTED]()}"> + <xsl:param name="fileName"/> + <xsl:param name="dirName"> + <xsl:call-template name="substring-before-last"> + <xsl:with-param name="text" select="$fileName"/> + <xsl:with-param name="chars">/</xsl:with-param> + </xsl:call-template> + </xsl:param> + <!-- Resolve the location of the link relative to the location of the current document --> + <xsl:param name="ref" select="translate(normalize-space(@href),'\','/')"/> + <xsl:param name="href"> + <xsl:choose> + <xsl:when test="starts-with($ref, './')"> + <xsl:choose> + <xsl:when test="string-length($dirName) = 0"> + <xsl:value-of select="substring-after($ref,'./')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="concat($dirName, '/', substring-after($ref,'./'))"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="starts-with($ref, '../')"> + <xsl:call-template name="resolveLink"> + <xsl:with-param name="dirName" select="$dirName"/> + <xsl:with-param name="href" select="$ref"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="string-length($dirName) = 0"> + <xsl:value-of select="$ref"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="concat($dirName, '/', $ref)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:param> + <fo:basic-link internal-destination="{$href}"> <fo:inline xsl:use-attribute-sets="href.internal"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:inline> </fo:basic-link> </xsl:template> + + <xsl:template name="resolveLink"> + <xsl:param name="dirName"/> + <xsl:param name="href"/> + <xsl:choose> + <xsl:when test="starts-with($href, '../')"> + <xsl:call-template name="resolveLink"> + <xsl:with-param name="dirName"> + <xsl:call-template name="substring-before-last"> + <xsl:with-param name="text" select="$dirName"/> + <xsl:with-param name="chars">/</xsl:with-param> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="href" select="substring-after($href,'../')"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="string-length($dirName) = 0"> + <xsl:value-of select="$href"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="concat($dirName, '/', $href)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="substring-before-last"> + <xsl:param name="text"/> + <xsl:param name="chars"/> + <xsl:choose> + <xsl:when test="string-length($text) = 0"/> + <xsl:when test="string-length($chars) = 0"> + <xsl:value-of select="$text"/> + </xsl:when> + <xsl:when test="contains($text, $chars)"> + <xsl:call-template name="substring-before-last-aux"> + <xsl:with-param name="text" select="$text"/> + <xsl:with-param name="chars" select="$chars"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <!--<xsl:value-of select="$text"/>--> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="substring-before-last-aux"> + <xsl:param name="text"/> + <xsl:param name="chars"/> + <xsl:choose> + <xsl:when test="string-length($text) = 0"/> + <xsl:when test="contains($text, $chars)"> + <xsl:variable name="after"> + <xsl:call-template name="substring-before-last-aux"> + <xsl:with-param name="text" select="substring-after($text, $chars)"/> + <xsl:with-param name="chars" select="$chars"/> + </xsl:call-template> + </xsl:variable> + <xsl:value-of select="substring-before($text, $chars)"/> + <xsl:if test="string-length($after) > 0"> + <xsl:value-of select="$chars"/> + <xsl:copy-of select="$after"/> + </xsl:if> + </xsl:when> + <xsl:otherwise/> + </xsl:choose> + </xsl:template> + <xsl:template match="[EMAIL PROTECTED]"> <xsl:param name="chapterNumber"/> - <fo:block id="[EMAIL PROTECTED]()}"> + <xsl:param name="fileName"/> + <xsl:param name="name" select="translate(normalize-space(@name),'\','/')"/> + <fo:block id="{$fileName}#{$name}"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:block> </xsl:template> <xsl:template match="br"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:block/> </xsl:template> <xsl:template match="em | i"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:inline font-style="italic"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:inline> </xsl:template> <xsl:template match="b | strong[ancestor::table]"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:inline font-weight="bold"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:inline> </xsl:template> <xsl:template match="strong[ancestor::p|ancestor::li|ancestor::dl|ancestor::dt|ancestor::dd]"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:inline font-weight="bold" xsl:use-attribute-sets="body.strong"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:inline> </xsl:template> <xsl:template match="strong"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:inline font-weight="bold"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:inline> </xsl:template> <xsl:template match="sub"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:inline baseline-shift="sub"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:inline> </xsl:template> <xsl:template match="sup"> <xsl:param name="chapterNumber"/> - <fo:inline baseline-shift="sup"> + <xsl:param name="fileName"/> + <fo:inline baseline-shift="super"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:inline> </xsl:template> <xsl:template match="tt|code"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:inline xsl:use-attribute-sets="body.pre"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:inline> </xsl:template> + <xsl:template match="[EMAIL PROTECTED]'indent']"> + <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> + <fo:block xsl:use-attribute-sets="code.indent"> + <xsl:apply-templates> + <xsl:with-param name="chapterNumber"> + <xsl:value-of select="$chapterNumber"/> + </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> + </xsl:apply-templates> + </fo:block> + </xsl:template> <xsl:template match="var"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:inline font-style="italic"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:inline> </xsl:template> + <xsl:template match="div"> + <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> + <xsl:apply-templates> + <xsl:with-param name="chapterNumber"> + <xsl:value-of select="$chapterNumber"/> + </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> + </xsl:apply-templates> + </xsl:template> <xsl:template match="big"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:inline font-size="larger"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:inline> </xsl:template> <xsl:template match="small"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:inline font-size="smaller"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:inline> </xsl:template> <xsl:template match="ul/ul | ul/ol | ol/ul | ol/ol"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:list-item xsl:use-attribute-sets="list.item"> <fo:list-item-label> <fo:block/> @@ -384,6 +636,9 @@ <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:block> </fo:list-item-body> @@ -391,16 +646,21 @@ </xsl:template> <xsl:template match="ul | ol"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:list-block xsl:use-attribute-sets="list"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:list-block> </xsl:template> <xsl:template match="ul/li"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:list-item xsl:use-attribute-sets="list.item"> <fo:list-item-label> <fo:block> @@ -415,6 +675,9 @@ <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:block> </fo:list-item-body> @@ -422,6 +685,7 @@ </xsl:template> <xsl:template match="ol/li"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:list-item xsl:use-attribute-sets="list.item"> <fo:list-item-label> <fo:block> @@ -434,6 +698,9 @@ <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:block> </fo:list-item-body> @@ -441,30 +708,42 @@ </xsl:template> <xsl:template match="dl"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:block xsl:use-attribute-sets="dl"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:block> </xsl:template> <xsl:template match="dt"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:block xsl:use-attribute-sets="dt"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> </xsl:apply-templates> </fo:block> </xsl:template> <xsl:template match="dd"> <xsl:param name="chapterNumber"/> + <xsl:param name="fileName"/> <fo:block xsl:use-attribute-sets="dd"> <xsl:apply-templates> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> + </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> </xsl:with-param> </xsl:apply-templates> </fo:block> Modified: maven/maven-1/plugins/trunk/pdf/src/plugin-resources/project2fo.xslt URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/pdf/src/plugin-resources/project2fo.xslt?rev=189713&r1=189712&r2=189713&view=diff ============================================================================== --- maven/maven-1/plugins/trunk/pdf/src/plugin-resources/project2fo.xslt (original) +++ maven/maven-1/plugins/trunk/pdf/src/plugin-resources/project2fo.xslt Wed Jun 8 22:42:50 2005 @@ -49,7 +49,7 @@ <xsl:variable name="colorMediumGray">#A9A9A9</xsl:variable> <xsl:variable name="colorLightGray">#D3D3D3</xsl:variable> <xsl:variable name="colorWarmGrey11">#4b4542</xsl:variable> - <xsl:output method="xml" encoding="UTF-8" indent="yes" omit-xml-declaration="no"/> + <xsl:output method="xml" encoding="UTF-8" indent="no" omit-xml-declaration="no"/> <!-- Templates --> <xsl:template match="/"> <xsl:apply-templates select="project"/> @@ -68,12 +68,18 @@ <xsl:template match="project/body/menu"> <xsl:apply-templates/> </xsl:template> + <xsl:template match="project/body/footer"> + <!-- Ignore footer --> + </xsl:template> <xsl:template match="project/body/menu/item"> <!-- Renders the xml xdoc document --> <xsl:call-template name="render-xdoc"> <xsl:with-param name="chapterNumber"> <xsl:number count="menu"/>.<xsl:number count="menu/item"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="substring-after(translate(normalize-space(@href),'\','/'),'/')"/> + </xsl:with-param> </xsl:call-template> <xsl:apply-templates/> </xsl:template> @@ -83,6 +89,9 @@ <xsl:with-param name="chapterNumber"> <xsl:number count="menu"/>.<xsl:number count="menu/item"/>.<xsl:number count="menu/item/item"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="substring-after(translate(normalize-space(@href),'\','/'),'/')"/> + </xsl:with-param> </xsl:call-template> <xsl:apply-templates/> </xsl:template> @@ -92,10 +101,14 @@ <xsl:with-param name="chapterNumber"> <xsl:number count="menu"/>.<xsl:number count="menu/item"/>.<xsl:number count="menu/item/item"/>.<xsl:number count="menu/item/item/item"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="substring-after(translate(normalize-space(@href),'\','/'),'/')"/> + </xsl:with-param> </xsl:call-template> </xsl:template> <xsl:template name="render-xdoc"> <xsl:param name="chapterNumber">Foo</xsl:param> + <xsl:param name="fileName">Bar</xsl:param> <!-- Set the page number to start at. Normally this is 'auto' unless we are at the very first xdoc, in which case we reset it to 1 --> <xsl:variable name="pageStart"> @@ -140,12 +153,16 @@ <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> + </xsl:with-param> <xsl:with-param name="chapter"> <xsl:value-of select="@name"/> </xsl:with-param> </xsl:call-template> <!-- Render the associated xdoc --> - <fo:block id="[EMAIL PROTECTED]()}"> + <fo:block id="[EMAIL PROTECTED]()}"/> + <fo:block id="{$fileName}"> <xsl:choose> <xsl:when test="not(starts-with($href, 'http'))"> <xsl:variable name="documentPath" select="concat(normalize-space($basePath),normalize-space( $documentName), '.xml')"/> @@ -156,6 +173,9 @@ <xsl:apply-templates select="document($documentPath)/document/body"> <xsl:with-param name="chapterNumber"> <xsl:value-of select="$chapterNumber"/> + </xsl:with-param> + <xsl:with-param name="fileName"> + <xsl:value-of select="$fileName"/> </xsl:with-param> </xsl:apply-templates> </xsl:when> Modified: maven/maven-1/plugins/trunk/pdf/xdocs/changes.xml URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/pdf/xdocs/changes.xml?rev=189713&r1=189712&r2=189713&view=diff ============================================================================== --- maven/maven-1/plugins/trunk/pdf/xdocs/changes.xml (original) +++ maven/maven-1/plugins/trunk/pdf/xdocs/changes.xml Wed Jun 8 22:42:50 2005 @@ -25,7 +25,11 @@ <body> <release version="2.3" date="In SVN"> <action dev="aheritier" type="update" issue="MPPDF-38">Use the ant task for the xsl transformation and remove xerces and xalan dependencies. People using java 5 will have to use this release with maven 1.1 or maven 1.0 with at the most the PDF plugin 2.2.X.</action> + <action dev="aheritier" type="fix" issue="MPPDF-36" due-to="Lukas Theussl">maven pdf fails with footer in navigation.xml.</action> + <action dev="aheritier" type="update">Use the ant task for the fop transformation and remove xalan dependency.</action> <action dev="aheritier" type="fix" issue="MPPDF-30" due-to="Lukas Theussl">The first row of table is not rendered.</action> + <action dev="aheritier" type="fix" issue="MPPDF-24" due-to="Lukas Theussl">Internal links failed.</action> + <action dev="aheritier" type="fix" issue="MPPDF-13" due-to="Lukas Theussl">img src attributes are not made relative to the xdoc source.</action> </release> <release version="2.2.1" date="2004-10-30"> <action dev="aheritier" type="fix" issue="MPPDF-21">The content of style tag was printed on the PDF file.</action> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]