[xml/sgml-pkgs] Bug#285155: can't collect.targets and make index at the same time

Cai Qian Cai Qian <caiqian@gnome.org>, 285155@bugs.debian.org
Sat, 11 Dec 2004 10:02:48 +0800

Package: xsltproc
Version: 1.1.8-5
Severity: important

1.1.11 and 1.1.12 just behave right, so it is better to upgrade. 

Here is example.
Sample XML file(1.xml)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"

Sample stylesheet(1.xsl)
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
href="/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/profile-chunk.xsl" />
  <xsl:param name="generate.index">1</xsl:param> 
  <xsl:param name="collect.xref.targets" select="'yes'" />
  <xsl:param name="targets.filename" select="'target.xml'" />
  <xsl:param name="make.valid.html" select="1" />
  <xsl:param name="chunker.output.indent" select="'yes'" />

Then I use `xsltproc 1.xsl 1.xml` to transform it to HTML, but the back
cover index is empty. However, if I commented out these two lines
  <xsl:param name="targets.filename" select="'target.xml'" />
  <xsl:param name="make.valid.html" select="1" />
. Everything is fine.

I just debuged it and found in file html/autoidx.xsl (Maybe
xhtml/autoidx.xsl, but it seems it was generated from above.)
<xsl:template match="indexterm" mode="index-symbol-div">
  <xsl:apply-templates select="key('letter', $key)
       [&scope;][count(.|key('primary',&primary;)[1]) = 1]"

The statement "count(.|key('primary',&primary;)[1])" is going to "2", so
the "select" is ''. I don't how collect.xref.targets make it wrong. 

Cai Qian