[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] xsl-stylesheets/manpages
Le Lundi 19 Mai 2003 19:10, Tim Waugh a �crit : > It is better to use the http:// form. OK, I note it > Oh, I see. Well, the placing of the AUTHORS section is hard-coded at > the moment (as is its name, unfortunately). > > As for handling <othercredit>, please try the attached stylesheet. > Use 'xmlto -x ./docbook.xsl ...'. I tried it, but this isn't the rendering I want. I want to add two "refsect1" (TRANSLATION and REVIEWER) after the refsect1 AUTHORS. The docbook-fr.xsl I'll try to create make it but don't put the good information in the refsect1: - the authors, copyright, name and pubdate are added in both section TRANSLATION and REVIEWER, and of course I don't want - reviewer name, affiliation and contrib are added in the TRANSLATION section - translator name, affiliation and contrib are added in the REVIEWER section Could you tell me what's wrong in that stylesheet ? I wish also adding the pubdate just after the email of the translator Regards -- Alain PORTAL Service Commun de Microscopie Electronique Case Courrier 087 Universit� de Montpellier II Place Eug�ne Bataillon 34095 Montpellier Cedex 05 T�l. : 04 67 14 37 35 Fax. : 04 67 14 37 37 E-mail : aportal@univ-montp2.fr http://www.univ-montp2.fr/~micro-elec-web/
<?xml version='1.0' encoding="ISO-8859-15"?>
<!-- vim:set sts=2 shiftwidth=2 syntax=sgml: -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xt="http://www.jclark.com/xt"
extension-element-prefixes="xt"
version='1.0'>
<xsl:import href="docbook.xsl"/>
<xsl:include href="http://docbook.sourceforge.net/release/xsl/current/common/common.xsl"/>
<xsl:include href="synop.xsl"/>
<xsl:include href="lists.xsl"/>
<xsl:include href="xref.xsl"/>
<xsl:output method="text"
encoding="ISO-8859-15"
indent="no"/>
<xsl:template match="refsect1">
<xsl:text>
.SH "</xsl:text>
<xsl:value-of select="translate(title[1],'a��bcde����fghi��jklmno��pqrstu��vwxyz', 'A��BCDE����FGHI��JKLMNO��PQRSTU��VWXYZ')"/>
<xsl:text>"
</xsl:text>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="refentry">
<xsl:variable name="section" select="refmeta/manvolnum"/>
<xsl:variable name="name" select="refmeta/refentrytitle"/>
<xsl:call-template name="write-page">
<xsl:with-param name="filename" select="concat($name, '.', $section)"/>
<xsl:with-param name="contents">
<xsl:text>.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "</xsl:text>
<xsl:value-of select="translate(refmeta/refentrytitle,'a��bcde����fghi��jklmno��pqrstu��vwxyz', 'A��BCDE����FGHI��JKLMNO��PQRSTU��VWXYZ')"/>
<xsl:text>" </xsl:text>
<xsl:value-of select="refmeta/manvolnum[1]"/>
<xsl:text> "</xsl:text>
<xsl:value-of select="refentryinfo/date"/>
<xsl:text>" "</xsl:text>
<xsl:value-of select="refentryinfo/productname"/>
<xsl:text>" "</xsl:text>
<xsl:value-of select="refentryinfo/title"/>
<xsl:text>"
</xsl:text>
<xsl:apply-templates/>
<xsl:text> </xsl:text>
<!-- Author section -->
<xsl:choose>
<xsl:when test="refentryinfo//author">
<xsl:apply-templates select="refentryinfo" mode="authorsect"/>
</xsl:when>
<xsl:when test="/book/bookinfo//author">
<xsl:apply-templates select="/book/bookinfo" mode="authorsect"/>
</xsl:when>
<xsl:when test="/article/articleinfo//author">
<xsl:apply-templates select="/article/articleinfo" mode="authorsect"/>
</xsl:when>
</xsl:choose>
<!-- Translation section -->
<xsl:choose>
<xsl:when test="refentryinfo//othercredit/@role='translation'">
<xsl:apply-templates select="refentryinfo" mode="translationsect"/>
</xsl:when>
<xsl:when test="/book/bookinfo//othercredit/@role='translation'">
<xsl:apply-templates select="/book/bookinfo" mode="translationsect"/>
</xsl:when>
<xsl:when test="/article/articleinfo//othercredit/@role='translation'">
<xsl:apply-templates select="/article/articleinfo" mode="translationsect"/>
</xsl:when>
</xsl:choose>
<!-- Reviewer section -->
<xsl:choose>
<xsl:when test="refentryinfo//othercredit/@role='reviewer'">
<xsl:apply-templates select="refentryinfo" mode="reviewersect"/>
</xsl:when>
<xsl:when test="/book/bookinfo//othercredit/@role='reviewer'">
<xsl:apply-templates select="/book/bookinfo" mode="reviewersect"/>
</xsl:when>
<xsl:when test="/article/articleinfo//othercredit/@role='reviewer'">
<xsl:apply-templates select="/article/articleinfo" mode="reviewersect"/>
</xsl:when>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
<!-- Now generate stub include pages for every page documented in
this refentry (except the page itself) -->
<xsl:for-each select="refnamediv/refname">
<xsl:if test=". != $name">
<xsl:call-template name="write-page">
<xsl:with-param name="filename" select="concat(., '.', $section)"/>
<xsl:with-param name="contents"
select="concat('.so man', $section, '/', $name, '.', $section, ' ')"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template match="articleinfo|bookinfo|refentryinfo" mode="authorsect">
<xsl:text>.SH AUTEUR</xsl:text>
<xsl:if test="count(.//author)>1">
<xsl:text>S</xsl:text>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:for-each select=".//author">
<xsl:if test="position() > 1">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:apply-templates select="."/>
</xsl:for-each>
<xsl:text>. </xsl:text>
<xsl:if test=".//editor">
<xsl:text>.br Man page edited by </xsl:text>
<xsl:apply-templates select=".//editor"/>
<xsl:text>. </xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="articleinfo|bookinfo|refentryinfo" mode="translationsect">
<xsl:text>.SH TRADUCTION</xsl:text>
<xsl:text> </xsl:text>
<xsl:for-each select=".//othercredit/@role='translation'">
<xsl:if test="position() > 1">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:apply-templates select="."/>
</xsl:for-each>
<xsl:apply-templates/>
<xsl:text>. </xsl:text>
</xsl:template>
<xsl:template match="articleinfo|bookinfo|refentryinfo" mode="reviewersect">
<xsl:text>.SH RELECTURE</xsl:text>
<xsl:text> </xsl:text>
<xsl:for-each select=".//othercredit/@role='reviewer'">
<xsl:if test="position() > 1">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:apply-templates select="."/>
</xsl:for-each>
<xsl:apply-templates/>
<xsl:text>. </xsl:text>
</xsl:template>
<xsl:template match="othercredit">
<xsl:call-template name="person.name"/>
<xsl:apply-templates select=".//email"/>
<xsl:apply-templates select=".//contrib"/>
</xsl:template>
<xsl:template match="refnamediv">
<xsl:text>.SH NOM
</xsl:text>
<xsl:for-each select="refname">
<xsl:if test="position()>1">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:value-of select="."/>
</xsl:for-each>
<xsl:text> \- </xsl:text>
<xsl:value-of select="normalize-space(refpurpose)"/>
</xsl:template>
<!-- D�finir mise en gras : ajout le 14 avril 2003 -->
<xsl:template match="engras">
<xsl:text>\fB</xsl:text><xsl:apply-templates/><xsl:text>\fR</xsl:text>
</xsl:template>
<!-- D�finir mise en gras : ajout le 14 avril 2003 -->
</xsl:stylesheet>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]