uniqueness of XSL-FO attribute 'id' not implemented in xmlspec.xsl

Hi

I got some errors, when I tried to transform the file xpath20.xml
into PDF using the xmlspec.xsl-Stylesheet (ver. 1.10). It said
something like: id already exists...
This canceled the XSL-FO to PDF transformation (not the XML to XSL-FO
transformation).

This is caused by three literal attribute constructions in the
xmlspec.xsl-Stylesheet, e.g.:

line: 919

  <xsl:template match="nt">
    <fo:inline id="{@def}">
      <xsl:apply-templates/>
    </fo:inline>
  </xsl:template>

This can be changed into

  <xsl:template match="nt">
    <fo:inline id="{concat('@def','_',generate-id())}">
        <xsl:apply-templates/>
    </fo:inline>
  </xsl:template>

I have done these changes in three places. See file xmlspec_idnew.xsl.

I did not search for any 'side affects' (but I got no more errors),
because I wanted only to see, if the result would be adequate for
my printing ...

Best regards
Klaus Bosse

Received on Tuesday, 25 April 2006 18:57:57 UTC