A.2. Codi XSLT de la capa de personalització.

Aquest codi correspòn a l'arxiu parametres.xsl que conté els paràmetres i les plantilles modificades.

Capa de personalització per a HTML.

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="file:///c:/docbook-xsl-1.71.1/html/chunk.xsl"/>

<!-- DECLARACIO DE PARAMETRES DE CONFIGURACIO DE LES FULLES XSL -->
<!--____________________________________________________________-->

<!-- ACTIVAR LES EXTENSIONS PER ALS PROCESSADORS XSLT -->
<!-- Activar l'us genearl d'extensions.           -->
<xsl:param name="use.extensions" select="'1'"></xsl:param>
<!-- Extensió per a l'element CALLOUT  (referències en exemples) -->
<xsl:param name="callouts.extension" select="'1'"></xsl:param>

<!-- PARÀMETRES FITXERS HTML GENERATS -->
<!-- Sangrar el codi HTML resultant per a una millor visualització -->
<xsl:param name="chunker.output.indent" select="'yes'"/>
<!-- Cada nou arxiu generat tindra com a nom l'atribut id (si està present)
     de l'element docbook que el genera -->
<xsl:param name="use.id.as.filename" select="'yes'"/>
<!-- Nom de l'arxiu que genera l'element principal, per defecte index,
     si li donem valor en blanc, el nom serà el de l'atribut id de l'element -->
<xsl:param name="root.filename" select="'index'"/>
<!-- Declaracio de la fulla de estil CSS que sera aplicada al codig HTML -->
<xsl:param name="html.stylesheet" select="'css/estil.css'"/>
<!-- NOTA: si el valor del parametre es un string ha de anar entre cometes simpes
     per a indicar que es un string i no el nom de un element. -->
<!-- Directori on seran posats els arxius HTML resultants -->
<xsl:param name="base.dir" select="'chunk/'"/>
<!-- Precalcular abans els links per a cada arxiu que es generara
     per al següent i anterior. Fa més ràpid el procés.  -->
<xsl:param name="chunk.fast" select="1"/>
<!-- Directori on estan les imatges -->
<xsl:param name="img.src.path" select="'../imatges/'"/>
<!-- Generar HTML vàlid -->
<xsl:param name="make.valid.html" select="1"></xsl:param>
<!-- Similar a l'anterior. Necessita soport EXSTL del processador. -->
<xsl:param name="html.cleanup" select="1"></xsl:param>
<!-- Etiqueta amb <div id=...> els elements DocBook amb atribut id -->
<xsl:param name="generate.id.attributes" select="1"></xsl:param>
<!-- Generar l'etiqueta META corresponent a HTML amb l'abstract de DocBook -->
<xsl:param name="generate.meta.abstract" select="1"></xsl:param>
<!-- Etiqueta els elements amb revisionflag per a que CSS puga donar-los estil. -->
<xsl:param name="show.revisionflag">1</xsl:param>
<!-- DTD associat al HTML generat. -->
<xsl:param name="chunker.output.doctype-public">-//W3C//DTD HTML 4.01//EN"
         "http://www.w3.org/TR/html4/strict.dtd</xsl:param>

<!-- PARÀMETRES SOBRE LA INCLUSIÓ DE GRÀFICS -->
<!-- Activar/Desactivar la creacio de icones grafiques -->
<xsl:param name="admon.graphics" select="0"/>
<xsl:param name="admon.graphics.path" select="'../imatges/admon/'"/>
<xsl:param name="admon.graphics.extension" select="'.png'"/>
<!-- Activar/Desactivar la creacio de icones grafiques de navegacio -->
<xsl:param name="navig.graphics" select="0"/>
<xsl:param name="navig.graphics.path" select="'../imatges/admon/'"/>
<xsl:param name="navig.graphics.extension" select="'.png'"/>
<!-- Activar/Desactivar la creacio de icones grafiques per a
     les referències a peu de pàgina -->
<xsl:param name="callout.graphics" select="0"/>
<xsl:param name="callout.graphics.path" select="'../imatges/admon/callouts/'"/>
<xsl:param name="callout.list.table" select="'0'"/>

