I did the same and got a footnote mark. Using the previous  oxygen
configuration but not my customization file (attached) I got the
footnote mark. I cannot see what it is in the customization that blocks
footnote marks.

Please help

Regards

Bernhard

Am 08.02.2019 um 18:09 schrieb Bob Stayton:
>
> Hi Bernhard,
>
> I just copied and pasted your example into my document and processed
> it with Oxygen's default docbook PDF transformation, and I see the
> footnote mark "a" in both the paragraph and before the footnote
> paragraph.  The stylesheet uses the same template to generate the
> mark, so I'm not sure why it is not working for you.
>
> Bob Stayton
> Sagehill Enterprises
> [email protected]
> On 2/8/2019 8:18 AM, Bernhard Kleine wrote:
>>
>>  die Schmetterlinge<footnote label="a">
>>                 <para>Die Begriffe Falter und Schmetterling sind
>> meines Wissens gleichbedeutend und
>>                     werden in gleichem Sinne verwendet.</para>
>>             </footnote> vor,
>>
>> Am 08.02.2019 um 17:11 schrieb Bob Stayton:
>>>
>>> That's odd.  My footnotes are numbered, not lettered.  How is it
>>> that your footnotes are lettered?  Can you supply a sample of the
>>> markup you used?
>>>
>>> Bob Stayton
>>> Sagehill Enterprises
>>> [email protected]
>>> On 2/8/2019 4:49 AM, Bernhard Kleine wrote:
>>>>
>>>> In my book I noticed that footnote marks are missing. I didnot
>>>> change anything with respect to footnote marks in the configuration
>>>> of oxygen or in the customization file. I use oxygen 20.1 and the
>>>> inbuilt saxon 6.5 to produce a pdf.
>>>>
>>>> I need some advice to have footnote marks at the footnote:
>>>>
>>>>
>>>>
>>>>
>>>> The "a" is not used before "Die Begriffe..."
>>>>
>>>> Regards 
>>>> Bernhard
>>>> -- 
>>>> spitzhalde9
>>>> D-79853 lenzkirch
>>>> [email protected]
>>>> www.b-kleine.com, www.urseetal.net
>>>> -
>>>> thunderbird mit enigmail
>>>> GPG schlüssel: D5257409
>>>> fingerprint:
>>>> 08 B7 F8 70 22 7A FC C1 15 49 CA A6 C7 6F A0 2E D5 25 74 09
>> -- 
>> spitzhalde9
>> D-79853 lenzkirch
>> [email protected]
>> www.b-kleine.com, www.urseetal.net
>> -
>> thunderbird mit enigmail
>> GPG schlüssel: D5257409
>> fingerprint:
>> 08 B7 F8 70 22 7A FC C1 15 49 CA A6 C7 6F A0 2E D5 25 74 09

-- 
spitzhalde9
D-79853 lenzkirch
[email protected]
www.b-kleine.com, www.urseetal.net
-
thunderbird mit enigmail
GPG schlüssel: D5257409
fingerprint:
08 B7 F8 70 22 7A FC C1 15 49 CA A6 C7 6F A0 2E D5 25 74 09

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">

