Next tiny step of refactoring - mostly bug fixes and cosmetic changes.
authorKasimier T. Buchcik <kbuchcik@src.gnome.org>
Mon, 22 May 2006 08:56:42 +0000 (08:56 +0000)
committerKasimier T. Buchcik <kbuchcik@src.gnome.org>
Mon, 22 May 2006 08:56:42 +0000 (08:56 +0000)
commitc43f26251337a0eb39138e65d78e82cbbb5dac04
treeb8902fec8db25835fd8ecde7500bd6af7f2f28db
parent1b969d0fc923d564baea58a6759600c6707bdd8a
Next tiny step of refactoring - mostly bug fixes and cosmetic changes.

* libxslt/attributes.c libxslt/documents.c
  libxslt/extensions.c libxslt/keys.c libxslt/pattern.c
  libxslt/preproc.c libxslt/templates.c
  libxslt/transform.c libxslt/variables.c
  libxslt/xslt.c libxslt/xsltInternals.h:
  Next tiny step of refactoring - mostly bug fixes and
  cosmetic changes.
  Changes outside of the refactored code:
  1) Optimized xsl:attribute if the content consists of
   just 1 text node.
  2) Optimized computation of xsl:key. The keys will now be
   computed for a specific document not until the first call
   of a key() function; here only the keys with the specific
   name used by key() are computed. This means that this
   now avoids computation of all keys for all loaded
   input documents (even if no key() was called on them).
   One exception is the scenario where a key() is used in
   a template's match pattern; in this case all keys are
   computed for a document if there's a chance that
   a "keyed" template could match a node (this could still
   be optimized a bit).
12 files changed:
ChangeLog
libxslt/attributes.c
libxslt/documents.c
libxslt/extensions.c
libxslt/keys.c
libxslt/pattern.c
libxslt/preproc.c
libxslt/templates.c
libxslt/transform.c
libxslt/variables.c
libxslt/xslt.c
libxslt/xsltInternals.h