<!-- Activar/Desactivar la creació de capçalera i peu de navegació -->
<xsl:param name="suppress.navigation" select="0"/>

<!-- Propagar el atribut role en DocBook al atribut class en HTML
     per a la posterior referenciacio en el CSS -->
<xsl:param name="para.propagate.style" select="1"/>
<xsl:param name="emphasis.propagate.style" select="1"/>
<xsl:param name="entry.propagate.style" select="1"/>
<xsl:param name="phrase.propagate.style" select="1"/>
<!-- Deshabilitar l'us de la etiqueta style en HTML -->
<xsl:param name="css.decoration" select="0"></xsl:param>

<!-- Enumerar capitols i seccions de forma completa -->
<xsl:param name="section.autolabel" select="1"/>
<xsl:param name="section.label.includes.component.label" select="1"/>

<!-- Fins quin nivell apareixen les seccions en la Taula de Continguts -->
<xsl:param name="toc.section.depth" select="2"></xsl:param>
<xsl:param name="generate.section.toc.level" select="3"></xsl:param>
<xsl:param name="toc.max.depth">8</xsl:param>

<!-- Seleccio dels elements que generen entrades a la taula de continguts -->
<!-- a continuacio els valors per defecte -->
<xsl:param name="generate.toc">
appendix  toc,title
article/appendix  nop
article   toc,title
book      toc,title,figure,example
chapter   toc,title
part      toc,title
preface   toc,title
qandadiv  toc
qandaset  toc 
reference toc,title
sect1     toc
sect2     toc
sect3     toc
sect4     toc
sect5     toc
section   toc
set       toc,title
</xsl:param>


<!-- =========================================================================== -->
<!-- Templates que es modifiquen per a respectar les directrius d'accessibilitat -->
<!-- =========================================================================== -->

<!-- Llevem el valor dels atributs de BODY per defecte per a que siga CSS qui 
        ho faja, podem posar qualsevol altre atribut que puga anar dins de 
		BODY (onLoad etc...)  -->
<xsl:template name="body.attributes">
	<!-- Aci es pot incloure qualsevol parametre que vullguem posar
		<xsl:attribute name="nom-atribut">contingut-atribut<xsl:attribute>
	-->
</xsl:template>

<!-- Eliminar la maquetació amb taules de la capçalera de navegació.      -->
<!-- Aquesta plantilla es troba a l'arxiu chunk-common.xsl         .      -->
<xsl:template name="header.navigation">
  <xsl:param name="prev" select="/foo"/>
  <xsl:param name="next" select="/foo"/>
  <xsl:param name="nav.context"/>

  <xsl:variable name="home" select="/*[1]"/>
  <xsl:variable name="up" select="parent::*"/>

  <xsl:variable name="row1" select="$navig.showtitles != 0"/>
  <xsl:variable name="row2" select="count($prev) > 0
                               or (count($up) > 0 
                               and generate-id($up) != generate-id($home)
                               and $navig.showtitles != 0)
                               or count($next) > 0"/>

  <xsl:if test="$suppress.navigation = '0' 
             and $suppress.header.navigation = '0'">
    <div class="navheader">
      <xsl:if test="$row1 or $row2">
	   
	   
	      <xsl:if test="$row1">
		    <div class="navheader_title">
                <xsl:apply-templates select="." mode="object.title.markup"/>
			</div>
          </xsl:if>

          <xsl:if test="$row2">
		    <xsl:choose>
                <xsl:when test="count($up) > 0
                                  and generate-id($up) != generate-id($home)
                                  and $navig.showtitles != 0">
					<div class="navheader_titleup">
                    <xsl:apply-templates select="$up" 
                                            mode="object.title.markup"/>
					</div>
                </xsl:when>
            </xsl:choose>
		    
			<div class="navheader_links">
		       <xsl:if test="count($prev)>0">
			      <span class="navheader_prev">
                  <a accesskey="p">
                    <xsl:attribute name="href">
                      <xsl:call-template name="href.target">
                        <xsl:with-param name="object" select="$prev"/>
                      </xsl:call-template>
                    </xsl:attribute>
                    <xsl:call-template name="navig.content">
                      <xsl:with-param name="direction" select="'prev'"/>
                    </xsl:call-template>
                  </a>
				  </span>
              </xsl:if>
              			  
			  <xsl:if test="count($prev)>0">
			  <xsl:if test="count($next)>0">
			  		<span class="sep">
			     	<xsl:text> | </xsl:text>
					</span>
			  </xsl:if>
			  </xsl:if>
			  
              
              <xsl:if test="count($next)>0">
			      <span class="navheader_next">
                  <a accesskey="n">
                    <xsl:attribute name="href">
                      <xsl:call-template name="href.target">
                        <xsl:with-param name="object" select="$next"/>
                      </xsl:call-template>
                    </xsl:attribute>
                    <xsl:call-template name="navig.content">
                      <xsl:with-param name="direction" select="'next'"/>
                    </xsl:call-template>
                  </a>
				  </span>
              </xsl:if>
              </div>
          </xsl:if>
      </xsl:if>
      <xsl:if test="$header.rule != 0">
        <hr/>
      </xsl:if>
    </div>
  </xsl:if>