<!ENTITY primary   'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
<!ENTITY secondary 'normalize-space(concat(secondary/@sortas, secondary[not(@sortas)]))'>
<!ENTITY tertiary  'normalize-space(concat(tertiary/@sortas, tertiary[not(@sortas)]))'>
<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
<!ENTITY sep '" "'>
<!ENTITY % fontsizes SYSTEM "mysizeslarge.ent">
 %mysizeslarge;
]>
<xsl:stylesheet 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  xmlns:d="http://docbook.org/ns/docbook";
  xmlns:fo="http://www.w3.org/1999/XSL/Format"; version="1.0">
  <xsl:import href="http://docbook.sourceforge.net/release/xsl-ns/current/fo/docbook.xsl"/>
  <xsl:param name="local.l10n.xml" select="document('')"/>
  <xsl:param name="draft.watermark.image">draft.png</xsl:param>
  <l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0";>
  
    <l:l10n language="de">
      <l:gentext key="listoftables" text="Liste der Faltertabellen"/>
      <l:gentext key="ListofTables" text="Liste der Faltertabellen"/>
      <l:gentext key="Index" text="Namensliste"/>
      <l:gentext key="index" text="Namensliste"/>
      <l:context name="title">
        <!-- formatiert Tabellen und Abbildungstitel -->
        <l:template name="table" text="%t"/>
        <l:template name="figure" text="%t"/>
      </l:context>
      <l:context name="xref-number-and-title">
        <l:template name="table" text="in Tab. %t (S. %p)"/>
        <l:template name="figure" text="(%t; S. %p)"/>
        <l:template name="chapter" text="Kapitel %n (S. %p)"/>
        <l:template name="entry" style="PageInParenE" text="S. %p"/>
        <l:template name="mediaobject" style="seite" text="S. %p"/>
        <l:template name="sect1" style="PageInParen1" text=" (S. %p)"/>
        <l:template name="sect2" style="PageInParen1" text=" (S. %p)"/>
        <l:template name="sect3" style="PageInParen1" text=" (S. %p)"/>
        <l:template name="sect4" style="PageInParen1" text=" (S. %p)"/>
      </l:context>
      <l:context name="xref-number">
        <l:template name="table" text="(in Tab. %t; (S. %p)"/>
        <l:template name="figure" text="(Bild %t; S. %p)"/>
        <l:template name="chapter" text="Kapitel %n (S. %p)"/>
        <l:template name="entry" style="PageInParenE2" text="S. %p"/>
        <l:template name="mediaobject" style="seite" text="S. %p"/>
        <l:template name="sect1" style="PageInParen1" text=" (S. %p)"/>
        <l:template name="sect2" style="PageInParen1" text=" (S. %p)"/>
        <l:template name="sect3" style="PageInParen1" text=" (S. %p)"/>
        <l:template name="sect4" style="PageInParen1" text=" (S. %p)"/>
      </l:context>
      <l:context name="xref">
        <l:template name="chapter" style="PageInParen1" text=" (S. %p)"/>
        <l:template name="sect1" style="PageInParen1" text=" (S. %p)"/>
        <l:template name="sect2" style="PageInParen2" text=" (S. %p)"/>
        <l:template name="sect3" style="PageInParen2" text=" (S. %p)"/>
        <l:template name="sect4" style="PageInParen2" text=" (S. %p)"/>
        <l:template name="entry" style="PageInParenE1" text=" (S. %p)"/>
        <l:template name="imageobject" style="PageInParenI" text="%n (S. %p)"/>
        <l:template name="footnote" style="fussnotenref" text="Fußnote S. %p"/>
      </l:context>
    </l:l10n> 
  </l:i18n>
  <xsl:attribute-set name="section.title.level1.properties">
    <xsl:attribute name="font-family">Alegreya</xsl:attribute>
    <xsl:attribute name="font-size">21pt</xsl:attribute>
    <xsl:attribute name="font-weight">bold</xsl:attribute>
  </xsl:attribute-set>
  <xsl:attribute-set name="section.title.level2.properties">
    <xsl:attribute name="font-family">Alegreya</xsl:attribute>
    <xsl:attribute name="font-size">19pt</xsl:attribute>
    <xsl:attribute name="font-style">bold</xsl:attribute>
    </xsl:attribute-set>
  <xsl:attribute-set name="section.title.level3.properties">
    <xsl:attribute name="font-family">Alegreya</xsl:attribute>
    <xsl:attribute name="font-size">17pt</xsl:attribute>
    <xsl:attribute name="font-weight">normal</xsl:attribute>
  </xsl:attribute-set>
  <xsl:template match="*" mode="pagenumber.markup">
    <xsl:variable name="id">
      <xsl:call-template name="object.id"/>
    </xsl:variable>
    <xsl:apply-templates select="." mode="page-number-prefix"/>
    <fo:page-number-citation ref-id="{$id}"/>
  </xsl:template>
  
  <xsl:template name="chapterappendix.title">
    <xsl:param name="node" select="."/>
    <xsl:param name="pagewide" select="0"/>
    
    <xsl:variable name="id">
      <xsl:call-template name="object.id">
        <xsl:with-param name="object" select="$node"/>
      </xsl:call-template>
    </xsl:variable>
    
    <xsl:variable name="title">
      <xsl:apply-templates select="$node" mode="object.title.markup">
        <xsl:with-param name="allow-anchors" select="1"/>
      </xsl:apply-templates>
    </xsl:variable>
    
    <xsl:variable name="titleabbrev">
      <xsl:apply-templates select="$node" mode="titleabbrev.markup"/>
    </xsl:variable>
    
    <xsl:variable name="level">
      <xsl:choose>
        <xsl:when test="ancestor::d:section">
          <xsl:value-of select="count(ancestor::d:section)+1"/>
        </xsl:when>
        <xsl:when test="ancestor::d:sect5">6</xsl:when>
        <xsl:when test="ancestor::d:sect4">5</xsl:when>
        <xsl:when test="ancestor::d:sect3">4</xsl:when>
        <xsl:when test="ancestor::d:sect2">3</xsl:when>
        <xsl:when test="ancestor::d:sect1">2</xsl:when>
        <xsl:otherwise>1</xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
    
    <fo:block xsl:use-attribute-sets="component.title.properties">
      <xsl:if test="$pagewide != 0">
        <!-- Doesn't work to use 'all' here since not a child of fo:flow -->
        <xsl:attribute name="span">inherit</xsl:attribute>
      </xsl:if>
      <xsl:attribute name="hyphenation-character">
        <xsl:call-template name="gentext">
          <xsl:with-param name="key" select="'hyphenation-character'"/>
        </xsl:call-template>
      </xsl:attribute>
      <xsl:attribute name="hyphenation-push-character-count">
        <xsl:call-template name="gentext">
          <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
        </xsl:call-template>
      </xsl:attribute>
      <xsl:attribute name="hyphenation-remain-character-count">
        <xsl:call-template name="gentext">
          <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
        </xsl:call-template>
      </xsl:attribute>
      <xsl:if test="$axf.extensions != 0 and 
        $xsl1.1.bookmarks = 0 and 
        $show.bookmarks != 0">
        <xsl:attribute name="axf:outline-level">
          <xsl:value-of select="count($node/ancestor::*)"/>
        </xsl:attribute>
        <xsl:attribute name="axf:outline-expand">false</xsl:attribute>
        <xsl:attribute name="axf:outline-title">
          <xsl:value-of select="normalize-space($title)"/>
        </xsl:attribute>
      </xsl:if>
      <xsl:attribute name="font-family">Alegreya</xsl:attribute>
      <xsl:attribute name="font-size">24.8pt</xsl:attribute>
      <xsl:attribute name="font-weight">bold</xsl:attribute>
      <!-- Let's handle the case where a component (bibliography, for example)
         occurs inside a section; will we need parameters for this?
         Danger Will Robinson: using section.title.level*.properties here
         runs the risk that someone will set something other than
         font-size there... -->
      <xsl:choose>
        <xsl:when test="$level=2">
          <fo:block xsl:use-attribute-sets="section.title.level2.properties">
            <xsl:copy-of select="$title"/>
          </fo:block>
        </xsl:when>
        <xsl:when test="$level=3">
          <fo:block xsl:use-attribute-sets="section.title.level3.properties">
            <xsl:copy-of select="$title"/>
          </fo:block>
        </xsl:when>
        <xsl:when test="$level=4">
          <fo:block xsl:use-attribute-sets="section.title.level4.properties">
            <xsl:copy-of select="$title"/>
          </fo:block>
        </xsl:when>
        <xsl:when test="$level=5">
          <fo:block xsl:use-attribute-sets="section.title.level5.properties">
            <xsl:copy-of select="$title"/>
          </fo:block>
        </xsl:when>
        <xsl:when test="$level=6">
          <fo:block xsl:use-attribute-sets="section.title.level6.properties">
            <xsl:copy-of select="$title"/>
          </fo:block>
        </xsl:when>
        <xsl:otherwise>
          <!-- not in a section: do nothing special -->
          <xsl:copy-of select="$title"/>
        </xsl:otherwise>
      </xsl:choose>
    </fo:block>
  </xsl:template>
  <xsl:attribute-set name="mychap.title.properties">
    <xsl:attribute name="font-family">Alegreya</xsl:attribute>
    <xsl:attribute name="font-size">24.8pt</xsl:attribute>
    <xsl:attribute name="font-weight">bold</xsl:attribute>
  </xsl:attribute-set>
  <xsl:template match="processing-instruction('hard-pagebreak')">
    <fo:block break-after="page"/>
    <!-- fügt einen Seitenumbruch ein -->
  </xsl:template>
  <xsl:template match="processing-instruction('linebreak')">
    <fo:block/>
    <!-- fügt eines Zeilenumbruch ein -->
  </xsl:template>
  <xsl:param name="caption.align">justify</xsl:param>
  <!-- definiert die Ausrichtung und Einrückung von Caption -->
  <xsl:template match="d:mediaobject/d:caption">
    <!-- Beginn des Templates-->
    <fo:block role="caption" xsl:use-attribute-sets="captionlayout.properties">
      <!-- Testet ob der obige Parameter in der Liste enthalten -->
      <xsl:if
        test="
        $caption.align = 'right' or
        $caption.align = 'left' or
        $caption.align = 'justify' or
        $caption.align = 'center'">
        <xsl:attribute name="text-align">
          <xsl:value-of select="$caption.align"/>
        </xsl:attribute>
      </xsl:if>
      <xsl:apply-templates/>
      <!-- wendet das Template an -->
    </fo:block>
  </xsl:template>
  <xsl:attribute-set name="captionlayout.properties">
    <xsl:attribute name="margin-left">2em</xsl:attribute>
    <xsl:attribute name="margin-right">2em</xsl:attribute>
    <xsl:attribute name="font-size">13pt</xsl:attribute>
  </xsl:attribute-set>
  <xsl:template match="d:literallayout">
    <!-- für ein Gedicht -->
    <fo:block xsl:use-attribute-sets="literallayout.properties">
      <xsl:apply-templates/>
    </fo:block>
  </xsl:template>
  <xsl:attribute-set name="literallayout.properties">
    <xsl:attribute name="margin-left">2em</xsl:attribute>
    <xsl:attribute name="font-size">13pt</xsl:attribute>
  </xsl:attribute-set>
  <xsl:template match="d:para[@role = 'zitat']">
    <!-- für ein mehrzeiliges Textzitat -->
    <fo:block xsl:use-attribute-sets="zitatlayout.properties">
      <xsl:apply-templates/>
    </fo:block>
  </xsl:template>
  <xsl:attribute-set name="zitatlayout.properties">
    <xsl:attribute name="margin-left">2em</xsl:attribute>
    <xsl:attribute name="margin-right">2em</xsl:attribute>
    <xsl:attribute name="font-size">13pt</xsl:attribute>
  </xsl:attribute-set>
  <xsl:attribute-set name="figure.properties">
    <xsl:attribute name="keep-together.within-column">
      <xsl:choose>
        <xsl:when test="count(d:mediaobject) &gt; 1">inherit</xsl:when>
        <xsl:otherwise>always</xsl:otherwise>
      </xsl:choose>
    </xsl:attribute>
  </xsl:attribute-set>
  <xsl:template match="d:para"> <!-- In kompakten Listen para-Abstand anpassen --> 
    <xsl:variable name="keep.together">
      <xsl:call-template name="pi.dbfo_keep-together"/>
    </xsl:variable>
    <fo:block xsl:use-attribute-sets="para.properties">
      <xsl:if test="$keep.together != ''">
        <xsl:attribute name="keep-together.within-column"><xsl:value-of
          select="$keep.together"/></xsl:attribute>
      </xsl:if>
      <xsl:if test="ancestor::*/@spacing = 'compact'">
        <xsl:attribute name="space-before.optimum">0.15em</xsl:attribute>
        <xsl:attribute name="space-before.minimum">0.1em</xsl:attribute>
        <xsl:attribute name="space-before.maximum">.2em</xsl:attribute>
        <xsl:attribute name="font-size">12pt</xsl:attribute>
      </xsl:if>
      <xsl:call-template name="anchor"/>
      <xsl:apply-templates/>
    </fo:block>
  </xsl:template>  
    <!-- aus PAGESETUP.xsl plus Beiträge von Bob Stayton --> 
  <xsl:template name="footer.content">
    <xsl:param name="pageclass" select="''"/>
    <xsl:param name="sequence" select="''"/>
    <xsl:param name="position" select="''"/>
    <xsl:param name="gentext-key" select="''"/>
    
    <!--
  <fo:block>
    <xsl:value-of select="$pageclass"/>
    <xsl:text>, </xsl:text>
    <xsl:value-of select="$sequence"/>
    <xsl:text>, </xsl:text>
    <xsl:value-of select="$position"/>
    <xsl:text>, </xsl:text>
    <xsl:value-of select="$gentext-key"/>
  </fo:block>
