Re: [docbook-apps] Re: "No ID for constraint linkend" when using html/profile-docbook.xsl

From
Daniel Veillard <>
Date
2003-12-11T11:23:53+00:00
ID
Thread
Re: [docbook-apps] Re: "No ID for constraint linkend" when using html/profile-docbook.xsl
On Thu, Dec 11, 2003 at 08:59:08AM +0100, Jirka Kosek wrote:
> Steinar Bang wrote:
> 
> >OK.  So <xref> and <link> don't work in single pass profiling? 
> >
> >Pity.  Any chance of fixing it at some point in time?  Does it need a
> >new XSL standard?
> 
> It works in Saxon, but not in xsltproc. Week ago I proposed 
> clarification of EXSLT node-set() function. It seems that EXSLT folks 
> are willing to refine definition of this function. If this proposal is 
> accepted I think that Daniel (author of xsltproc) will change xsltproc 
> to behave in accordance with EXSLT. Then single pass profiling will work 
> also in xsltproc.
> 
> See:
> 
> http://lists.fourthought.com/pipermail/exslt/2003-December/000982.html

  Well, if that mean that all keys must be recomputed on all node-set()
results, beware this could cost *a lot* at runtime. What I suspect is that
the keying property that you obtain from Saxon is due to the fact that nodes
are reused, if you really build a new document, then it's a completely
different process, a node which was a key in the first document may not
be a key in the resulting node set and vice-versa, because the key will have
to be recomputed from scratch. Looking at just how much (too much) processing
is done by the docbook stylesheets, the fact that I implement that fully
could have a very serious impact on performances, that could be true for
others processors too.
  At some point I may simply just drop the ball, all these node-set and
functions extensions are radical extensions from the XSLT-1.0 spec, they
*completely* change some of the assumptions I made when I engineered 
the libxslt implementation based on XSLT-1.0 spec, especially w.r.t. to the
lifetime of objects, scope of access of objects etc...

Daniel

-- 
Daniel Veillard      | Red Hat Network https://rhn.redhat.com/
  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/