</xsl:template>

<!-- Eliminar la maquetació amb taules del peu de navegació. -->
<!-- Aquesta plantilla es troba a l'arxiu chunk-common.xsl.  -->
<xsl:template name="footer.navigation">
  <xsl:param name="prev" select="/foo"/>
  <xsl:param name="next" select="/foo"/>
  <xsl:param name="nav.context"/>

  <xsl:variable name="home" select="/*[1]"/>
  <xsl:variable name="up" select="parent::*"/>

  <xsl:if test="$suppress.navigation = '0' 
             and $suppress.footer.navigation = '0'">
    <div class="navfooter">
      <xsl:if test="$footer.rule != 0">
        <hr/>
      </xsl:if>
	  
	  <!-- Navegar a l'inici o a la Taula de Continguts -->
      <xsl:choose>
         <xsl:when test="$home != . or $nav.context = 'toc'">
            <div class="navfooter_ht">
			
            <span class="navfooter_home">
            <a accesskey="h">
            <xsl:attribute name="href">
              <xsl:call-template name="href.target">
                 <xsl:with-param name="object" select="$home"/>
              </xsl:call-template>
            </xsl:attribute>
            <xsl:call-template name="navig.content">
              <xsl:with-param name="direction" select="'home'"/>
            </xsl:call-template>
            </a>
            </span>
            
            <xsl:if test="$chunk.tocs.and.lots != 0 
                       and $nav.context != 'toc'">
                <xsl:text> | </xsl:text>
                <span class="navfooter_toc">
                <a accesskey="t">
                  <xsl:attribute name="href">
                    <xsl:apply-templates select="/*[1]"
                                  mode="recursive-chunk-filename">
                        <xsl:with-param name="recursive" select="true()"/>
                    </xsl:apply-templates>
                    <xsl:text>-toc</xsl:text>
                    <xsl:value-of select="$html.ext"/>
                  </xsl:attribute>
                  <xsl:call-template name="gentext">
                    <xsl:with-param name="key" select="'nav-toc'"/>
                  </xsl:call-template>
                </a>
                </span>
            </xsl:if>
			
            </div>
         </xsl:when>
      </xsl:choose>

      <!-- Navegar un nivell amunt, si existeix -->
      <xsl:choose>
        <xsl:when test="count($up)>0
                        and generate-id($up) != generate-id($home)">
           <div class="navfooter_up">
           <a accesskey="u">
             <xsl:attribute name="href">
               <xsl:call-template name="href.target">
                 <xsl:with-param name="object" select="$up"/>
               </xsl:call-template>
             </xsl:attribute>
             <xsl:call-template name="navig.content">
               <xsl:with-param name="direction" select="'up'"/>
             </xsl:call-template>
           </a>
           </div>
           </xsl:when>
      </xsl:choose>
	  
      <!-- Navegar al nivell anterior, si existeix -->
      <xsl:if test="count($prev)>0">
      <div class="navfooter_prev">
        <a accesskey="p">
          <xsl:attribute name="href">
            <xsl:call-template name="href.target">
              <xsl:with-param name="object" select="$prev"/>
            </xsl:call-template>
          </xsl:attribute>
          <xsl:call-template name="navig.content">
            <xsl:with-param name="direction" select="'prev'"/>
          </xsl:call-template>
          <xsl:if test="$navig.showtitles != 0">
            <xsl:text>: </xsl:text>
            <xsl:apply-templates select="$prev" mode="object.title.markup"/>
          </xsl:if>
        </a>
        </div>
      </xsl:if>
	  
      <!-- Navegar al nivell següent, si existeix -->
      <xsl:if test="count($next)>0">
      <div class="navfooter_next">
        <a accesskey="n">
          <xsl:attribute name="href">
            <xsl:call-template name="href.target">
              <xsl:with-param name="object" select="$next"/>
            </xsl:call-template>
          </xsl:attribute>
          <xsl:call-template name="navig.content">
            <xsl:with-param name="direction" select="'next'"/>
          </xsl:call-template>
          <xsl:if test="$navig.showtitles != 0">
            <xsl:text>: </xsl:text>
            <xsl:apply-templates select="$next" mode="object.title.markup"/>
          </xsl:if>
        </a>
      </div> 
      </xsl:if>
	    
    </div>
  </xsl:if>