-->
    
    <fo:block>
      <!-- pageclass can be front, body, back -->
      <!-- sequence can be odd, even, first, blank -->
      <!-- position can be left, center, right -->
      <xsl:choose>
        <xsl:when test="$pageclass = 'titlepage'">
          <!-- nop; no footer on title pages -->
        </xsl:when>
        
        <xsl:when test="$double.sided != 0 and $sequence = 'even'
          and $position='left'">
          <xsl:apply-templates mode="page-number-prefix" select="."/>
          <fo:page-number/>
        </xsl:when>
        
        <xsl:when test="$double.sided != 0 and ($sequence = 'odd' or $sequence = 'first')
          and $position='right'">
          <xsl:apply-templates mode="page-number-prefix" select="."/>
          <fo:page-number/>
        </xsl:when>
        
        <xsl:when test="$double.sided = 0 and $position='center'">
          <xsl:apply-templates mode="page-number-prefix" select="."/>
          <fo:page-number/>
        </xsl:when>
        
        <xsl:when test="$sequence='blank'">
          <xsl:choose>
            <xsl:when test="$double.sided != 0 and $position = 'left'">
              <xsl:apply-templates mode="page-number-prefix" select="."/>
              <fo:page-number/>
            </xsl:when>
            <xsl:when test="$double.sided = 0 and $position = 'center'">
              <xsl:apply-templates mode="page-number-prefix" select="."/>
              <fo:page-number/>
            </xsl:when>
            <xsl:otherwise>
              <!-- nop -->
            </xsl:otherwise>
          </xsl:choose>
        </xsl:when>
        
        
        <xsl:otherwise>
          <!-- nop -->
        </xsl:otherwise>
      </xsl:choose>
    </fo:block>
  </xsl:template>
    <!-- Customizing the toc.line template to place page-number-prefix
       in the TOC -->
  <xsl:template name="toc.line">
    <xsl:variable name="id">
      <xsl:call-template name="object.id"/>
    </xsl:variable>
    
    <xsl:variable name="label">
      <xsl:apply-templates select="." mode="label.markup">
        <xsl:with-param name="purpose" select="'toc'"/>
      </xsl:apply-templates>
    </xsl:variable>
    
    <fo:block text-align-last="justify"
      end-indent="{$toc.indent.width}pt"
      last-line-end-indent="-{$toc.indent.width}pt">
      <fo:inline keep-with-next.within-line="always">
        <fo:basic-link internal-destination="{$id}">
          <xsl:if test="$label != ''">
            <xsl:copy-of select="$label"/>
            <xsl:value-of select="$autotoc.label.separator"/>
          </xsl:if>
          <xsl:apply-templates select="." mode="title.markup"/>
        </fo:basic-link>
      </fo:inline>
      <fo:inline keep-together.within-line="always">
        <xsl:text> </xsl:text>
        <fo:leader leader-pattern="space"
          leader-pattern-width="5pt"
          leader-alignment="reference-area"
          keep-with-next.within-line="always"/>
        <xsl:text> </xsl:text> 
        <fo:basic-link internal-destination="{$id}">
          <xsl:apply-templates mode="page-number-prefix" select="."/>
          <fo:page-number-citation ref-id="{$id}"/>
        </fo:basic-link>
      </fo:inline>
    </fo:block>
  </xsl:template>
  <xsl:template name="initial.page.number">
    <xsl:param name="element" select="local-name(.)"/>
    <xsl:param name="master-reference" select="''"/>
    
    <xsl:variable name="first">
      <xsl:choose>
        <xsl:when test="$force.blank.pages = 0">1</xsl:when>
        <xsl:otherwise>1</xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
    <!-- Select the first content that the stylesheet places
     after the TOC -->
    <xsl:variable name="first.book.content"
      select="ancestor::d:book/*[
      not(self::d:title or
      self::d:subtitle or
      self::d:titleabbrev or
      self::d:bookinfo or
      self::d:info or
      self::d:dedication or
      self::d:acknowledgements or
      self::d:preface or
      self::d:toc or
      self::d:lot)][1]"/>
    <xsl:choose>
      <!-- double-sided output -->
      <xsl:when test="$double.sided != 0">
        <xsl:choose>
          <xsl:when test="$element = 'toc'"><xsl:value-of select="$first"/></xsl:when>
          <xsl:when test="$element = 'book'"><xsl:value-of select="$first"/></xsl:when>
          <!-- preface typically continues TOC roman numerals -->
          <!-- If changed to 1 here, then change page.number.format too -->
          <xsl:when test="$element = 'preface'"><xsl:value-of select="$first"/></xsl:when>
          <xsl:when test="($element = 'dedication' or $element = 'article')
            and not(preceding::d:chapter
            or preceding::d:preface
            or preceding::d:appendix
            or preceding::d:article
            or preceding::d:dedication
            or parent::d:part
            or parent::d:reference)">1</xsl:when>
          <xsl:when test="generate-id($first.book.content) =
            generate-id(.)">1</xsl:when>
          <xsl:otherwise><xsl:value-of select="$first"/></xsl:otherwise>
        </xsl:choose>
      </xsl:when>
      
      <!-- single-sided output -->
      <xsl:otherwise>
        <xsl:choose>
          <xsl:when test="$element = 'toc'">auto</xsl:when>
          <xsl:when test="$element = 'book'">auto</xsl:when>
          <xsl:when test="$element = 'preface'">auto</xsl:when>
          <xsl:when test="($element = 'dedication' or $element = 'article') and
            not(preceding::d:chapter
            or preceding::d:preface
            or preceding::d:appendix
            or preceding::d:article
            or preceding::d:dedication
            or parent::d:part
            or parent::d:reference)">1</xsl:when>
          <xsl:when test="generate-id($first.book.content) =
            generate-id(.)">1</xsl:when>
          <xsl:otherwise>1</xsl:otherwise>
        </xsl:choose>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>
  <xsl:template match="d:indexterm" mode="reference">
  <xsl:param name="scope" select="."/>
  <xsl:param name="separator" select="', '"/>

  <xsl:if test="$passivetex.extensions = '0'">
    <xsl:value-of select="$separator"/>
  </xsl:if>

  <xsl:choose>
    <xsl:when test="@zone and string(@zone)">
      <xsl:call-template name="reference">
        <xsl:with-param name="zones" select="normalize-space(@zone)"/>
        <xsl:with-param name="scope" select="$scope"/>
      </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
      <xsl:variable name="id">
        <xsl:call-template name="object.id"/>
      </xsl:variable>

      <fo:basic-link internal-destination="{$id}">
        <xsl:apply-templates mode="page-number-prefix" select="."/>
        <fo:page-number-citation ref-id="{$id}"/>
      </fo:basic-link>

      <xsl:if test="key('endofrange', @id)[&scope;]">
        <xsl:apply-templates select="key('endofrange', @id)[&scope;][last()]"
                             mode="reference">
          <xsl:with-param name="scope" select="$scope"/>
          <xsl:with-param name="separator" select="'-'"/>
        </xsl:apply-templates>
      </xsl:if>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>
  <xsl:template name="reference">
  <xsl:param name="scope" select="."/>
  <xsl:param name="zones"/>

  <xsl:choose>
    <xsl:when test="contains($zones, ' ')">
      <xsl:variable name="zone" select="substring-before($zones, ' ')"/>
      <xsl:variable name="target" select="key('id', $zone)[&scope;]"/>

      <xsl:variable name="id">
        <xsl:call-template name="object.id">
           <xsl:with-param name="object" select="$target[1]"/>
        </xsl:call-template>
      </xsl:variable>

      <fo:basic-link internal-destination="{$id}">
        <xsl:apply-templates mode="page-number-prefix" select="$target[1]"/>
        <fo:page-number-citation ref-id="{$id}"/>
      </fo:basic-link>

      <xsl:if test="$passivetex.extensions = '0'">
        <xsl:text>, </xsl:text>
      </xsl:if>
      <xsl:call-template name="reference">
        <xsl:with-param name="zones" select="substring-after($zones, ' ')"/>
        <xsl:with-param name="scope" select="$scope"/>
      </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
      <xsl:variable name="zone" select="$zones"/>
      <xsl:variable name="target" select="key('id', $zone)[&scope;]"/>

      <xsl:variable name="id">
        <xsl:call-template name="object.id">
          <xsl:with-param name="object" select="$target[1]"/>
        </xsl:call-template>
      </xsl:variable>

      <fo:basic-link internal-destination="{$id}">
        <xsl:apply-templates mode="page-number-prefix" select="$target[1]"/>
        <fo:page-number-citation ref-id="{$id}"/>
      </fo:basic-link>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>
  <xsl:template match="d:indexterm" mode="reference-markup">
  <xsl:param name="scope" select="."/>
  <xsl:choose>
    <xsl:when test="@zone and string(@zone)">
      <xsl:call-template name="reference-markup">
        <xsl:with-param name="zones" select="normalize-space(@zone)"/>
        <xsl:with-param name="scope" select="$scope"/>
      </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
      <xsl:variable name="id">
        <xsl:call-template name="object.id"/>
      </xsl:variable>


      <xsl:choose>
        <xsl:when test="@startref and @class='endofrange'">
          <xsl:text>&lt;phrase role="pageno"&gt;</xsl:text>
          <xsl:text>&lt;link linkend="</xsl:text>
          <xsl:value-of select="@startref"/>
          <xsl:text>"&gt;</xsl:text>
          <fo:basic-link internal-destination="{@startref}">
            <xsl:apply-templates mode="page-number-prefix" select="."/>
            <fo:page-number-citation ref-id="{@startref}"/>
            <xsl:text>-</xsl:text>
            <fo:page-number-citation ref-id="{$id}"/>
          </fo:basic-link>
          <xsl:text>&lt;/link&gt;</xsl:text>
          <xsl:text>&lt;/phrase&gt;&#10;</xsl:text>
        </xsl:when>
        <xsl:otherwise>
          <xsl:text>&lt;phrase role="pageno"&gt;</xsl:text>
          <xsl:if test="@id">
            <xsl:text>&lt;link linkend="</xsl:text>
            <xsl:value-of select="$id"/>
            <xsl:text>"&gt;</xsl:text>
          </xsl:if>
          <fo:basic-link internal-destination="{$id}">
            <xsl:apply-templates mode="page-number-prefix" select="."/>
            <fo:page-number-citation ref-id="{$id}"/>
          </fo:basic-link>
          <xsl:if test="@id">
            <xsl:text>&lt;/link&gt;</xsl:text>
          </xsl:if>
          <xsl:text>&lt;/phrase&gt;&#10;</xsl:text>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>
  <xsl:template name="reference-markup">
  <xsl:param name="scope" select="."/>
  <xsl:param name="zones"/>
  <xsl:choose>
    <xsl:when test="contains($zones, ' ')">
      <xsl:variable name="zone" select="substring-before($zones, ' ')"/>
      <xsl:variable name="target" select="key('id', $zone)[&scope;]"/>

      <xsl:variable name="id">
        <xsl:call-template name="object.id">
          <xsl:with-param name="object" select="$target[1]"/>
        </xsl:call-template>
      </xsl:variable>

      <xsl:text>&lt;phrase role="pageno"&gt;</xsl:text>
      <xsl:if test="$target[1]/@id">
        <xsl:text>&lt;link linkend="</xsl:text>
        <xsl:value-of select="$id"/>
        <xsl:text>"&gt;</xsl:text>
      </xsl:if>
      <fo:basic-link internal-destination="{$id}">
        <xsl:apply-templates mode="page-number-prefix" select="$target[1]"/>
        <fo:page-number-citation ref-id="{$id}"/>
      </fo:basic-link>
      <xsl:if test="$target[1]/@id">
        <xsl:text>&lt;/link&gt;</xsl:text>
      </xsl:if>
      <xsl:text>&lt;/phrase&gt;&#10;</xsl:text>

      <xsl:call-template name="reference">
        <xsl:with-param name="zones" select="substring-after($zones, ' ')"/>
        <xsl:with-param name="scope" select="$scope"/>
      </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
      <xsl:variable name="zone" select="$zones"/>
      <xsl:variable name="target" select="key('id', $zone)[&scope;]"/>

      <xsl:variable name="id">
        <xsl:call-template name="object.id">
          <xsl:with-param name="object" select="$target[1]"/>
        </xsl:call-template>
      </xsl:variable>

      <xsl:text>&lt;phrase role="pageno"&gt;</xsl:text>
      <xsl:if test="$target[1]/@id">
        <xsl:text>&lt;link linkend="</xsl:text>
        <xsl:value-of select="$id"/>
        <xsl:text>"&gt;</xsl:text>
      </xsl:if>
      <fo:basic-link internal-destination="{$id}">
        <xsl:apply-templates mode="page-number-prefix" select="$target[1]"/>
        <fo:page-number-citation ref-id="{$id}"/>
      </fo:basic-link>
      <xsl:if test="$target[1]/@id">
        <xsl:text>&lt;/link&gt;</xsl:text>
      </xsl:if>
      <xsl:text>&lt;/phrase&gt;&#10;</xsl:text>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>
  <xsl:template match="d:chapter|d:chapter//*" mode="page-number-prefix">
  <xsl:number count="d:chapter" from="d:book" level="any"/>
  <xsl:text>&#x2013;</xsl:text>