</xsl:template>

<!-- Element BLOCKQUOTE: per tal de que no genere taula per a maquetar una cita
     quan conté l'element ATTRIBUTION     -->
<xsl:template match="blockquote">
  <div class="{local-name(.)}">
    <xsl:if test="@lang or @xml:lang">
      <xsl:call-template name="language.attribute"/>
    </xsl:if>
    <xsl:call-template name="anchor"/>

    <xsl:choose>
      <xsl:when test="attribution">
        <p class="blockquote">
            <xsl:apply-templates select="child::*[local-name(.)!='attribution']"/>
            <xsl:text>--</xsl:text>
            <xsl:apply-templates select="attribution"/>
        </p>
      </xsl:when>
      <xsl:otherwise>
        <blockquote class="{local-name(.)}">
          <xsl:apply-templates/>
        </blockquote>
      </xsl:otherwise>
    </xsl:choose>
  </div>
</xsl:template>

<!-- Element PRODUCTIONSET i el subelement PRODUCTION per tal que
     generen taules accessibles -->
<xsl:template match="productionset">
  <span>
    <xsl:attribute name="class">
      <xsl:value-of select="name(.)"/>
    </xsl:attribute>
	<xsl:if test="title">
	  <h3 class="title">
      <xsl:apply-templates select="title"/>
	  </h3>
	</xsl:if>
    
	<table>
	  <xsl:if test="$ebnf.table.bgcolor != ''">
	    <xsl:attribute name="bgcolor">
	      <xsl:value-of select="$ebnf.table.bgcolor"/>
	    </xsl:attribute>
	  </xsl:if>
	  <xsl:attribute name="class">
	    <xsl:value-of select="name(.)"/>
	  </xsl:attribute>
	  <xsl:attribute name="summary">
		  <xsl:text>EBNF</xsl:text>
		  <xsl:if test="title">
				<xsl:text>: </xsl:text>
				<xsl:value-of select="title"/>
		  </xsl:if>
	  </xsl:attribute>
	  <tr align="left">
		  <th id="cap1" width="3%">
		  	Nº</th>
		  <th  id="cap2" width="10%">
		  	No Terminal</th>
		  <th id="cap3" width="10%">
		  	Produeix</th>
		  <th id="cap4" width="52%">
		  	Producció</th>
		  <th id="cap5" width="25%">
		  	Nota</th>
      </tr>
	  <xsl:apply-templates select="production|productionrecap"/>
	</table>
  </span>
</xsl:template>

<xsl:template match="production">
  <xsl:param name="recap" select="false()"/>
  <tr>
    <td headers="1" align="left" valign="top" width="3%">
      <xsl:text>[</xsl:text>
      <xsl:number count="production" level="any"/>
      <xsl:text>]</xsl:text>
    </td>
    <td headers="cap2" align="right" valign="top" width="10%">
      <xsl:choose>
	<xsl:when test="$recap">
	  <a>
	    <xsl:attribute name="href">
	      <xsl:call-template name="href.target">
		<xsl:with-param name="object" select="."/>
	      </xsl:call-template>
	    </xsl:attribute>
	    <xsl:apply-templates select="lhs"/>
	  </a>
	</xsl:when>
	<xsl:otherwise>
          <xsl:call-template name="anchor"/>
	  <xsl:apply-templates select="lhs"/>
	</xsl:otherwise>
      </xsl:choose>
    </td>
    <td headers="cap3" valign="top" width="10%" align="center">
      <xsl:copy-of select="$ebnf.assignment"/>
    </td>
    <td headers="cap4" valign="top" width="52%">
      <xsl:apply-templates select="rhs"/>
      <xsl:copy-of select="$ebnf.statement.terminator"/>
    </td>
    <td headers="cap5" align="left" valign="top" width="25%">
      <xsl:choose>
	<xsl:when test="rhs/lineannotation|constraint">
          <xsl:apply-templates select="rhs/lineannotation" mode="rhslo"/>
          <xsl:apply-templates select="constraint"/>
	</xsl:when>
	<xsl:otherwise>
	  <xsl:text> </xsl:text>
	</xsl:otherwise>
      </xsl:choose>
    </td>
  </tr>
</xsl:template>

</xsl:stylesheet>
  

Aquest codi correspon a l'arxiu parametres_pdf.xsl que conté els paràmetres per a la generació de codi XSL:FO.

Capa de personalització per a XSL:FO.

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="file:///c:/docbook-xsl-1.71.1/fo/docbook.xsl"/>

<!-- PARAMETRES SOBRE INCLUSIÓ D'ICONES GRAFIQUES  -->
<!-- Activar/Desactivar la creacio de icones grafiques       -->
<xsl:param name="admon.graphics" select="1"/>
<xsl:param name="admon.graphics.path" select="'imatges/admon/'"/>
<xsl:param name="admon.graphics.extension" select="'.svg'"/>
<!-- Insertar text equivalent baix de la icona generada.       -->
<xsl:param name="admon.textlabel" select="1"></xsl:param>
<!-- Estil del títol de les icones.                      -->
<xsl:attribute-set name="admonition.title.properties">
  <xsl:attribute name="font-size">12pt</xsl:attribute>
  <xsl:attribute name="font-weight">bold</xsl:attribute>
  <xsl:attribute name="hyphenate">true</xsl:attribute>
  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>  
</xsl:attribute-set>

<!-- Propietats de les icones gràfiques. -->
<xsl:attribute-set name="graphical.admonition.properties">
  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
  <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
  <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
  <xsl:attribute name="space-after.minimum">0.8em</xsl:attribute>
  <xsl:attribute name="space-after.maximum">1.2em</xsl:attribute>
</xsl:attribute-set>

<!-- DRAFT MODE: incluir la imatge com a que és un document en brut.  -->
<xsl:param name="draft.mode" select="'no'"></xsl:param>
<xsl:param name="draft.watermark.image" 
                    select="'imatges/admon/draft.png'"></xsl:param>

<!-- PARAMETRES SOBRE LES REFERÈNCIES TIPUS CALLOUT.     -->
<xsl:param name="callouts.extension" select="'1'"></xsl:param>
<xsl:param name="callout.defaultcolumn" select="'75'"></xsl:param>
<xsl:param name="callout.graphics" select="'0'"></xsl:param>
<xsl:param name="callout.graphics.extension" select="'.gif'"></xsl:param>
<xsl:param name="callout.graphics.path"
                    select="'imatges/admon/callouts/'"></xsl:param>
<xsl:param name="callout.unicode" select="1"></xsl:param>
<xsl:param name="callout.unicode.font" select="'ZapfDingbats'"></xsl:param>
<xsl:param name="callout.unicode.start.character" select="10102"></xsl:param>

<!-- PARAMETRES SOBRE LA GENERACIÓ DE TAULES DE CONTINGUTS, INDEX etc...  -->
<!-- Seleccio dels elements que generen Taules de Contingut o TOC -->
<!-- a continuacio els valors per defecte -->
<xsl:param name="generate.toc">
appendix  toc,title
article/appendix  nop
article   toc,title
book      toc,title,figure,example
chapter   toc,title
part      toc,title
preface   toc,title
qandadiv  toc
reference toc,title
sect1     toc
sect2     toc
sect3     toc
sect4     toc
sect5     toc
section   toc
set       toc,title
</xsl:param>