</xsl:template>
  <xsl:template match="d:appendix|d:appendix//*" mode="page-number-prefix">
  <xsl:number count="d:appendix" from="d:book" level="single" format="A"/>
  <xsl:text>&#x2013;</xsl:text>
  </xsl:template>
  <xsl:template match="d:glossary|d:glossary//*" mode="page-number-prefix">
    <xsl:variable name="glossname">
      <xsl:call-template name="gentext">
        <xsl:with-param name="key" select="'glossary'"/>
      </xsl:call-template>
    </xsl:variable>
    <xsl:value-of select="substring($glossname,1,1)"/>
    <xsl:text>&#x2013;</xsl:text>
  </xsl:template>
  <xsl:template match="d:index|d:index//*" mode="page-number-prefix">
    <xsl:call-template name="gentext">
      <xsl:with-param name="key" select="'index'"/>
    </xsl:call-template>
    <xsl:text>&#x2013;</xsl:text>
  </xsl:template>
  <xsl:template match="d:reference|d:reference//*" mode="page-number-prefix">
    <xsl:apply-templates select="preceding::d:chapter[1]" mode="page-number-prefix"/>
  </xsl:template>
  <xsl:template match="d:refentry|d:refentry//*" mode="page-number-prefix">
    <xsl:apply-templates select="preceding::d:chapter[1]" mode="page-number-prefix"/>
  </xsl:template>
  
  <xsl:template match="*" mode="page-number-prefix"/>
</xsl:stylesheet>

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to