<!-- Inlcoure els elements BRIDGEHEAD en la taula de continguts. -->
<xsl:param name="bridgehead.in.toc" select="0"></xsl:param>

<!-- Generar un index.   -->
<xsl:param name="generate.index" select="0"></xsl:param>
<!-- Ordenar l'index segons l'alfabet del llenguatge utilitzat al document. -->
<xsl:param name="index.method" select="'kosek'"></xsl:param>
<!-- Profunditat en que apareixen les seccions 
        recursives en les Taules de Continguts. -->
<xsl:param name="toc.section.depth">3</xsl:param>
<!-- Estil de les línees en les Taules de Continguts. -->
<xsl:attribute-set name="toc.line.properties">
  <xsl:attribute name="font-weight">
  <xsl:choose>
    <xsl:when test="self::chapter | 
                       self::preface | 
                       self::appendix">bold</xsl:when>
    <xsl:otherwise>normal</xsl:otherwise>
  </xsl:choose>
  </xsl:attribute>
</xsl:attribute-set>

<!-- PARAMETRES SOBRE EXTENSIONS DE PROCESSADORS.   -->
<!-- Habilitar l'us genearl d'extensions.           -->
<xsl:param name="use.extensions" select="'1'"></xsl:param>
<!-- Extensions Arbortext: sobre el soport d'alguns formats gràfics. -->
<xsl:param name="arbortext.extensions" select="0"></xsl:param>
<!-- Extensions XSL Formatter: sobre la creació de bookmarks 
     en PDF, millora en index i formats gràfics. -->
<xsl:param name="axf.extensions" select="0"></xsl:param>
<!-- Extensions FOP versió 0.20.5 o anteriors: afecten la creació de 
     bookmarks i fotmats gràfics. -->
<xsl:param name="fop.extensions" select="1"></xsl:param>

<!-- PARAMETRES VARIS. -->
<!-- Permetre SVG com a format gràfic vàlid. Dependra del processador
     utilitzat si es renderitza correctament.  -->
<xsl:param name="use.svg" select="1"></xsl:param>
<!-- Directori on estan les imatges -->
<xsl:param name="img.src.path" select="'imatges/'"/>
<!-- Formatar els elements SEGMENTEDLIST com a taules. -->
<xsl:param name="segmentedlist.as.table" select="1"></xsl:param>
<!-- Formatar els elements VARIABLELISTS com a blocs. -->
<xsl:param name="variablelist.as.blocks" select="1"></xsl:param>
<!-- Incloure la url als elements ULINK, 
        en cas que siga diferent al text de l'element. -->
<xsl:param name="ulink.show" select="0"></xsl:param>
<!-- Posar les URL dels link com a notes al peu de la fulla. -->
<xsl:param name="ulink.footnotes" select="1"></xsl:param>
<!-- Sombrejar els elements de tipus VERBATIM. -->
<xsl:param name="shade.verbatim" select="1"></xsl:param>
<xsl:attribute-set name="shade.verbatim.style">
  <xsl:attribute name="background-color">#E0E0E0</xsl:attribute>
</xsl:attribute-set>

<!-- Estil dels BLOCS per a figures i exemples -->
<xsl:attribute-set name="formal.object.properties">
  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
  <xsl:attribute name="keep-together.within-column">always</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="formal.title.properties"
                      use-attribute-sets="normal.para.spacing">
  <xsl:attribute name="font-weight">bold</xsl:attribute>
  <xsl:attribute name="font-size">
    <xsl:value-of select="$body.font.master * 1.1"></xsl:value-of>
    <xsl:text>pt</xsl:text>
  </xsl:attribute>
  <xsl:attribute name="hyphenate">false</xsl:attribute>
  <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
  <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
  <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
</xsl:attribute-set>

<!-- PARAMETRES SOBRE LES FONTS UTILITZADES.				-->
<!-- Font per defecte. Opcions: Times Roman: serif, 
                                Helvetica: sans-serif
								Courier: monospace.			-->
<xsl:param name="body.font.family" select="'sans-serif'"></xsl:param>

<!-- PARAMETRES SOBRE PAGINACIÓ I ESTILS.        			-->
<!-- Tipus de paper, determinarà el tamany de la pàgina.	-->
<xsl:param name="paper.type" select="'A4'"></xsl:param>
<!-- Paginar per a impresió en doble cara. 					-->
<xsl:param name="double.sided" select="1"></xsl:param>
<!-- Alineament del text.-->
<xsl:param name="alignment">justify</xsl:param>
<!-- Tamany per defecte del text. 							-->
<xsl:param name="body.font.master">11</xsl:param>
<xsl:param name="body.font.size">
 <xsl:value-of select="$body.font.master"></xsl:value-of><xsl:text>pt</xsl:text>
</xsl:param>
<xsl:param name="footnote.font.size">
 <xsl:value-of select="$body.font.master * 0.8">
 </xsl:value-of><xsl:text>pt</xsl:text>
</xsl:param>

<!-- Estil de les parts marcades com a VERBATIM i amb
     fonts tipus monospace (els exemples amb codig)  -->
<xsl:attribute-set name="monospace.properties">
  <xsl:attribute name="font-family">
    <xsl:value-of select="$monospace.font.family"></xsl:value-of>
  </xsl:attribute>
  <xsl:attribute name="color">blue</xsl:attribute>
  <xsl:attribute name="alignment">left</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="verbatim.properties">
  <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
  <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
  <xsl:attribute name="space-after.minimum">0.8em</xsl:attribute>
  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
  <xsl:attribute name="space-after.maximum">1.2em</xsl:attribute>
  <xsl:attribute name="hyphenate">false</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="monospace.verbatim.properties"
                      use-attribute-sets="verbatim.properties monospace.properties">
  <xsl:attribute name="text-align">left</xsl:attribute>
  <xsl:attribute name="wrap-option">no-wrap</xsl:attribute>
  <xsl:attribute name="font-size">8<xsl:text>pt</xsl:text></xsl:attribute>
  <xsl:attribute name="color">black</xsl:attribute>
  <xsl:attribute name="alignment">left</xsl:attribute>
</xsl:attribute-set>

<!-- Propietats de les capçaleres i peus de pàgina. -->
<xsl:attribute-set name="header.content.properties">
  <xsl:attribute name="font-family">
    <xsl:value-of select="$body.fontset"></xsl:value-of>
  </xsl:attribute>
  <xsl:attribute name="margin-left">
    <xsl:value-of select="$title.margin.left"></xsl:value-of>
  </xsl:attribute>
</xsl:attribute-set>

<xsl:attribute-set name="footer.content.properties">
  <xsl:attribute name="font-family">
    <xsl:value-of select="$body.fontset"></xsl:value-of>
  </xsl:attribute>
  <xsl:attribute name="margin-left">
    <xsl:value-of select="$title.margin.left"></xsl:value-of>
  </xsl:attribute>
</xsl:attribute-set>

<!-- Quin tipus de secció comensa una nova pàgina. -->
<xsl:attribute-set name="section.level1.properties">
  <xsl:attribute name="break-before">page</xsl:attribute>
</xsl:attribute-set>
<!-- Una secció de nivell 2 comensa pàgina si no és la primera. -->
<xsl:attribute-set name="section.level2.properties">
  <xsl:attribute name="break-before">
    <xsl:if test="(preceding-sibling::sect2)">page</xsl:if>
  </xsl:attribute>
</xsl:attribute-set>

<!-- Enumerar capitols i seccions de forma completa -->
<xsl:param name="section.autolabel" select="1"/>
<xsl:param name="section.label.includes.component.label" select="1"/>

<xsl:param name="appendix.autolabel" select="'I'"></xsl:param>
<xsl:param name="insert.link.page.number">yes</xsl:param>
<!-- En quin lloc es posa el títol en els elements formals. -->
<xsl:param name="formal.title.placement">
figure before
example before
equation before
table before
procedure before
task before
</xsl:param>

</xsl:stylesheet>