summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/ChangeLog.xsl113
-rw-r--r--doc/Makefile.am4
-rw-r--r--doc/Makefile.in900
-rw-r--r--doc/contexts.fig175
-rwxr-xr-xdoc/index.py1248
-rw-r--r--doc/libxslt-decl.txt1449
-rw-r--r--doc/libxslt.xml92
-rw-r--r--doc/libxslt.xsa26
-rw-r--r--doc/news.html135
-rw-r--r--doc/node.fig91
-rw-r--r--doc/object.fig90
-rw-r--r--doc/processing.fig137
-rw-r--r--doc/search.php346
-rw-r--r--doc/search.php.inc333
-rw-r--r--doc/search.templ11
-rw-r--r--doc/stylesheet.fig104
-rw-r--r--doc/templates.fig138
-rw-r--r--doc/tutorial/libxslt_tutorial.c20
-rw-r--r--doc/tutorial/libxslttutorial.html14
-rw-r--r--doc/tutorial2/libxslt_pipes.c16
-rw-r--r--doc/tutorial2/libxslt_pipes.html14
-rw-r--r--doc/xslt.html138
-rw-r--r--doc/xsltproc.xml2
23 files changed, 1201 insertions, 4395 deletions
diff --git a/doc/ChangeLog.xsl b/doc/ChangeLog.xsl
deleted file mode 100644
index c94f9f0c..00000000
--- a/doc/ChangeLog.xsl
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0"?>
-<!-- this stylesheet builds the ChangeLog.html -->
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
- <!-- Import the rest of the site stylesheets -->
- <xsl:import href="site.xsl"/>
-
- <!-- Generate XHTML-1.0 transitional -->
- <xsl:output method="xml" encoding="ISO-8859-1" indent="yes"
- doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
- doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
-
- <xsl:param name="module">libxslt</xsl:param>
-
- <!-- The table of content for the HTML page -->
- <xsl:variable name="menu_name">API Menu</xsl:variable>
- <xsl:variable name="develtoc">
- <form action="../search.php"
- enctype="application/x-www-form-urlencoded" method="get">
- <input name="query" type="text" size="20" value=""/>
- <input name="submit" type="submit" value="Search ..."/>
- </form>
- <ul><!-- style="margin-left: -1em" -->
- <li><a style="font-weight:bold"
- href="{$href_base}index.html">Main Menu</a></li>
- <li><a style="font-weight:bold"
- href="{$href_base}docs.html">Developer Menu</a></li>
- <li><a style="font-weight:bold"
- href="{$href_base}html/index.html">Modules Index</a></li>
- <li><a style="font-weight:bold"
- href="{$href_base}examples/index.html">Code Examples</a></li>
- <li><a style="font-weight:bold"
- href="index.html">API Menu</a></li>
- </ul>
- </xsl:variable>
-
- <xsl:template match="bug">
- <a href="http://bugzilla.gnome.org/show_bug.cgi?id={@number}">
- <xsl:value-of select="@number"/></a>
- </xsl:template>
-
- <xsl:template match="item">
- <li><xsl:apply-templates/></li>
- </xsl:template>
-
- <xsl:template match="entry">
-
- <p>
- <b><xsl:value-of select="@who"/></b>
- <xsl:text> </xsl:text>
- <xsl:value-of select="@date"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="@timezone"/>
- <ul>
- <xsl:apply-templates select="item"/>
- </ul>
- </p>
- </xsl:template>
-
- <xsl:template match="log">
- <xsl:variable name="title">ChangeLog last entries of <xsl:value-of select="$module"/></xsl:variable>
- <html>
- <head>
- <xsl:call-template name="style"/>
- <xsl:element name="title">
- <xsl:value-of select="$title"/>
- </xsl:element>
- </head>
- <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
- <xsl:call-template name="titlebox">
- <xsl:with-param name="title" select="$title"/>
- </xsl:call-template>
- <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
- <tr>
- <td bgcolor="#8b7765">
- <table border="0" cellspacing="0" cellpadding="2" width="100%">
- <tr>
- <td valign="top" width="200" bgcolor="#8b7765">
- <xsl:call-template name="develtoc"/>
- </td>
- <td valign="top" bgcolor="#8b7765">
- <table border="0" cellspacing="0" cellpadding="1" width="100%">
- <tr>
- <td>
- <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
- <tr>
- <td>
- <table border="0" cellpadding="3" cellspacing="1" width="100%">
- <tr>
- <td bgcolor="#fffacd">
- <xsl:apply-templates select="entry"/>
- <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </body>
- </html>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 566945df..a69995a5 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -240,7 +240,9 @@ libxslt-api.xml libxslt-refs.xml EXSLT/libexslt-api.xml \
($(XSLTPROC) -o ../libxslt/libxslt.syms $(srcdir)/syms.xsl $(srcdir)/symbols.xml)
xsltproc.1: $(srcdir)/xsltproc.xml
- -@$(XSLTPROC) --nonet $(srcdir)/xsltproc.xml
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ echo "Rebuilding the man pages from the xml" ; \
+ $(XSLTPROC) --nonet $(srcdir)/xsltproc.xml ; fi)
# Note that in the following, xmllint output is piped to xsltproc
search.php: $(srcdir)/api.xsl $(srcdir)/site.xsl $(srcdir)/search.templ \
diff --git a/doc/Makefile.in b/doc/Makefile.in
new file mode 100644
index 00000000..6f95b71f
--- /dev/null
+++ b/doc/Makefile.in
@@ -0,0 +1,900 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = doc
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CRYPTO_TESTDIR = @CRYPTO_TESTDIR@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXSLT_INCLUDEDIR = @EXSLT_INCLUDEDIR@
+EXSLT_LIBDIR = @EXSLT_LIBDIR@
+EXSLT_LIBS = @EXSLT_LIBS@
+EXTRA_LIBS = @EXTRA_LIBS@
+FGREP = @FGREP@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBEXSLT_MAJOR_VERSION = @LIBEXSLT_MAJOR_VERSION@
+LIBEXSLT_MICRO_VERSION = @LIBEXSLT_MICRO_VERSION@
+LIBEXSLT_MINOR_VERSION = @LIBEXSLT_MINOR_VERSION@
+LIBEXSLT_VERSION = @LIBEXSLT_VERSION@
+LIBEXSLT_VERSION_EXTRA = @LIBEXSLT_VERSION_EXTRA@
+LIBEXSLT_VERSION_INFO = @LIBEXSLT_VERSION_INFO@
+LIBEXSLT_VERSION_NUMBER = @LIBEXSLT_VERSION_NUMBER@
+LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
+LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
+LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBXML_CFLAGS = @LIBXML_CFLAGS@
+LIBXML_LIBS = @LIBXML_LIBS@
+LIBXML_REQUIRED_VERSION = @LIBXML_REQUIRED_VERSION@
+LIBXML_SRC = @LIBXML_SRC@
+LIBXSLT_DEFAULT_PLUGINS_PATH = @LIBXSLT_DEFAULT_PLUGINS_PATH@
+LIBXSLT_MAJOR_MINOR_VERSION = @LIBXSLT_MAJOR_MINOR_VERSION@
+LIBXSLT_MAJOR_VERSION = @LIBXSLT_MAJOR_VERSION@
+LIBXSLT_MICRO_VERSION = @LIBXSLT_MICRO_VERSION@
+LIBXSLT_MINOR_VERSION = @LIBXSLT_MINOR_VERSION@
+LIBXSLT_VERSION = @LIBXSLT_VERSION@
+LIBXSLT_VERSION_EXTRA = @LIBXSLT_VERSION_EXTRA@
+LIBXSLT_VERSION_INFO = @LIBXSLT_VERSION_INFO@
+LIBXSLT_VERSION_NUMBER = @LIBXSLT_VERSION_NUMBER@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MV = @MV@
+M_LIBS = @M_LIBS@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PYTHON = @PYTHON@
+PYTHONSODV = @PYTHONSODV@
+PYTHON_INCLUDES = @PYTHON_INCLUDES@
+PYTHON_LIBS = @PYTHON_LIBS@
+PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
+PYTHON_SUBDIR = @PYTHON_SUBDIR@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RELDATE = @RELDATE@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TAR = @TAR@
+THREAD_LIBS = @THREAD_LIBS@
+VERSION = @VERSION@
+VERSION_SCRIPT_FLAGS = @VERSION_SCRIPT_FLAGS@
+WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@
+WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@
+WITH_CRYPTO = @WITH_CRYPTO@
+WITH_DEBUGGER = @WITH_DEBUGGER@
+WITH_MEM_DEBUG = @WITH_MEM_DEBUG@
+WITH_MODULES = @WITH_MODULES@
+WITH_TRIO = @WITH_TRIO@
+WITH_XSLT_DEBUG = @WITH_XSLT_DEBUG@
+XMLLINT = @XMLLINT@
+XML_CONFIG = @XML_CONFIG@
+XSLTPROC = @XSLTPROC@
+XSLTPROCDV = @XSLTPROCDV@
+XSLT_INCLUDEDIR = @XSLT_INCLUDEDIR@
+XSLT_LIBDIR = @XSLT_LIBDIR@
+XSLT_LIBS = @XSLT_LIBS@
+XSLT_LOCALE_WINAPI = @XSLT_LOCALE_WINAPI@
+XSLT_LOCALE_XLOCALE = @XSLT_LOCALE_XLOCALE@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# The top-level SGML file.
+DOC_MAIN_XML_FILE = libxslt.xml
+
+# The directory containing the source code (if it contains documentation).
+DOC_SOURCE_DIR = ..
+
+# A file in win32 depends upon two of the doc files
+WIN32_DIR = $(top_srcdir)/win32
+PAGES = API.html bugs.html contribs.html FAQ.html docs.html \
+ downloads.html help.html index.html intro.html news.html \
+ xsltproc2.html
+
+EPAGES = EXSLT/bugs.html EXSLT/docs.html EXSLT/downloads.html \
+ EXSLT/help.html EXSLT/index.html EXSLT/intro.html
+
+APIPAGES = APIconstructors.html APIfiles.html APIfunctions.html \
+ APIsymbols.html APIchunk0.html search.templ
+
+EAPIPAGES = EXSLT/APIconstructors.html EXSLT/APIfiles.html \
+ EXSLT/APIfunctions.html EXSLT/APIsymbols.html EXSLT/APIchunk0.html
+
+EXTRA_DIST = \
+ $(PAGES) \
+ $(EPAGES) \
+ $(EAPIPAGES) \
+ APIchunk0.html \
+ APIchunk1.html \
+ APIchunk2.html \
+ APIchunk3.html \
+ APIchunk4.html \
+ APIchunk5.html \
+ APIchunk6.html \
+ APIchunk7.html \
+ APIchunk8.html \
+ APIchunk9.html \
+ APIchunk10.html \
+ APIchunk11.html \
+ APIchunk12.html \
+ APIchunk13.html \
+ APIconstructors.html \
+ APIfiles.html \
+ APIfunctions.html \
+ APIsymbols.html \
+ EXSLT/exslt.html \
+ EXSLT/html/book1.html \
+ EXSLT/html/home.png \
+ EXSLT/html/index.html \
+ EXSLT/html/left.png \
+ EXSLT/html/libexslt-exslt.html \
+ EXSLT/html/libexslt-exsltexports.html \
+ EXSLT/html/libexslt-lib.html \
+ EXSLT/html/right.png \
+ EXSLT/html/up.png \
+ EXSLT/libexslt-api.xml \
+ EXSLT/libexslt-refs.xml \
+ Libxslt-Logo-180x168.gif \
+ Libxslt-Logo-90x34.gif \
+ api.xsl \
+ apibuild.py \
+ checkapisym.xsl \
+ contexts.gif \
+ docbook.html \
+ duck.png \
+ epatents.png \
+ extensions.html \
+ gnome2.png \
+ html/book1.html \
+ html/home.png \
+ html/index.html \
+ html/left.png \
+ html/libxslt-attributes.html \
+ html/libxslt-documents.html \
+ html/libxslt-extensions.html \
+ html/libxslt-extra.html \
+ html/libxslt-functions.html \
+ html/libxslt-imports.html \
+ html/libxslt-keys.html \
+ html/libxslt-lib.html \
+ html/libxslt-namespaces.html \
+ html/libxslt-numbersInternals.html \
+ html/libxslt-pattern.html \
+ html/libxslt-preproc.html \
+ html/libxslt-security.html \
+ html/libxslt-templates.html \
+ html/libxslt-transform.html \
+ html/libxslt-variables.html \
+ html/libxslt-xslt.html \
+ html/libxslt-xsltInternals.html \
+ html/libxslt-xsltexports.html \
+ html/libxslt-xsltlocale.html \
+ html/libxslt-xsltutils.html \
+ html/right.png \
+ html/up.png \
+ images/callouts/1.png \
+ images/callouts/10.png \
+ images/callouts/2.png \
+ images/callouts/3.png \
+ images/callouts/4.png \
+ images/callouts/5.png \
+ images/callouts/6.png \
+ images/callouts/7.png \
+ images/callouts/8.png \
+ images/callouts/9.png \
+ internals.html \
+ libxslt-api.xml \
+ libxslt-refs.xml \
+ libxslt.xsa \
+ newapi.xsl \
+ news.xsl \
+ node.gif \
+ object.gif \
+ processing.gif \
+ python.html \
+ redhat.gif \
+ search.xml \
+ site.xsl \
+ smallfootonly.gif \
+ stylesheet.gif \
+ symbols.xml \
+ syms.xsl \
+ templates.gif \
+ tutorial/libxslt_tutorial.c \
+ tutorial/libxslttutorial.html \
+ tutorial/libxslttutorial.xml \
+ tutorial2/libxslt_pipes.c \
+ tutorial2/libxslt_pipes.html \
+ tutorial2/libxslt_pipes.xml \
+ w3c.png \
+ xsa.xsl \
+ xslt.html \
+ xsltproc.1 \
+ xsltproc.html \
+ xsltproc.xml
+
+man_MANS = xsltproc.1
+wildcards = \
+ *.1 \
+ *.gif \
+ *.html \
+ *.png \
+ *.xsl \
+ EXSLT/*.html \
+ EXSLT/html/*.html \
+ EXSLT/html/*.png \
+ html/*.html \
+ html/*.png \
+ images/callouts/*.png \
+ tutorial*/libxslt*
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu doc/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-local uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local check check-am clean clean-generic \
+ clean-libtool clean-local cscopelist-am ctags-am distclean \
+ distclean-generic distclean-libtool distclean-local distdir \
+ dvi dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-man1 install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags-am uninstall uninstall-am uninstall-local \
+ uninstall-man uninstall-man1
+
+.PRECIOUS: Makefile
+
+
+all-local: web ../NEWS libxslt.xsa $(man_MANS)
+
+api: libxslt-api.xml libxslt-refs.xml $(APIPAGES) search.php \
+ html/index.html $(WIN32_DIR)/libxslt.def.src
+
+eapi: EXSLT/libexslt-api.xml EXSLT/libexslt-refs.xml $(EAPIPAGES) \
+ EXSLT/html/index.html $(WIN32_DIR)/libexslt.def.src
+
+web: $(PAGES) $(EPAGES)
+
+$(PAGES): $(srcdir)/xslt.html $(srcdir)/site.xsl
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ echo "Rebuilding the HTML Web pages from xslt.html" ; \
+ $(XSLTPROC) --nonet --html $(srcdir)/site.xsl \
+ $(srcdir)/xslt.html > index.html ; fi )
+ -@(if [ -x $(XMLLINT) ] ; then \
+ echo "Validating the HTML Web pages" ; \
+ $(XMLLINT) --nonet --valid --noout $(PAGES) ; fi );
+
+$(EPAGES): $(srcdir)/EXSLT/exslt.html $(srcdir)/site.xsl
+ -@(if [ ! -d EXSLT/html ] ; then \
+ mkdir -p EXSLT/html ; fi )
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ echo "Rebuilding the HTML Web pages from exslt.html" ; \
+ $(XSLTPROC) --nonet --html \
+ --stringparam dirname EXSLT/ \
+ --stringparam libname libexslt \
+ --stringparam logo_base ../ \
+ $(srcdir)/site.xsl \
+ $(srcdir)/EXSLT/exslt.html > EXSLT/index.html ; fi )
+ -@(if [ -x $(XMLLINT) ] ; then \
+ echo "Validating the HTML Web pages" ; \
+ $(XMLLINT) --nonet --valid --noout $(EPAGES) ; fi );
+
+../NEWS: $(srcdir)/news.xsl $(srcdir)/news.html
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ $(XSLTPROC) --nonet $(srcdir)/news.xsl \
+ $(srcdir)/news.html > ../NEWS ; fi );
+
+libxslt.xsa: $(srcdir)/xsa.xsl $(srcdir)/news.html
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ $(XSLTPROC) --nonet $(srcdir)/xsa.xsl \
+ news.html > libxslt.xsa ; fi );
+
+$(APIPAGES): libxslt-refs.xml site.xsl api.xsl $(srcdir)/site.xsl \
+ $(srcdir)/api.xsl
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ echo "Rebuilding the HTML API pages from libxslt-refs.xml" ; \
+ $(XSLTPROC) --nonet --html \
+ $(srcdir)/api.xsl \
+ $(srcdir)/xslt.html ; fi );
+ -@(if [ -x $(XMLLINT) ] ; then \
+ echo "Validating the HTML API pages" ; \
+ $(XMLLINT) --nonet --valid --noout API*.html; fi );
+
+$(EAPIPAGES): EXSLT/libexslt-refs.xml site.xsl api.xsl
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ echo "Rebuilding the HTML API pages from libexslt-refs.xml" ; \
+ $(XSLTPROC) --nonet --html --output EXSLT/ \
+ --stringparam libname libexslt \
+ --stringparam dirname EXSLT/ \
+ --stringparam logo_base ../ \
+ $(srcdir)/api.xsl \
+ $(srcdir)/EXSLT/exslt.html ; fi );
+
+html/index.html: libxslt-api.xml $(srcdir)/newapi.xsl
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ echo "Rebuilding the HTML pages from the XSLT API" ; \
+ $(XSLTPROC) --nonet \
+ $(srcdir)/newapi.xsl $(srcdir)/libxslt-api.xml ; fi );
+ -@(if [ -x $(XMLLINT) ] ; then \
+ echo "Validating the resulting XHTML pages" ; \
+ $(XMLLINT) --nonet --valid --noout html/*.html ; fi );
+
+wiki: libxslt-api.xml $(srcdir)/wiki.xsl
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ echo "Rebuilding the wiki HTML pages from the XSLT API" ; \
+ $(XSLTPROC) --nonet $(srcdir)/wiki.xsl $(srcdir)/libxslt-api.xml; fi )
+
+EXSLT/html/index.html: EXSLT/libexslt-api.xml \
+ $(srcdir)/newapi.xsl
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ echo "Rebuilding the HTML pages from the EXSLT API" ; \
+ $(XSLTPROC) --nonet --output EXSLT/ \
+ --stringparam libname libexslt \
+ --stringparam dirname EXSLT/ \
+ --stringparam logo_base ../../ \
+ $(srcdir)/newapi.xsl \
+ $(srcdir)/EXSLT/libexslt-api.xml ; fi );
+ -@(if [ -x $(XMLLINT) ] ; then \
+ echo "Validating the resulting XHTML pages" ; \
+ $(XMLLINT) --nonet --valid --noout EXSLT/html/*.html ; fi );
+
+libxslt-api.xml libxslt-refs.xml EXSLT/libexslt-api.xml \
+ EXSLT/libexslt-refs.xml ../libxslt/libxslt.syms : $(srcdir)/apibuild.py $(top_srcdir)/libxslt/*.h \
+ $(top_srcdir)/libxslt/*.c $(top_srcdir)/libexslt/*.h \
+ $(top_srcdir)/libexslt/*.c
+ -(cd $(srcdir) && ./apibuild.py)
+ ($(XSLTPROC) $(srcdir)/checkapisym.xsl $(srcdir)/libxslt-api.xml)
+ ($(XSLTPROC) -o ../libxslt/libxslt.syms $(srcdir)/syms.xsl $(srcdir)/symbols.xml)
+
+xsltproc.1: $(srcdir)/xsltproc.xml
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ echo "Rebuilding the man pages from the xml" ; \
+ $(XSLTPROC) --nonet $(srcdir)/xsltproc.xml ; fi)
+
+# Note that in the following, xmllint output is piped to xsltproc
+search.php: $(srcdir)/api.xsl $(srcdir)/site.xsl $(srcdir)/search.templ \
+ $(srcdir)/search.xml $(srcdir)/search.php.inc
+ -@(if test -x $(XMLLINT) -a -x $(XSLTPROC); then \
+ echo "Rebuilding search.php" ; \
+ $(XMLLINT) --xinclude --nonet \
+ $(srcdir)/search.xml | \
+ $(XSLTPROC) --nonet - search.templ \
+ > search.php ; else \
+ echo "Unable to find xmllint or xsltproc in $(bindir)" ; fi)
+
+$(WIN32_DIR)/libxslt.def.src: libxslt-api.xml
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ $(XSLTPROC) -o $(WIN32_DIR)/libxslt.def.src \
+ --nonet $(WIN32_DIR)/defgen.xsl $(srcdir)/libxslt-api.xml ; fi )
+
+$(WIN32_DIR)/libexslt.def.src: EXSLT/libexslt-api.xml
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ $(XSLTPROC) -o $(WIN32_DIR)/libexslt.def.src \
+ --nonet $(WIN32_DIR)/defgen.xsl $(srcdir)/EXSLT/libexslt-api.xml ; fi )
+
+clean-local:
+ rm -f *~ *.1 *.bak *.hierarchy *.signals *-unused.txt
+
+distclean-local:
+ if test ! -r Makefile.am ; then \
+ rm -f *.html *.templ *.xsa ; \
+ rm -rf EXSLT html ; \
+ fi
+
+rebuild: api eapi all
+
+# This target verifies that EXTRA_DIST contains all the files matched by
+# the above list of wildcards. Note that this will only work properly when
+# srcdir = builddir.
+#
+check-extra-dist:
+ @for a in $(wildcards) ; do \
+ if test ! -f "$$a" ; then \
+ echo "not found: $$a" ; \
+ continue ; \
+ fi ; \
+ present= ; \
+ for b in $(EXTRA_DIST) ; do \
+ test "$$a" = "$$b" && present=1 && break ; \
+ done ; \
+ test -n "$$present" || echo "not in EXTRA_DIST: $$a" ; \
+ done
+
+install-data-local:
+ $(MKDIR_P) $(DESTDIR)$(HTML_DIR)
+ -$(INSTALL) -m 0644 $(srcdir)/*.html $(DESTDIR)$(HTML_DIR)
+ -$(INSTALL) -m 0644 $(srcdir)/*.gif $(DESTDIR)$(HTML_DIR)
+ $(MKDIR_P) $(DESTDIR)$(HTML_DIR)/html
+ -$(INSTALL) -m 0644 $(srcdir)/html/*.html $(DESTDIR)$(HTML_DIR)/html
+ -$(INSTALL) -m 0644 $(srcdir)/html/*.png $(DESTDIR)$(HTML_DIR)/html
+ -$(INSTALL) -m 0644 $(srcdir)/html/index.sgml $(DESTDIR)$(HTML_DIR)/html
+ $(MKDIR_P) $(DESTDIR)$(HTML_DIR)/EXSLT
+ -$(INSTALL) -m 0644 $(srcdir)/EXSLT/*.html $(DESTDIR)$(HTML_DIR)/EXSLT
+ $(MKDIR_P) $(DESTDIR)$(HTML_DIR)/tutorial
+ -$(INSTALL) -m 0644 $(srcdir)/tutorial/* $(DESTDIR)$(HTML_DIR)/tutorial
+ $(MKDIR_P) $(DESTDIR)$(HTML_DIR)/tutorial2
+ -$(INSTALL) -m 0644 $(srcdir)/tutorial2/* $(DESTDIR)$(HTML_DIR)/tutorial2
+
+uninstall-local:
+ rm -rf $(DESTDIR)$(HTML_DIR)
+
+.PHONY : api eapi web wiki rebuild check-extra-dist
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/doc/contexts.fig b/doc/contexts.fig
deleted file mode 100644
index 4fa4b8dd..00000000
--- a/doc/contexts.fig
+++ /dev/null
@@ -1,175 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
--2
-1200 2
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 3000 750 4650 750 4650 3150 3000 3150 3000 750
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 3000 1050 4650 1050
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 3000 1350 4650 1350
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 3000 1650 4650 1650
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 4275 900 6450 900
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 3225 1200 1425 1425
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 3150 1500 1575 3675
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 3000 2850 4650 2850
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 3150 3000 2325 5250
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 2391 5400 3216 3150
-2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
- 4950 5700 3675 5700 3675 4425 4950 4425 4950 5700
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 2400 5700 3675 5250
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 3825 7200 5475 7200
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 3825 7500 5475 7500
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 3825 7800 5475 7800
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 900 5250 2550 5250 2550 7650 900 7650 900 5250
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 900 5550 2550 5550
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 900 5850 2550 5850
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 900 6150 2550 6150
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 900 6450 2550 6450
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 900 6750 2550 6750
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 900 7050 2550 7050
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 3825 6900 5475 6900 5475 8250 3825 8250 3825 6900
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 3975 7050 2550 6225
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 5175 7350 6450 5850
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 5175 7650 7275 6675
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
- 225 675 225 2175 1800 2175 1800 300
-2 1 0 3 0 7 50 0 -1 8.000 0 0 -1 1 0 2
- 0 0 3.00 180.00 360.00
- 1500 1125 1500 300
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 225 1875 1800 1875
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 225 1575 1800 1575
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 225 1275 1800 1275
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
- 225 2925 225 4425 1800 4425 1800 2550
-2 1 0 3 0 7 50 0 -1 8.000 0 0 -1 1 0 2
- 0 0 3.00 180.00 360.00
- 1500 3375 1500 2550
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 225 4125 1800 4125
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 225 3825 1800 3825
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 225 3525 1800 3525
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
- 6450 4875 6450 6375 8025 6375 8025 4500
-2 1 0 3 0 7 50 0 -1 8.000 0 0 -1 1 0 2
- 0 0 3.00 180.00 360.00
- 7725 5325 7725 4500
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 6450 6075 8025 6075
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 6450 5775 8025 5775
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 6450 5475 8025 5475
-2 2 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 5
- 7275 6525 7575 6525 7575 6825 7275 6825 7275 6525
-2 2 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 5
- 6900 7050 7200 7050 7200 7350 6900 7350 6900 7050
-2 2 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 5
- 6525 7500 6825 7500 6825 7800 6525 7800 6525 7500
-2 2 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 5
- 7200 7500 7500 7500 7500 7800 7200 7800 7200 7500
-2 2 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 5
- 7650 7050 7950 7050 7950 7350 7650 7350 7650 7050
-2 2 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 5
- 6975 7950 7275 7950 7275 8250 6975 8250 6975 7950
-2 2 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 5
- 7500 7950 7800 7950 7800 8250 7500 8250 7500 7950
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 2
- 7275 6825 7200 7050
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 2
- 7575 6825 7650 7050
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 2
- 6900 7350 6825 7500
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 2
- 7200 7350 7350 7500
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 3
- 7200 7800 7200 7800 7125 7950
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 2
- 7500 7800 7575 7950
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 6450 825 8100 825 8100 3675 6450 3675 6450 825
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 6450 1200 8100 1200
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 6450 1575 8100 1575
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 6450 1950 8100 1950
-3 0 0 1 0 7 50 0 -1 0.000 0 0 0 4
- 225 675 750 750 1350 300 1800 300
- 0.000 1.000 1.000 0.000
-3 0 0 1 0 7 50 0 -1 0.000 0 0 0 4
- 225 2925 750 3000 1350 2550 1800 2550
- 0.000 1.000 1.000 0.000
-3 0 0 1 0 7 50 0 -1 0.000 0 0 0 4
- 6450 4875 6975 4950 7575 4500 8025 4500
- 0.000 1.000 1.000 0.000
-4 0 0 50 0 0 18 0.0000 4 195 585 3000 525 xsltT\001
-4 0 0 50 0 0 18 0.0000 4 195 1530 3600 525 ransformCtxt\001
-4 0 0 50 0 0 18 0.0000 4 255 510 3375 975 style\001
-4 0 0 50 0 0 18 0.0000 4 255 1545 6450 525 xsltStylesheet\001
-4 0 0 50 0 0 18 0.0000 4 255 645 3375 1275 templ\001
-4 0 0 50 0 0 18 0.0000 4 135 465 3375 1575 vars\001
-4 0 0 50 0 0 18 0.0000 4 255 1125 3300 3075 xpathCtxt\001
-4 0 0 50 0 0 18 0.0000 4 195 1620 450 5025 xmlXPathCtxt\001
-4 0 0 50 0 0 18 0.0000 4 195 1125 3750 5100 Functions\001
-4 0 0 50 0 0 18 0.0000 4 195 1320 1125 7020 namespaces\001
-4 0 0 50 0 0 18 0.0000 4 195 1305 1125 6705 contextSize\001
-4 0 0 50 0 0 18 0.0000 4 195 540 1125 6390 node\001
-4 0 0 50 0 0 18 0.0000 4 195 390 1125 6075 doc\001
-4 0 0 50 0 0 18 0.0000 4 195 1065 1125 5775 funcHash\001
-4 0 0 50 0 0 18 0.0000 4 165 570 1125 5475 extra\001
-4 0 0 50 0 0 18 0.0000 4 195 2325 3075 8700 xmlXPathParserCtxt\001
-4 0 0 50 0 0 18 0.0000 4 165 840 4200 7125 context\001
-4 0 0 50 0 0 18 0.0000 4 195 585 4200 7425 value\001
-4 0 0 50 0 0 18 0.0000 4 255 3015 6075 8700 XPath compiled expression\001
-4 0 0 50 0 0 18 0.0000 4 195 615 4200 7725 comp\001
-4 0 0 50 0 0 18 0.0000 4 195 570 450 2115 stack\001
-4 0 0 50 0 0 18 0.0000 4 255 1080 450 1800 templates\001
-4 0 0 50 0 0 18 0.0000 4 195 570 450 4365 stack\001
-4 0 0 50 0 0 18 0.0000 4 195 885 450 3750 variable\001
-4 0 0 50 0 0 18 0.0000 4 135 105 1350 3750 s\001
-4 0 0 50 0 0 18 0.0000 4 255 1275 450 4050 and params\001
-4 0 0 50 0 0 18 0.0000 4 195 570 6675 6315 stack\001
-4 0 0 50 0 0 18 0.0000 4 255 780 6675 6000 objects\001
-4 0 0 50 0 0 18 0.0000 4 195 690 6675 5700 XPath\001
diff --git a/doc/index.py b/doc/index.py
deleted file mode 100755
index 3cb3fece..00000000
--- a/doc/index.py
+++ /dev/null
@@ -1,1248 +0,0 @@
-#!/usr/bin/python -u
-#
-# imports the API description and fills up a database with
-# name relevance to modules, functions or web pages
-#
-# Operation needed:
-# =================
-#
-# install mysqld, the python wrappers for mysql and libxml2, start mysqld
-# Change the root passwd of mysql:
-# mysqladmin -u root password new_password
-# Create the new database xmlsoft
-# mysqladmin -p create xmlsoft
-# Create a database user 'veillard' and give him passord access
-# change veillard and abcde with the right user name and passwd
-# mysql -p
-# password:
-# mysql> GRANT ALL PRIVILEGES ON xmlsoft TO veillard@localhost
-# IDENTIFIED BY 'abcde' WITH GRANT OPTION;
-#
-# As the user check the access:
-# mysql -p xmlsoft
-# Enter password:
-# Welcome to the MySQL monitor....
-# mysql> use xmlsoft
-# Database changed
-# mysql> quit
-# Bye
-#
-# Then run the script in the doc subdir, it will create the XSLTsymbols and
-# word tables and populate them with informations extracted from
-# the libxml2-api.xml API description, and make then accessible read-only
-# by nobody@loaclhost the user expected to be Apache's one
-#
-# On the Apache configuration, make sure you have php support enabled
-#
-
-import MySQLdb
-import libxml2
-import sys
-import string
-import os
-
-#
-# We are not interested in parsing errors here
-#
-def callback(ctx, str):
- return
-libxml2.registerErrorHandler(callback, None)
-
-#
-# The dictionary of tables required and the SQL command needed
-# to create them
-#
-TABLES={
- "XSLTsymbols" : """CREATE TABLE XSLTsymbols (
- name varchar(255) BINARY NOT NULL,
- module varchar(255) BINARY NOT NULL,
- type varchar(25) NOT NULL,
- descr varchar(255),
- UNIQUE KEY name (name),
- KEY module (module))""",
- "XSLTwords" : """CREATE TABLE XSLTwords (
- name varchar(50) BINARY NOT NULL,
- symbol varchar(255) BINARY NOT NULL,
- relevance int,
- KEY name (name),
- KEY symbol (symbol),
- UNIQUE KEY ID (name, symbol))""",
- "XSLTwordsHTML" : """CREATE TABLE XSLTwordsHTML (
- name varchar(50) BINARY NOT NULL,
- resource varchar(255) BINARY NOT NULL,
- section varchar(255),
- id varchar(50),
- relevance int,
- KEY name (name),
- KEY resource (resource),
- UNIQUE KEY ref (name, resource))""",
- "XSLTwordsArchive" : """CREATE TABLE XSLTwordsArchive (
- name varchar(50) BINARY NOT NULL,
- ID int(11) NOT NULL,
- relevance int,
- KEY name (name),
- UNIQUE KEY ref (name, ID))""",
- "XSLTpages" : """CREATE TABLE XSLTpages (
- resource varchar(255) BINARY NOT NULL,
- title varchar(255) BINARY NOT NULL,
- UNIQUE KEY name (resource))""",
- "archives" : """CREATE TABLE archives (
- ID int(11) NOT NULL auto_increment,
- resource varchar(255) BINARY NOT NULL,
- title varchar(255) BINARY NOT NULL,
- UNIQUE KEY id (ID,resource(255)),
- INDEX (ID),
- INDEX (resource))""",
- "Queries" : """CREATE TABLE Queries (
- ID int(11) NOT NULL auto_increment,
- Value varchar(50) NOT NULL,
- Count int(11) NOT NULL,
- UNIQUE KEY id (ID,Value(35)),
- INDEX (ID))""",
-}
-
-#
-# The XML API description file to parse
-#
-API="libxslt-api.xml"
-DB=None
-
-#########################################################################
-# #
-# MySQL database interfaces #
-# #
-#########################################################################
-def createTable(db, name):
- global TABLES
-
- if db == None:
- return -1
- if name == None:
- return -1
- c = db.cursor()
-
- ret = c.execute("DROP TABLE IF EXISTS %s" % (name))
- if ret == 1:
- print "Removed table %s" % (name)
- print "Creating table %s" % (name)
- try:
- ret = c.execute(TABLES[name])
- except:
- print "Failed to create table %s" % (name)
- return -1
- return ret
-
-def checkTables(db):
- global TABLES
-
- if db == None:
- return -1
- c = db.cursor()
- nbtables = c.execute("show tables")
- print "Found %d tables" % (nbtables)
- tables = {}
- i = 0
- while i < nbtables:
- l = c.fetchone()
- name = l[0]
- tables[name] = {}
- i = i + 1
-
- for table in TABLES.keys():
- if not tables.has_key(table):
- print "table %s missing" % (table)
- createTable(db, table)
- try:
- ret = c.execute("SELECT count(*) from %s" % table);
- row = c.fetchone()
- print "Table %s contains %d records" % (table, row[0])
- except:
- print "Troubles with table %s : repairing" % (table)
- ret = c.execute("repair table %s" % table);
- print "repairing returned %d" % (ret)
- ret = c.execute("SELECT count(*) from %s" % table);
- row = c.fetchone()
- print "Table %s contains %d records" % (table, row[0])
- print "checkTables finished"
-
- # make sure apache can access the tables read-only
- try:
- ret = c.execute("GRANT SELECT ON xmlsoft.* TO nobody@localhost")
- ret = c.execute("GRANT INSERT,SELECT,UPDATE ON xmlsoft.Queries TO nobody@localhost")
- except:
- pass
- return 0
-
-def openMySQL(db="xmlsoft", passwd=None):
- global DB
-
- if passwd == None:
- try:
- passwd = os.environ["MySQL_PASS"]
- except:
- print "No password available, set environment MySQL_PASS"
- sys.exit(1)
-
- DB = MySQLdb.connect(passwd=passwd, db=db)
- if DB == None:
- return -1
- ret = checkTables(DB)
- return ret
-
-def updateWord(name, symbol, relevance):
- global DB
-
- if DB == None:
- openMySQL()
- if DB == None:
- return -1
- if name == None:
- return -1
- if symbol == None:
- return -1
-
- c = DB.cursor()
- try:
- ret = c.execute(
-"""INSERT INTO XSLTwords (name, symbol, relevance) VALUES ('%s','%s', %d)""" %
- (name, symbol, relevance))
- except:
- try:
- ret = c.execute(
- """UPDATE XSLTwords SET relevance = %d where name = '%s' and symbol = '%s'""" %
- (relevance, name, symbol))
- except:
- print "Update word (%s, %s, %s) failed command" % (name, symbol, relevance)
- print "UPDATE XSLTwords SET relevance = %d where name = '%s' and symbol = '%s'" % (relevance, name, symbol)
- print sys.exc_type, sys.exc_value
- return -1
-
- return ret
-
-def updateSymbol(name, module, type, desc):
- global DB
-
- updateWord(name, name, 50)
- if DB == None:
- openMySQL()
- if DB == None:
- return -1
- if name == None:
- return -1
- if module == None:
- return -1
- if type == None:
- return -1
-
- try:
- desc = string.replace(desc, "'", " ")
- l = string.split(desc, ".")
- desc = l[0]
- desc = desc[0:99]
- except:
- desc = ""
-
- c = DB.cursor()
- try:
- ret = c.execute(
-"""INSERT INTO XSLTsymbols (name, module, type, descr) VALUES ('%s','%s', '%s', '%s')""" %
- (name, module, type, desc))
- except:
- try:
- ret = c.execute(
-"""UPDATE XSLTsymbols SET module='%s', type='%s', descr='%s' where name='%s'""" %
- (module, type, desc, name))
- except:
- print "Update symbol (%s, %s, %s) failed command" % (name, module, type)
- print """UPDATE XSLTsymbols SET module='%s', type='%s', descr='%s' where name='%s'""" % (module, type, desc, name)
- print sys.exc_type, sys.exc_value
- return -1
-
- return ret
-
-def addFunction(name, module, desc = ""):
- return updateSymbol(name, module, 'function', desc)
-
-def addMacro(name, module, desc = ""):
- return updateSymbol(name, module, 'macro', desc)
-
-def addEnum(name, module, desc = ""):
- return updateSymbol(name, module, 'enum', desc)
-
-def addStruct(name, module, desc = ""):
- return updateSymbol(name, module, 'struct', desc)
-
-def addConst(name, module, desc = ""):
- return updateSymbol(name, module, 'const', desc)
-
-def addType(name, module, desc = ""):
- return updateSymbol(name, module, 'type', desc)
-
-def addFunctype(name, module, desc = ""):
- return updateSymbol(name, module, 'functype', desc)
-
-def addPage(resource, title):
- global DB
-
- if DB == None:
- openMySQL()
- if DB == None:
- return -1
- if resource == None:
- return -1
-
- c = DB.cursor()
- try:
- ret = c.execute(
- """INSERT INTO XSLTpages (resource, title) VALUES ('%s','%s')""" %
- (resource, title))
- except:
- try:
- ret = c.execute(
- """UPDATE XSLTpages SET title='%s' WHERE resource='%s'""" %
- (title, resource))
- except:
- print "Update symbol (%s, %s, %s) failed command" % (name, module, type)
- print """UPDATE XSLTpages SET title='%s' WHERE resource='%s'""" % (title, resource)
- print sys.exc_type, sys.exc_value
- return -1
-
- return ret
-
-def updateWordHTML(name, resource, desc, id, relevance):
- global DB
-
- if DB == None:
- openMySQL()
- if DB == None:
- return -1
- if name == None:
- return -1
- if resource == None:
- return -1
- if id == None:
- id = ""
- if desc == None:
- desc = ""
- else:
- try:
- desc = string.replace(desc, "'", " ")
- desc = desc[0:99]
- except:
- desc = ""
-
- c = DB.cursor()
- try:
- ret = c.execute(
-"""INSERT INTO XSLTwordsHTML (name, resource, section, id, relevance) VALUES ('%s','%s', '%s', '%s', '%d')""" %
- (name, resource, desc, id, relevance))
- except:
- try:
- ret = c.execute(
-"""UPDATE XSLTwordsHTML SET section='%s', id='%s', relevance='%d' where name='%s' and resource='%s'""" %
- (desc, id, relevance, name, resource))
- except:
- print "Update symbol (%s, %s, %d) failed command" % (name, resource, relevance)
- print """UPDATE XSLTwordsHTML SET section='%s', id='%s', relevance='%d' where name='%s' and resource='%s'""" % (desc, id, relevance, name, resource)
- print sys.exc_type, sys.exc_value
- return -1
-
- return ret
-
-def checkXMLMsgArchive(url):
- global DB
-
- if DB == None:
- openMySQL()
- if DB == None:
- return -1
- if url == None:
- return -1
-
- c = DB.cursor()
- try:
- ret = c.execute(
- """SELECT ID FROM archives WHERE resource='%s'""" % (url))
- row = c.fetchone()
- if row == None:
- return -1
- except:
- return -1
-
- return row[0]
-
-def addXMLMsgArchive(url, title):
- global DB
-
- if DB == None:
- openMySQL()
- if DB == None:
- return -1
- if url == None:
- return -1
- if title == None:
- title = ""
- else:
- title = string.replace(title, "'", " ")
- title = title[0:99]
-
- c = DB.cursor()
- try:
- cmd = """INSERT INTO archives (resource, title) VALUES ('%s','%s')""" % (url, title)
- ret = c.execute(cmd)
- cmd = """SELECT ID FROM archives WHERE resource='%s'""" % (url)
- ret = c.execute(cmd)
- row = c.fetchone()
- if row == None:
- print "addXMLMsgArchive failed to get the ID: %s" % (url)
- return -1
- except:
- print "addXMLMsgArchive failed command: %s" % (cmd)
- return -1
-
- return((int)(row[0]))
-
-def updateWordArchive(name, id, relevance):
- global DB
-
- if DB == None:
- openMySQL()
- if DB == None:
- return -1
- if name == None:
- return -1
- if id == None:
- return -1
-
- c = DB.cursor()
- try:
- ret = c.execute(
-"""INSERT INTO XSLTwordsArchive (name, id, relevance) VALUES ('%s', '%d', '%d')""" %
- (name, id, relevance))
- except:
- try:
- ret = c.execute(
-"""UPDATE XSLTwordsArchive SET relevance='%d' where name='%s' and ID='%d'""" %
- (relevance, name, id))
- except:
- print "Update word archive (%s, %d, %d) failed command" % (name, id, relevance)
- print """UPDATE XSLTwordsArchive SET relevance='%d' where name='%s' and ID='%d'""" % (relevance, name, id)
- print sys.exc_type, sys.exc_value
- return -1
-
- return ret
-
-#########################################################################
-# #
-# Word dictionary and analysis routines #
-# #
-#########################################################################
-
-#
-# top 100 english word without the one len < 3 + own set
-#
-dropWords = {
- 'the':0, 'this':0, 'can':0, 'man':0, 'had':0, 'him':0, 'only':0,
- 'and':0, 'not':0, 'been':0, 'other':0, 'even':0, 'are':0, 'was':0,
- 'new':0, 'most':0, 'but':0, 'when':0, 'some':0, 'made':0, 'from':0,
- 'who':0, 'could':0, 'after':0, 'that':0, 'will':0, 'time':0, 'also':0,
- 'have':0, 'more':0, 'these':0, 'did':0, 'was':0, 'two':0, 'many':0,
- 'they':0, 'may':0, 'before':0, 'for':0, 'which':0, 'out':0, 'then':0,
- 'must':0, 'one':0, 'through':0, 'with':0, 'you':0, 'said':0,
- 'first':0, 'back':0, 'were':0, 'what':0, 'any':0, 'years':0, 'his':0,
- 'her':0, 'where':0, 'all':0, 'its':0, 'now':0, 'much':0, 'she':0,
- 'about':0, 'such':0, 'your':0, 'there':0, 'into':0, 'like':0, 'may':0,
- 'would':0, 'than':0, 'our':0, 'well':0, 'their':0, 'them':0, 'over':0,
- 'down':0,
- 'net':0, 'www':0, 'bad':0, 'Okay':0, 'bin':0, 'cur':0,
-}
-
-wordsDict = {}
-wordsDictHTML = {}
-wordsDictArchive = {}
-
-def cleanupWordsString(str):
- str = string.replace(str, ".", " ")
- str = string.replace(str, "!", " ")
- str = string.replace(str, "?", " ")
- str = string.replace(str, ",", " ")
- str = string.replace(str, "'", " ")
- str = string.replace(str, '"', " ")
- str = string.replace(str, ";", " ")
- str = string.replace(str, "(", " ")
- str = string.replace(str, ")", " ")
- str = string.replace(str, "{", " ")
- str = string.replace(str, "}", " ")
- str = string.replace(str, "<", " ")
- str = string.replace(str, ">", " ")
- str = string.replace(str, "=", " ")
- str = string.replace(str, "/", " ")
- str = string.replace(str, "*", " ")
- str = string.replace(str, ":", " ")
- str = string.replace(str, "#", " ")
- str = string.replace(str, "\\", " ")
- str = string.replace(str, "\n", " ")
- str = string.replace(str, "\r", " ")
- str = string.replace(str, "\xc2", " ")
- str = string.replace(str, "\xa0", " ")
- return str
-
-def cleanupDescrString(str):
- str = string.replace(str, "'", " ")
- str = string.replace(str, "\n", " ")
- str = string.replace(str, "\r", " ")
- str = string.replace(str, "\xc2", " ")
- str = string.replace(str, "\xa0", " ")
- l = string.split(str)
- str = string.join(str)
- return str
-
-def splitIdentifier(str):
- ret = []
- while str != "":
- cur = string.lower(str[0])
- str = str[1:]
- if ((cur < 'a') or (cur > 'z')):
- continue
- while (str != "") and (str[0] >= 'A') and (str[0] <= 'Z'):
- cur = cur + string.lower(str[0])
- str = str[1:]
- while (str != "") and (str[0] >= 'a') and (str[0] <= 'z'):
- cur = cur + str[0]
- str = str[1:]
- while (str != "") and (str[0] >= '0') and (str[0] <= '9'):
- str = str[1:]
- ret.append(cur)
- return ret
-
-def addWord(word, module, symbol, relevance):
- global wordsDict
-
- if word == None or len(word) < 3:
- return -1
- if module == None or symbol == None:
- return -1
- if dropWords.has_key(word):
- return 0
- if ord(word[0]) > 0x80:
- return 0
-
- if wordsDict.has_key(word):
- d = wordsDict[word]
- if d == None:
- return 0
- if len(d) > 500:
- wordsDict[word] = None
- return 0
- try:
- relevance = relevance + d[(module, symbol)]
- except:
- pass
- else:
- wordsDict[word] = {}
- wordsDict[word][(module, symbol)] = relevance
- return relevance
-
-def addString(str, module, symbol, relevance):
- if str == None or len(str) < 3:
- return -1
- ret = 0
- str = cleanupWordsString(str)
- l = string.split(str)
- for word in l:
- if len(word) > 2:
- ret = ret + addWord(word, module, symbol, 5)
-
- return ret
-
-def addWordHTML(word, resource, id, section, relevance):
- global wordsDictHTML
-
- if word == None or len(word) < 3:
- return -1
- if resource == None or section == None:
- return -1
- if dropWords.has_key(word):
- return 0
- if ord(word[0]) > 0x80:
- return 0
-
- section = cleanupDescrString(section)
-
- if wordsDictHTML.has_key(word):
- d = wordsDictHTML[word]
- if d == None:
- print "skipped %s" % (word)
- return 0
- try:
- (r,i,s) = d[resource]
- if i != None:
- id = i
- if s != None:
- section = s
- relevance = relevance + r
- except:
- pass
- else:
- wordsDictHTML[word] = {}
- d = wordsDictHTML[word];
- d[resource] = (relevance, id, section)
- return relevance
-
-def addStringHTML(str, resource, id, section, relevance):
- if str == None or len(str) < 3:
- return -1
- ret = 0
- str = cleanupWordsString(str)
- l = string.split(str)
- for word in l:
- if len(word) > 2:
- try:
- r = addWordHTML(word, resource, id, section, relevance)
- if r < 0:
- print "addWordHTML failed: %s %s" % (word, resource)
- ret = ret + r
- except:
- print "addWordHTML failed: %s %s %d" % (word, resource, relevance)
- print sys.exc_type, sys.exc_value
-
- return ret
-
-def addWordArchive(word, id, relevance):
- global wordsDictArchive
-
- if word == None or len(word) < 3:
- return -1
- if id == None or id == -1:
- return -1
- if dropWords.has_key(word):
- return 0
- if ord(word[0]) > 0x80:
- return 0
-
- if wordsDictArchive.has_key(word):
- d = wordsDictArchive[word]
- if d == None:
- print "skipped %s" % (word)
- return 0
- try:
- r = d[id]
- relevance = relevance + r
- except:
- pass
- else:
- wordsDictArchive[word] = {}
- d = wordsDictArchive[word];
- d[id] = relevance
- return relevance
-
-def addStringArchive(str, id, relevance):
- if str == None or len(str) < 3:
- return -1
- ret = 0
- str = cleanupWordsString(str)
- l = string.split(str)
- for word in l:
- i = len(word)
- if i > 2:
- try:
- r = addWordArchive(word, id, relevance)
- if r < 0:
- print "addWordArchive failed: %s %s" % (word, id)
- else:
- ret = ret + r
- except:
- print "addWordArchive failed: %s %s %d" % (word, id, relevance)
- print sys.exc_type, sys.exc_value
- return ret
-
-#########################################################################
-# #
-# XML API description analysis #
-# #
-#########################################################################
-
-def loadAPI(filename):
- doc = libxml2.parseFile(filename)
- print "loaded %s" % (filename)
- return doc
-
-def foundExport(file, symbol):
- if file == None:
- return 0
- if symbol == None:
- return 0
- addFunction(symbol, file)
- l = splitIdentifier(symbol)
- for word in l:
- addWord(word, file, symbol, 10)
- return 1
-
-def analyzeAPIFile(top):
- count = 0
- name = top.prop("name")
- cur = top.children
- while cur != None:
- if cur.type == 'text':
- cur = cur.next
- continue
- if cur.name == "exports":
- count = count + foundExport(name, cur.prop("symbol"))
- else:
- print "unexpected element %s in API doc <file name='%s'>" % (name)
- cur = cur.next
- return count
-
-def analyzeAPIFiles(top):
- count = 0
- cur = top.children
-
- while cur != None:
- if cur.type == 'text':
- cur = cur.next
- continue
- if cur.name == "file":
- count = count + analyzeAPIFile(cur)
- else:
- print "unexpected element %s in API doc <files>" % (cur.name)
- cur = cur.next
- return count
-
-def analyzeAPIEnum(top):
- file = top.prop("file")
- if file == None:
- return 0
- symbol = top.prop("name")
- if symbol == None:
- return 0
-
- addEnum(symbol, file)
- l = splitIdentifier(symbol)
- for word in l:
- addWord(word, file, symbol, 10)
-
- return 1
-
-def analyzeAPIConst(top):
- file = top.prop("file")
- if file == None:
- return 0
- symbol = top.prop("name")
- if symbol == None:
- return 0
-
- addConst(symbol, file)
- l = splitIdentifier(symbol)
- for word in l:
- addWord(word, file, symbol, 10)
-
- return 1
-
-def analyzeAPIType(top):
- file = top.prop("file")
- if file == None:
- return 0
- symbol = top.prop("name")
- if symbol == None:
- return 0
-
- addType(symbol, file)
- l = splitIdentifier(symbol)
- for word in l:
- addWord(word, file, symbol, 10)
- return 1
-
-def analyzeAPIFunctype(top):
- file = top.prop("file")
- if file == None:
- return 0
- symbol = top.prop("name")
- if symbol == None:
- return 0
-
- addFunctype(symbol, file)
- l = splitIdentifier(symbol)
- for word in l:
- addWord(word, file, symbol, 10)
- return 1
-
-def analyzeAPIStruct(top):
- file = top.prop("file")
- if file == None:
- return 0
- symbol = top.prop("name")
- if symbol == None:
- return 0
-
- addStruct(symbol, file)
- l = splitIdentifier(symbol)
- for word in l:
- addWord(word, file, symbol, 10)
-
- info = top.prop("info")
- if info != None:
- info = string.replace(info, "'", " ")
- info = string.strip(info)
- l = string.split(info)
- for word in l:
- if len(word) > 2:
- addWord(word, file, symbol, 5)
- return 1
-
-def analyzeAPIMacro(top):
- file = top.prop("file")
- if file == None:
- return 0
- symbol = top.prop("name")
- if symbol == None:
- return 0
- symbol = string.replace(symbol, "'", " ")
- symbol = string.strip(symbol)
-
- info = None
- cur = top.children
- while cur != None:
- if cur.type == 'text':
- cur = cur.next
- continue
- if cur.name == "info":
- info = cur.content
- break
- cur = cur.next
-
- l = splitIdentifier(symbol)
- for word in l:
- addWord(word, file, symbol, 10)
-
- if info == None:
- addMacro(symbol, file)
- print "Macro %s description has no <info>" % (symbol)
- return 0
-
- info = string.replace(info, "'", " ")
- info = string.strip(info)
- addMacro(symbol, file, info)
- l = string.split(info)
- for word in l:
- if len(word) > 2:
- addWord(word, file, symbol, 5)
- return 1
-
-def analyzeAPIFunction(top):
- file = top.prop("file")
- if file == None:
- return 0
- symbol = top.prop("name")
- if symbol == None:
- return 0
-
- symbol = string.replace(symbol, "'", " ")
- symbol = string.strip(symbol)
- info = None
- cur = top.children
- while cur != None:
- if cur.type == 'text':
- cur = cur.next
- continue
- if cur.name == "info":
- info = cur.content
- elif cur.name == "return":
- rinfo = cur.prop("info")
- if rinfo != None:
- rinfo = string.replace(rinfo, "'", " ")
- rinfo = string.strip(rinfo)
- addString(rinfo, file, symbol, 7)
- elif cur.name == "arg":
- ainfo = cur.prop("info")
- if ainfo != None:
- ainfo = string.replace(ainfo, "'", " ")
- ainfo = string.strip(ainfo)
- addString(ainfo, file, symbol, 5)
- name = cur.prop("name")
- if name != None:
- name = string.replace(name, "'", " ")
- name = string.strip(name)
- addWord(name, file, symbol, 7)
- cur = cur.next
- if info == None:
- print "Function %s description has no <info>" % (symbol)
- addFunction(symbol, file, "")
- else:
- info = string.replace(info, "'", " ")
- info = string.strip(info)
- addFunction(symbol, file, info)
- addString(info, file, symbol, 5)
-
- l = splitIdentifier(symbol)
- for word in l:
- addWord(word, file, symbol, 10)
-
- return 1
-
-def analyzeAPISymbols(top):
- count = 0
- cur = top.children
-
- while cur != None:
- if cur.type == 'text':
- cur = cur.next
- continue
- if cur.name == "macro":
- count = count + analyzeAPIMacro(cur)
- elif cur.name == "function":
- count = count + analyzeAPIFunction(cur)
- elif cur.name == "const":
- count = count + analyzeAPIConst(cur)
- elif cur.name == "typedef":
- count = count + analyzeAPIType(cur)
- elif cur.name == "struct":
- count = count + analyzeAPIStruct(cur)
- elif cur.name == "enum":
- count = count + analyzeAPIEnum(cur)
- elif cur.name == "functype":
- count = count + analyzeAPIFunctype(cur)
- else:
- print "unexpected element %s in API doc <files>" % (cur.name)
- cur = cur.next
- return count
-
-def analyzeAPI(doc):
- count = 0
- if doc == None:
- return -1
- root = doc.getRootElement()
- if root.name != "api":
- print "Unexpected root name"
- return -1
- cur = root.children
- while cur != None:
- if cur.type == 'text':
- cur = cur.next
- continue
- if cur.name == "files":
- pass
-# count = count + analyzeAPIFiles(cur)
- elif cur.name == "symbols":
- count = count + analyzeAPISymbols(cur)
- else:
- print "unexpected element %s in API doc" % (cur.name)
- cur = cur.next
- return count
-
-#########################################################################
-# #
-# Web pages parsing and analysis #
-# #
-#########################################################################
-
-import glob
-
-def analyzeHTMLText(doc, resource, p, section, id):
- words = 0
- try:
- content = p.content
- words = words + addStringHTML(content, resource, id, section, 5)
- except:
- return -1
- return words
-
-def analyzeHTMLPara(doc, resource, p, section, id):
- words = 0
- try:
- content = p.content
- words = words + addStringHTML(content, resource, id, section, 5)
- except:
- return -1
- return words
-
-def analyzeHTMLPre(doc, resource, p, section, id):
- words = 0
- try:
- content = p.content
- words = words + addStringHTML(content, resource, id, section, 5)
- except:
- return -1
- return words
-
-def analyzeHTML(doc, resource, p, section, id):
- words = 0
- try:
- content = p.content
- words = words + addStringHTML(content, resource, id, section, 5)
- except:
- return -1
- return words
-
-def analyzeHTML(doc, resource):
- para = 0;
- ctxt = doc.xpathNewContext()
- try:
- res = ctxt.xpathEval("//head/title")
- title = res[0].content
- except:
- title = "Page %s" % (resource)
- addPage(resource, title)
- try:
- items = ctxt.xpathEval("//h1 | //h2 | //h3 | //text()")
- section = title
- id = ""
- for item in items:
- if item.name == 'h1' or item.name == 'h2' or item.name == 'h3':
- section = item.content
- if item.prop("id"):
- id = item.prop("id")
- elif item.prop("name"):
- id = item.prop("name")
- elif item.type == 'text':
- analyzeHTMLText(doc, resource, item, section, id)
- para = para + 1
- elif item.name == 'p':
- analyzeHTMLPara(doc, resource, item, section, id)
- para = para + 1
- elif item.name == 'pre':
- analyzeHTMLPre(doc, resource, item, section, id)
- para = para + 1
- else:
- print "Page %s, unexpected %s element" % (resource, item.name)
- except:
- print "Page %s: problem analyzing" % (resource)
- print sys.exc_type, sys.exc_value
-
- return para
-
-def analyzeHTMLPages():
- ret = 0
- HTMLfiles = glob.glob("*.html") + glob.glob("tutorial/*.html")
- for html in HTMLfiles:
- if html[0:3] == "API":
- continue
- if html == "xslt.html":
- continue
- try:
- doc = libxml2.htmlParseFile(html, None)
- res = analyzeHTML(doc, html)
- print "Parsed %s : %d paragraphs" % (html, res)
- ret = ret + 1
- except:
- print "could not parse %s" % (html)
- return ret
-
-#########################################################################
-# #
-# Mail archives parsing and analysis #
-# #
-#########################################################################
-
-import time
-
-def getXMLDateArchive(t = None):
- if t == None:
- t = time.time()
- T = time.gmtime(t)
- month = time.strftime("%B", T)
- year = T[0]
- url = "http://mail.gnome.org/archives/xslt/%d-%s/date.html" % (year, month)
- return url
-
-def scanXMLMsgArchive(url, title, force = 0):
- if url == None or title == None:
- return 0
-
- ID = checkXMLMsgArchive(url)
- if force == 0 and ID != -1:
- return 0
-
- if ID == -1:
- ID = addXMLMsgArchive(url, title)
- if ID == -1:
- return 0
-
- try:
- print "Loading %s" % (url)
- doc = libxml2.htmlParseFile(url, None);
- except:
- doc = None
- if doc == None:
- print "Failed to parse %s" % (url)
- return 0
-
- addStringArchive(title, ID, 20)
- ctxt = doc.xpathNewContext()
- texts = ctxt.xpathEval("//pre//text()")
- for text in texts:
- addStringArchive(text.content, ID, 5)
-
- return 1
-
-def scanXMLDateArchive(t = None, force = 0):
- global wordsDictArchive
-
- wordsDictArchive = {}
-
- url = getXMLDateArchive(t)
- print "loading %s" % (url)
- try:
- doc = libxml2.htmlParseFile(url, None);
- except:
- doc = None
- if doc == None:
- print "Failed to parse %s" % (url)
- return -1
- ctxt = doc.xpathNewContext()
- anchors = ctxt.xpathEval("//a[@href]")
- links = 0
- newmsg = 0
- for anchor in anchors:
- href = anchor.prop("href")
- if href == None or href[0:3] != "msg":
- continue
- try:
- links = links + 1
-
- msg = libxml2.buildURI(href, url)
- title = anchor.content
- if title != None and title[0:4] == 'Re: ':
- title = title[4:]
- if title != None and title[0:6] == '[xml] ':
- title = title[6:]
- if title != None and title[0:7] == '[xslt] ':
- title = title[7:]
- newmsg = newmsg + scanXMLMsgArchive(msg, title, force)
-
- except:
- pass
-
- return newmsg
-
-
-#########################################################################
-# #
-# Main code: open the DB, the API XML and analyze it #
-# #
-#########################################################################
-try:
- openMySQL()
-except:
- print "Failed to open the database"
- print sys.exc_type, sys.exc_value
- sys.exit(1)
-
-def analyzeArchives(t = None, force = 0):
- global wordsDictArchive
-
- ret = scanXMLDateArchive(t, force)
- print "Indexed %d words in %d archive pages" % (len(wordsDictArchive), ret)
-
- i = 0
- skipped = 0
- for word in wordsDictArchive.keys():
- refs = wordsDictArchive[word]
- if refs == None:
- skipped = skipped + 1
- continue;
- for id in refs.keys():
- relevance = refs[id]
- updateWordArchive(word, id, relevance)
- i = i + 1
-
- print "Found %d associations in HTML pages" % (i)
-
-def analyzeHTMLTop():
- global wordsDictHTML
-
- ret = analyzeHTMLPages()
- print "Indexed %d words in %d HTML pages" % (len(wordsDictHTML), ret)
-
- i = 0
- skipped = 0
- for word in wordsDictHTML.keys():
- refs = wordsDictHTML[word]
- if refs == None:
- skipped = skipped + 1
- continue;
- for resource in refs.keys():
- (relevance, id, section) = refs[resource]
- updateWordHTML(word, resource, section, id, relevance)
- i = i + 1
-
- print "Found %d associations in HTML pages" % (i)
-
-def analyzeAPITop():
- global wordsDict
- global API
-
- try:
- doc = loadAPI(API)
- ret = analyzeAPI(doc)
- print "Analyzed %d blocs" % (ret)
- doc.freeDoc()
- except:
- print "Failed to parse and analyze %s" % (API)
- print sys.exc_type, sys.exc_value
- sys.exit(1)
-
- print "Indexed %d words" % (len(wordsDict))
- i = 0
- skipped = 0
- for word in wordsDict.keys():
- refs = wordsDict[word]
- if refs == None:
- skipped = skipped + 1
- continue;
- for (module, symbol) in refs.keys():
- updateWord(word, symbol, refs[(module, symbol)])
- i = i + 1
-
- print "Found %d associations, skipped %d words" % (i, skipped)
-
-def usage():
- print "Usage index.py [--force] [--archive] [--archive-year year] [--archive-month month] [--API] [--docs]"
- sys.exit(1)
-
-def main():
- args = sys.argv[1:]
- force = 0
- if args:
- i = 0
- while i < len(args):
- if args[i] == '--force':
- force = 1
- elif args[i] == '--archive':
- analyzeArchives(None, force)
- elif args[i] == '--archive-year':
- i = i + 1;
- year = args[i]
- months = ["January" , "February", "March", "April", "May",
- "June", "July", "August", "September", "October",
- "November", "December"];
- for month in months:
- try:
- str = "%s-%s" % (year, month)
- T = time.strptime(str, "%Y-%B")
- t = time.mktime(T) + 3600 * 24 * 10;
- analyzeArchives(t, force)
- except:
- print "Failed to index month archive:"
- print sys.exc_type, sys.exc_value
- elif args[i] == '--archive-month':
- i = i + 1;
- month = args[i]
- try:
- T = time.strptime(month, "%Y-%B")
- t = time.mktime(T) + 3600 * 24 * 10;
- analyzeArchives(t, force)
- except:
- print "Failed to index month archive:"
- print sys.exc_type, sys.exc_value
- elif args[i] == '--API':
- analyzeAPITop()
- elif args[i] == '--docs':
- analyzeHTMLTop()
- else:
- usage()
- i = i + 1
- else:
- usage()
-
-if __name__ == "__main__":
- main()
diff --git a/doc/libxslt-decl.txt b/doc/libxslt-decl.txt
deleted file mode 100644
index 423230ec..00000000
--- a/doc/libxslt-decl.txt
+++ /dev/null
@@ -1,1449 +0,0 @@
-<MACRO>
-<NAME>LIBXSLT_DOTTED_VERSION</NAME>
-#define LIBXSLT_DOTTED_VERSION "1.1.0"
-</MACRO>
-<MACRO>
-<NAME>LIBXSLT_VERSION</NAME>
-#define LIBXSLT_VERSION 10100
-</MACRO>
-<MACRO>
-<NAME>LIBXSLT_VERSION_STRING</NAME>
-#define LIBXSLT_VERSION_STRING "10100"
-</MACRO>
-<MACRO>
-<NAME>WITH_XSLT_DEBUG</NAME>
-#define WITH_XSLT_DEBUG
-</MACRO>
-<MACRO>
-<NAME>DEBUG_MEMORY</NAME>
-#define DEBUG_MEMORY
-</MACRO>
-<MACRO>
-<NAME>DEBUG_MEMORY_LOCATION</NAME>
-#define DEBUG_MEMORY_LOCATION
-</MACRO>
-<MACRO>
-<NAME>XSLT_NEED_TRIO</NAME>
-#define XSLT_NEED_TRIO
-</MACRO>
-<MACRO>
-<NAME>XSLT_NEED_TRIO</NAME>
-#define XSLT_NEED_TRIO
-</MACRO>
-<MACRO>
-<NAME>WITH_DEBUGGER</NAME>
-#define WITH_DEBUGGER
-</MACRO>
-<MACRO>
-<NAME>ATTRIBUTE_UNUSED</NAME>
-#define ATTRIBUTE_UNUSED __attribute__((unused))
-</MACRO>
-<MACRO>
-<NAME>ATTRIBUTE_UNUSED</NAME>
-#define ATTRIBUTE_UNUSED
-</MACRO>
-<MACRO>
-<NAME>LIBXSLT_PUBLIC</NAME>
-#define LIBXSLT_PUBLIC __declspec(dllimport)
-</MACRO>
-<MACRO>
-<NAME>LIBXSLT_PUBLIC</NAME>
-#define LIBXSLT_PUBLIC
-</MACRO>
-<MACRO>
-<NAME>XSLT_LIBXSLT_NAMESPACE</NAME>
-#define XSLT_LIBXSLT_NAMESPACE ((xmlChar *) "http://xmlsoft.org/XSLT/namespace")
-</MACRO>
-<MACRO>
-<NAME>XSLT_SAXON_NAMESPACE</NAME>
-#define XSLT_SAXON_NAMESPACE ((xmlChar *) "http://icl.com/saxon")
-</MACRO>
-<MACRO>
-<NAME>XSLT_XT_NAMESPACE</NAME>
-#define XSLT_XT_NAMESPACE ((xmlChar *) "http://www.jclark.com/xt")
-</MACRO>
-<MACRO>
-<NAME>XSLT_XALAN_NAMESPACE</NAME>
-#define XSLT_XALAN_NAMESPACE ((xmlChar *) \
- "org.apache.xalan.xslt.extensions.Redirect")
-</MACRO>
-<MACRO>
-<NAME>XSLT_NORM_SAXON_NAMESPACE</NAME>
-#define XSLT_NORM_SAXON_NAMESPACE ((xmlChar *) \
- "http://nwalsh.com/xslt/ext/com.nwalsh.saxon.CVS")
-</MACRO>
-<USER_FUNCTION>
-<NAME>xsltStyleExtInitFunction</NAME>
-<RETURNS>void *</RETURNS>
-xsltStylesheetPtr style,
- const xmlChar *URI
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>xsltStyleExtShutdownFunction</NAME>
-<RETURNS>void </RETURNS>
-xsltStylesheetPtr style,
- const xmlChar *URI,
- void *data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>xsltExtInitFunction</NAME>
-<RETURNS>void *</RETURNS>
-xsltTransformContextPtr ctxt,
- const xmlChar *URI
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>xsltExtShutdownFunction</NAME>
-<RETURNS>void </RETURNS>
-xsltTransformContextPtr ctxt,
- const xmlChar *URI,
- void *data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>xsltTopLevelFunction</NAME>
-<RETURNS>void </RETURNS>
-xsltStylesheetPtr style,
- xmlNodePtr inst
-</USER_FUNCTION>
-<MACRO>
-<NAME>XSLT_REGISTER_FUNCTION_LOOKUP</NAME>
-#define XSLT_REGISTER_FUNCTION_LOOKUP(ctxt) \
- xmlXPathRegisterFuncLookup((ctxt)->xpathCtxt, \
- (xmlXPathFuncLookupFunc) xsltXPathFunctionLookup, \
- (void *)(ctxt->xpathCtxt));
-</MACRO>
-<MACRO>
-<NAME>XSLT_GET_IMPORT_PTR</NAME>
-#define XSLT_GET_IMPORT_PTR(res, style, name) { \
- xsltStylesheetPtr st = style; \
- res = NULL; \
- while (st != NULL) { \
- if (st->name != NULL) { res = st->name; break; } \
- st = xsltNextImport(st); \
- }}
-</MACRO>
-<MACRO>
-<NAME>XSLT_GET_IMPORT_INT</NAME>
-#define XSLT_GET_IMPORT_INT(res, style, name) { \
- xsltStylesheetPtr st = style; \
- res = -1; \
- while (st != NULL) { \
- if (st->name != -1) { res = st->name; break; } \
- st = xsltNextImport(st); \
- }}
-</MACRO>
-<MACRO>
-<NAME>LIBXSLT_PUBLIC</NAME>
-#define LIBXSLT_PUBLIC __declspec(dllimport)
-</MACRO>
-<MACRO>
-<NAME>LIBXSLT_PUBLIC</NAME>
-#define LIBXSLT_PUBLIC
-</MACRO>
-<STRUCT>
-<NAME>xsltNumberData</NAME>
-</STRUCT>
-<TYPEDEF>
-<NAME>xsltNumberDataPtr</NAME>
-typedef xsltNumberData *xsltNumberDataPtr;
-</TYPEDEF>
-<STRUCT>
-<NAME>xsltNumberData</NAME>
-struct xsltNumberData {
- xmlChar *level;
- xmlChar *count;
- xmlChar *from;
- xmlChar *value;
- xmlChar *format;
- int has_format;
- int digitsPerGroup;
- int groupingCharacter;
- int groupingCharacterLen;
- xmlDocPtr doc;
- xmlNodePtr node;
-
- /*
- * accelerators
- */
-};
-</STRUCT>
-<STRUCT>
-<NAME>xsltFormatNumberInfo</NAME>
-</STRUCT>
-<TYPEDEF>
-<NAME>xsltFormatNumberInfoPtr</NAME>
-typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr;
-</TYPEDEF>
-<STRUCT>
-<NAME>xsltFormatNumberInfo</NAME>
-struct xsltFormatNumberInfo {
- int integer_hash; /* Number of '#' in integer part */
- int integer_digits; /* Number of '0' in integer part */
- int frac_digits; /* Number of '0' in fractional part */
- int frac_hash; /* Number of '#' in fractional part */
- int group; /* Number of chars per display 'group' */
- int multiplier; /* Scaling for percent or permille */
- char add_decimal; /* Flag for whether decimal point appears in pattern */
- char is_multiplier_set; /* Flag to catch multiple occurences of percent/permille */
- char is_negative_pattern;/* Flag for processing -ve prefix/suffix */
-};
-</STRUCT>
-<STRUCT>
-<NAME>xsltCompMatch</NAME>
-</STRUCT>
-<TYPEDEF>
-<NAME>xsltCompMatchPtr</NAME>
-typedef xsltCompMatch *xsltCompMatchPtr;
-</TYPEDEF>
-<FUNCTION>
-<NAME>xsltMatchPattern</NAME>
-<RETURNS>int </RETURNS>
-xsltTransformContextPtr ctxt,xmlNodePtr node,const xmlChar *pattern,xmlDocPtr ctxtdoc,xmlNodePtr ctxtnode
-</FUNCTION>
-<VARIABLE>
-<NAME>xsltExtMarker</NAME>
-extern const xmlChar *xsltExtMarker;
-</VARIABLE>
-<MACRO>
-<NAME>XSLT_REGISTER_VARIABLE_LOOKUP</NAME>
-#define XSLT_REGISTER_VARIABLE_LOOKUP(ctxt) \
- xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt, \
- xsltXPathVariableLookup, (void *)(ctxt)); \
- xsltRegisterAllFunctions((ctxt)->xpathCtxt); \
- xsltRegisterAllElement(ctxt); \
- (ctxt)->xpathCtxt->extra = ctxt
-</MACRO>
-<MACRO>
-<NAME>XSLT_DEFAULT_VERSION</NAME>
-#define XSLT_DEFAULT_VERSION "1.0"
-</MACRO>
-<MACRO>
-<NAME>XSLT_DEFAULT_VENDOR</NAME>
-#define XSLT_DEFAULT_VENDOR "libxslt"
-</MACRO>
-<MACRO>
-<NAME>XSLT_DEFAULT_URL</NAME>
-#define XSLT_DEFAULT_URL "http://xmlsoft.org/XSLT/"
-</MACRO>
-<MACRO>
-<NAME>XSLT_NAMESPACE</NAME>
-#define XSLT_NAMESPACE ((xmlChar *) "http://www.w3.org/1999/XSL/Transform")
-</MACRO>
-<MACRO>
-<NAME>XSLT_PARSE_OPTIONS</NAME>
-#define XSLT_PARSE_OPTIONS \
- XML_PARSE_NOENT | XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR | XML_PARSE_NOCDATA
-</MACRO>
-<VARIABLE>
-<NAME>xsltMaxDepth</NAME>
-extern int xsltMaxDepth;
-</VARIABLE>
-<VARIABLE>
-<NAME>xsltMaxVars</NAME>
-extern int xsltMaxVars;
-</VARIABLE>
-<VARIABLE>
-<NAME>xsltEngineVersion</NAME>
-extern const char *xsltEngineVersion;
-</VARIABLE>
-<VARIABLE>
-<NAME>xsltLibxsltVersion</NAME>
-extern const int xsltLibxsltVersion;
-</VARIABLE>
-<VARIABLE>
-<NAME>xsltLibxmlVersion</NAME>
-extern const int xsltLibxmlVersion;
-</VARIABLE>
-<MACRO>
-<NAME>XSLT_TODO</NAME>
-#define XSLT_TODO \
- xsltGenericError(xsltGenericErrorContext, \
- "Unimplemented block at %s:%d\n", \
- __FILE__, __LINE__);
-</MACRO>
-<MACRO>
-<NAME>XSLT_STRANGE</NAME>
-#define XSLT_STRANGE \
- xsltGenericError(xsltGenericErrorContext, \
- "Internal error at %s:%d\n", \
- __FILE__, __LINE__);
-</MACRO>
-<MACRO>
-<NAME>IS_XSLT_ELEM</NAME>
-#define IS_XSLT_ELEM(n) \
- (((n) != NULL) && ((n)->ns != NULL) && \
- (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE)))
-</MACRO>
-<MACRO>
-<NAME>IS_XSLT_NAME</NAME>
-#define IS_XSLT_NAME(n, val) \
- (xmlStrEqual((n)->name, (const xmlChar *) (val)))
-</MACRO>
-<MACRO>
-<NAME>IS_XSLT_REAL_NODE</NAME>
-#define IS_XSLT_REAL_NODE(n) \
- (((n) != NULL) && \
- (((n)->type == XML_ELEMENT_NODE) || \
- ((n)->type == XML_TEXT_NODE) || \
- ((n)->type == XML_ATTRIBUTE_NODE) || \
- ((n)->type == XML_DOCUMENT_NODE) || \
- ((n)->type == XML_HTML_DOCUMENT_NODE) || \
- ((n)->type == XML_PI_NODE)))
-</MACRO>
-<ENUM>
-<NAME>xsltDebugTraceCodes</NAME>
-typedef enum {
- XSLT_TRACE_ALL = -1,
- XSLT_TRACE_NONE = 0,
- XSLT_TRACE_COPY_TEXT = 1<<0,
- XSLT_TRACE_PROCESS_NODE = 1<<1,
- XSLT_TRACE_APPLY_TEMPLATE = 1<<2,
- XSLT_TRACE_COPY = 1<<3,
- XSLT_TRACE_COMMENT = 1<<4,
- XSLT_TRACE_PI = 1<<5,
- XSLT_TRACE_COPY_OF = 1<<6,
- XSLT_TRACE_VALUE_OF = 1<<7,
- XSLT_TRACE_CALL_TEMPLATE = 1<<8,
- XSLT_TRACE_APPLY_TEMPLATES = 1<<9,
- XSLT_TRACE_CHOOSE = 1<<10,
- XSLT_TRACE_IF = 1<<11,
- XSLT_TRACE_FOR_EACH = 1<<12,
- XSLT_TRACE_STRIP_SPACES = 1<<13,
- XSLT_TRACE_TEMPLATES = 1<<14,
- XSLT_TRACE_KEYS = 1<<15,
- XSLT_TRACE_VARIABLES = 1<<16
-} xsltDebugTraceCodes;
-</ENUM>
-<MACRO>
-<NAME>XSLT_TRACE</NAME>
-#define XSLT_TRACE(ctxt,code,call) \
- if (ctxt->traceCode && (*(ctxt->traceCode) & code)) \
- call
-</MACRO>
-<VARIABLE>
-<NAME>xsltGenericError</NAME>
-extern xmlGenericErrorFunc xsltGenericError;
-</VARIABLE>
-<VARIABLE>
-<NAME>xsltGenericErrorContext</NAME>
-extern void *xsltGenericErrorContext;
-</VARIABLE>
-<VARIABLE>
-<NAME>xsltGenericDebug</NAME>
-extern xmlGenericErrorFunc xsltGenericDebug;
-</VARIABLE>
-<VARIABLE>
-<NAME>xsltGenericDebugContext</NAME>
-extern void *xsltGenericDebugContext;
-</VARIABLE>
-<MACRO>
-<NAME>XSLT_TIMESTAMP_TICS_PER_SEC</NAME>
-#define XSLT_TIMESTAMP_TICS_PER_SEC 100000l
-</MACRO>
-<ENUM>
-<NAME>xsltDebugStatusCodes</NAME>
-typedef enum {
- XSLT_DEBUG_NONE = 0, /* no debugging allowed */
- XSLT_DEBUG_INIT,
- XSLT_DEBUG_STEP,
- XSLT_DEBUG_STEPOUT,
- XSLT_DEBUG_NEXT,
- XSLT_DEBUG_STOP,
- XSLT_DEBUG_CONT,
- XSLT_DEBUG_RUN,
- XSLT_DEBUG_RUN_RESTART,
- XSLT_DEBUG_QUIT
-} xsltDebugStatusCodes;
-</ENUM>
-<VARIABLE>
-<NAME>xslDebugStatus</NAME>
-extern int xslDebugStatus;
-</VARIABLE>
-<USER_FUNCTION>
-<NAME>xsltHandleDebuggerCallback</NAME>
-<RETURNS>void </RETURNS>
-xmlNodePtr cur, xmlNodePtr node,
- xsltTemplatePtr templ, xsltTransformContextPtr ctxt
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>xsltAddCallCallback</NAME>
-<RETURNS>int </RETURNS>
-xsltTemplatePtr templ, xmlNodePtr source
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>xsltDropCallCallback</NAME>
-<RETURNS>void </RETURNS>
-void
-</USER_FUNCTION>
-<MACRO>
-<NAME>LIBXSLT_DOTTED_VERSION</NAME>
-#define LIBXSLT_DOTTED_VERSION "1.1.0"
-</MACRO>
-<MACRO>
-<NAME>LIBXSLT_VERSION</NAME>
-#define LIBXSLT_VERSION 10100
-</MACRO>
-<MACRO>
-<NAME>LIBXSLT_VERSION_STRING</NAME>
-#define LIBXSLT_VERSION_STRING "10100"
-</MACRO>
-<MACRO>
-<NAME>WITH_XSLT_DEBUG</NAME>
-#define WITH_XSLT_DEBUG
-</MACRO>
-<MACRO>
-<NAME>DEBUG_MEMORY</NAME>
-#define DEBUG_MEMORY
-</MACRO>
-<MACRO>
-<NAME>DEBUG_MEMORY_LOCATION</NAME>
-#define DEBUG_MEMORY_LOCATION
-</MACRO>
-<MACRO>
-<NAME>ATTRIBUTE_UNUSED</NAME>
-#define ATTRIBUTE_UNUSED
-</MACRO>
-<MACRO>
-<NAME>TRIO_ERROR_CODE</NAME>
-#define TRIO_ERROR_CODE(x) ((-(x)) & 0x00FF)
-</MACRO>
-<MACRO>
-<NAME>TRIO_ERROR_POSITION</NAME>
-#define TRIO_ERROR_POSITION(x) ((-(x)) >> 8)
-</MACRO>
-<MACRO>
-<NAME>TRIO_ERROR_NAME</NAME>
-#define TRIO_ERROR_NAME(x) trio_strerror(x)
-</MACRO>
-<TYPEDEF>
-<NAME>int))</NAME>
-typedef int (*trio_outstream_t) TRIO_PROTO((trio_pointer_t, int));
-</TYPEDEF>
-<TYPEDEF>
-<NAME>TRIO_PROTO((trio_pointer_t))</NAME>
-typedef int (*trio_instream_t) TRIO_PROTO((trio_pointer_t));
-</TYPEDEF>
-<MACRO>
-<NAME>printf</NAME>
-# define printf trio_printf
-</MACRO>
-<MACRO>
-<NAME>vprintf</NAME>
-# define vprintf trio_vprintf
-</MACRO>
-<MACRO>
-<NAME>fprintf</NAME>
-# define fprintf trio_fprintf
-</MACRO>
-<MACRO>
-<NAME>vfprintf</NAME>
-# define vfprintf trio_vfprintf
-</MACRO>
-<MACRO>
-<NAME>sprintf</NAME>
-# define sprintf trio_sprintf
-</MACRO>
-<MACRO>
-<NAME>vsprintf</NAME>
-# define vsprintf trio_vsprintf
-</MACRO>
-<MACRO>
-<NAME>snprintf</NAME>
-# define snprintf trio_snprintf
-</MACRO>
-<MACRO>
-<NAME>vsnprintf</NAME>
-# define vsnprintf trio_vsnprintf
-</MACRO>
-<MACRO>
-<NAME>scanf</NAME>
-# define scanf trio_scanf
-</MACRO>
-<MACRO>
-<NAME>vscanf</NAME>
-# define vscanf trio_vscanf
-</MACRO>
-<MACRO>
-<NAME>fscanf</NAME>
-# define fscanf trio_fscanf
-</MACRO>
-<MACRO>
-<NAME>vfscanf</NAME>
-# define vfscanf trio_vfscanf
-</MACRO>
-<MACRO>
-<NAME>sscanf</NAME>
-# define sscanf trio_sscanf
-</MACRO>
-<MACRO>
-<NAME>vsscanf</NAME>
-# define vsscanf trio_vsscanf
-</MACRO>
-<MACRO>
-<NAME>dprintf</NAME>
-#define dprintf trio_dprintf
-</MACRO>
-<MACRO>
-<NAME>vdprintf</NAME>
-#define vdprintf trio_vdprintf
-</MACRO>
-<MACRO>
-<NAME>aprintf</NAME>
-#define aprintf trio_aprintf
-</MACRO>
-<MACRO>
-<NAME>vaprintf</NAME>
-#define vaprintf trio_vaprintf
-</MACRO>
-<MACRO>
-<NAME>asprintf</NAME>
-#define asprintf trio_asprintf
-</MACRO>
-<MACRO>
-<NAME>vasprintf</NAME>
-#define vasprintf trio_vasprintf
-</MACRO>
-<MACRO>
-<NAME>dscanf</NAME>
-#define dscanf trio_dscanf
-</MACRO>
-<MACRO>
-<NAME>vdscanf</NAME>
-#define vdscanf trio_vdscanf
-</MACRO>
-<MACRO>
-<NAME>XSLT_MAX_SORT</NAME>
-#define XSLT_MAX_SORT 15
-</MACRO>
-<MACRO>
-<NAME>XSLT_PAT_NO_PRIORITY</NAME>
-#define XSLT_PAT_NO_PRIORITY -12345789
-</MACRO>
-<STRUCT>
-<NAME>xsltRuntimeExtra</NAME>
-</STRUCT>
-<TYPEDEF>
-<NAME>xsltRuntimeExtraPtr</NAME>
-typedef xsltRuntimeExtra *xsltRuntimeExtraPtr;
-</TYPEDEF>
-<STRUCT>
-<NAME>xsltRuntimeExtra</NAME>
-struct xsltRuntimeExtra {
- void *info; /* pointer to the extra data */
- xmlFreeFunc deallocate; /* pointer to the deallocation routine */
- void *val; /* data not needing deallocation */
-};
-</STRUCT>
-<MACRO>
-<NAME>XSLT_RUNTIME_EXTRA_LST</NAME>
-#define XSLT_RUNTIME_EXTRA_LST(ctxt, nr) (ctxt)->extras[(nr)].info
-</MACRO>
-<MACRO>
-<NAME>XSLT_RUNTIME_EXTRA_FREE</NAME>
-#define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)->extras[(nr)].deallocate
-</MACRO>
-<MACRO>
-<NAME>XSLT_RUNTIME_EXTRA</NAME>
-#define XSLT_RUNTIME_EXTRA(ctxt, nr) (ctxt)->extras[(nr)].val
-</MACRO>
-<STRUCT>
-<NAME>xsltTemplate</NAME>
-</STRUCT>
-<TYPEDEF>
-<NAME>xsltTemplatePtr</NAME>
-typedef xsltTemplate *xsltTemplatePtr;
-</TYPEDEF>
-<STRUCT>
-<NAME>xsltTemplate</NAME>
-struct xsltTemplate {
- struct _xsltTemplate *next;/* chained list sorted by priority */
- struct _xsltStylesheet *style;/* the containing stylesheet */
- xmlChar *match; /* the matching string */
- float priority; /* as given from the stylesheet, not computed */
- xmlChar *name; /* the local part of the name QName */
- xmlChar *nameURI; /* the URI part of the name QName */
- xmlChar *mode; /* the local part of the mode QName */
- xmlChar *modeURI; /* the URI part of the mode QName */
- xmlNodePtr content; /* the template replacement value */
- xmlNodePtr elem; /* the source element */
-
- int inheritedNsNr; /* number of inherited namespaces */
- xmlNsPtr *inheritedNs;/* inherited non-excluded namespaces */
-
- /* Profiling informations */
- int nbCalls; /* the number of time the template was called */
- unsigned long time; /* the time spent in this template */
-};
-</STRUCT>
-<STRUCT>
-<NAME>xsltDecimalFormat</NAME>
-</STRUCT>
-<TYPEDEF>
-<NAME>xsltDecimalFormatPtr</NAME>
-typedef xsltDecimalFormat *xsltDecimalFormatPtr;
-</TYPEDEF>
-<STRUCT>
-<NAME>xsltDecimalFormat</NAME>
-struct xsltDecimalFormat {
- struct _xsltDecimalFormat *next; /* chained list */
- xmlChar *name;
- /* Used for interpretation of pattern */
- xmlChar *digit;
- xmlChar *patternSeparator;
- /* May appear in result */
- xmlChar *minusSign;
- xmlChar *infinity;
- xmlChar *noNumber; /* Not-a-number */
- /* Used for interpretation of pattern and may appear in result */
- xmlChar *decimalPoint;
- xmlChar *grouping;
- xmlChar *percent;
- xmlChar *permille;
- xmlChar *zeroDigit;
-};
-</STRUCT>
-<STRUCT>
-<NAME>xsltDocument</NAME>
-</STRUCT>
-<TYPEDEF>
-<NAME>xsltDocumentPtr</NAME>
-typedef xsltDocument *xsltDocumentPtr;
-</TYPEDEF>
-<STRUCT>
-<NAME>xsltDocument</NAME>
-struct xsltDocument {
- struct _xsltDocument *next; /* documents are kept in a chained list */
- int main; /* is this the main document */
- xmlDocPtr doc; /* the parsed document */
- void *keys; /* key tables storage */
- struct _xsltDocument *includes; /* subsidiary includes */
-};
-</STRUCT>
-<STRUCT>
-<NAME>xsltTransformContext</NAME>
-</STRUCT>
-<TYPEDEF>
-<NAME>xsltTransformContextPtr</NAME>
-typedef xsltTransformContext *xsltTransformContextPtr;
-</TYPEDEF>
-<STRUCT>
-<NAME>xsltElemPreComp</NAME>
-</STRUCT>
-<TYPEDEF>
-<NAME>xsltElemPreCompPtr</NAME>
-typedef xsltElemPreComp *xsltElemPreCompPtr;
-</TYPEDEF>
-<USER_FUNCTION>
-<NAME>xsltTransformFunction</NAME>
-<RETURNS>void </RETURNS>
-xsltTransformContextPtr ctxt,
- xmlNodePtr node,
- xmlNodePtr inst,
- xsltElemPreCompPtr comp
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>xsltSortFunc</NAME>
-<RETURNS>void </RETURNS>
-xsltTransformContextPtr ctxt, xmlNodePtr *sorts,
- int nbsorts
-</USER_FUNCTION>
-<ENUM>
-<NAME>xsltStyleType</NAME>
-typedef enum {
- XSLT_FUNC_COPY=1,
- XSLT_FUNC_SORT,
- XSLT_FUNC_TEXT,
- XSLT_FUNC_ELEMENT,
- XSLT_FUNC_ATTRIBUTE,
- XSLT_FUNC_COMMENT,
- XSLT_FUNC_PI,
- XSLT_FUNC_COPYOF,
- XSLT_FUNC_VALUEOF,
- XSLT_FUNC_NUMBER,
- XSLT_FUNC_APPLYIMPORTS,
- XSLT_FUNC_CALLTEMPLATE,
- XSLT_FUNC_APPLYTEMPLATES,
- XSLT_FUNC_CHOOSE,
- XSLT_FUNC_IF,
- XSLT_FUNC_FOREACH,
- XSLT_FUNC_DOCUMENT,
- XSLT_FUNC_WITHPARAM,
- XSLT_FUNC_PARAM,
- XSLT_FUNC_VARIABLE,
- XSLT_FUNC_WHEN,
- XSLT_FUNC_EXTENSION
-} xsltStyleType;
-</ENUM>
-<USER_FUNCTION>
-<NAME>xsltElemPreCompDeallocator</NAME>
-<RETURNS>void </RETURNS>
-xsltElemPreCompPtr comp
-</USER_FUNCTION>
-<STRUCT>
-<NAME>xsltElemPreComp</NAME>
-struct xsltElemPreComp {
- xsltElemPreCompPtr next; /* chained list */
- xsltStyleType type; /* type of the element */
- xsltTransformFunction func; /* handling function */
- xmlNodePtr inst; /* the instruction */
-
- /* end of common part */
- xsltElemPreCompDeallocator free; /* the deallocator */
-};
-</STRUCT>
-<STRUCT>
-<NAME>xsltStylePreComp</NAME>
-</STRUCT>
-<TYPEDEF>
-<NAME>xsltStylePreCompPtr</NAME>
-typedef xsltStylePreComp *xsltStylePreCompPtr;
-</TYPEDEF>
-<STRUCT>
-<NAME>xsltStylePreComp</NAME>
-struct xsltStylePreComp {
- xsltElemPreCompPtr next; /* chained list */
- xsltStyleType type; /* type of the element */
- xsltTransformFunction func; /* handling function */
- xmlNodePtr inst; /* the instruction */
-
- /*
- * Pre computed values.
- */
-
- xmlChar *stype; /* sort */
- int has_stype; /* sort */
- int number; /* sort */
- xmlChar *order; /* sort */
- int has_order; /* sort */
- int descending; /* sort */
- xmlChar *lang; /* sort */
- int has_lang; /* sort */
- xmlChar *case_order; /* sort */
- int lower_first; /* sort */
-
- xmlChar *use; /* copy, element */
- int has_use; /* copy, element */
-
- int noescape; /* text */
-
- xmlChar *name; /* element, attribute, pi */
- int has_name; /* element, attribute, pi */
- xmlChar *ns; /* element */
- int has_ns; /* element */
-
- xmlChar *mode; /* apply-templates */
- xmlChar *modeURI; /* apply-templates */
-
- xmlChar *test; /* if */
-
- xsltTemplatePtr templ; /* call-template */
-
- xmlChar *select; /* sort, copy-of, value-of, apply-templates */
-
- int ver11; /* document */
- xmlChar *filename; /* document URL */
- int has_filename; /* document */
-
- xsltNumberData numdata; /* number */
-
- xmlXPathCompExprPtr comp; /* a precompiled XPath expression */
- xmlNsPtr *nsList; /* the namespaces in scope */
- int nsNr; /* the number of namespaces in scope */
-};
-</STRUCT>
-<STRUCT>
-<NAME>xsltStackElem</NAME>
-</STRUCT>
-<TYPEDEF>
-<NAME>xsltStackElemPtr</NAME>
-typedef xsltStackElem *xsltStackElemPtr;
-</TYPEDEF>
-<STRUCT>
-<NAME>xsltStackElem</NAME>
-struct xsltStackElem {
- struct _xsltStackElem *next;/* chained list */
- xsltStylePreCompPtr comp; /* the compiled form */
- int computed; /* was the evaluation done */
- xmlChar *name; /* the local part of the name QName */
- xmlChar *nameURI; /* the URI part of the name QName */
- xmlChar *select; /* the eval string */
- xmlNodePtr tree; /* the tree if no eval string or the location */
- xmlXPathObjectPtr value; /* The value if computed */
-};
-</STRUCT>
-<STRUCT>
-<NAME>xsltStylesheet</NAME>
-</STRUCT>
-<TYPEDEF>
-<NAME>xsltStylesheetPtr</NAME>
-typedef xsltStylesheet *xsltStylesheetPtr;
-</TYPEDEF>
-<STRUCT>
-<NAME>xsltStylesheet</NAME>
-struct xsltStylesheet {
- /*
- * The stylesheet import relation is kept as a tree.
- */
- struct _xsltStylesheet *parent;
- struct _xsltStylesheet *next;
- struct _xsltStylesheet *imports;
-
- xsltDocumentPtr docList; /* the include document list */
-
- /*
- * General data on the style sheet document.
- */
- xmlDocPtr doc; /* the parsed XML stylesheet */
- xmlHashTablePtr stripSpaces;/* the hash table of the strip-space and
- preserve space elements */
- int stripAll; /* strip-space * (1) preserve-space * (-1) */
- xmlHashTablePtr cdataSection;/* the hash table of the cdata-section */
-
- /*
- * Global variable or parameters.
- */
- xsltStackElemPtr variables; /* linked list of param and variables */
-
- /*
- * Template descriptions.
- */
- xsltTemplatePtr templates; /* the ordered list of templates */
- void *templatesHash; /* hash table or wherever compiled templates
- informations are stored */
- void *rootMatch; /* template based on / */
- void *keyMatch; /* template based on key() */
- void *elemMatch; /* template based on * */
- void *attrMatch; /* template based on @* */
- void *parentMatch; /* template based on .. */
- void *textMatch; /* template based on text() */
- void *piMatch; /* template based on processing-instruction() */
- void *commentMatch; /* template based on comment() */
-
- /*
- * Namespace aliases.
- */
- xmlHashTablePtr nsAliases; /* the namespace alias hash tables */
-
- /*
- * Attribute sets.
- */
- xmlHashTablePtr attributeSets;/* the attribute sets hash tables */
-
- /*
- * Namespaces.
- */
- xmlHashTablePtr nsHash; /* the set of namespaces in use */
- void *nsDefs; /* the namespaces defined */
-
- /*
- * Key definitions.
- */
- void *keys; /* key definitions */
-
- /*
- * Output related stuff.
- */
- xmlChar *method; /* the output method */
- xmlChar *methodURI; /* associated namespace if any */
- xmlChar *version; /* version string */
- xmlChar *encoding; /* encoding string */
- int omitXmlDeclaration; /* omit-xml-declaration = "yes" | "no" */
-
- /*
- * Number formatting.
- */
- xsltDecimalFormatPtr decimalFormat;
- int standalone; /* standalone = "yes" | "no" */
- xmlChar *doctypePublic; /* doctype-public string */
- xmlChar *doctypeSystem; /* doctype-system string */
- int indent; /* should output being indented */
- xmlChar *mediaType; /* media-type string */
-
- /*
- * Precomputed blocks.
- */
- xsltElemPreCompPtr preComps;/* list of precomputed blocks */
- int warnings; /* number of warnings found at compilation */
- int errors; /* number of errors found at compilation */
-
- xmlChar *exclPrefix; /* last excluded prefixes */
- xmlChar **exclPrefixTab; /* array of excluded prefixes */
- int exclPrefixNr; /* number of excluded prefixes in scope */
- int exclPrefixMax; /* size of the array */
-
- void *_private; /* user defined data */
-
- /*
- * Extensions.
- */
- xmlHashTablePtr extInfos; /* the extension data */
- int extrasNr; /* the number of extras required */
-
- /*
- * For keeping track of nested includes
- */
- xsltDocumentPtr includes; /* points to last nested include */
-};
-</STRUCT>
-<ENUM>
-<NAME>xsltOutputType</NAME>
-typedef enum {
- XSLT_OUTPUT_XML = 0,
- XSLT_OUTPUT_HTML,
- XSLT_OUTPUT_TEXT
-} xsltOutputType;
-</ENUM>
-<ENUM>
-<NAME>xsltTransformState</NAME>
-typedef enum {
- XSLT_STATE_OK = 0,
- XSLT_STATE_ERROR,
- XSLT_STATE_STOPPED
-} xsltTransformState;
-</ENUM>
-<STRUCT>
-<NAME>xsltTransformContext</NAME>
-struct xsltTransformContext {
- xsltStylesheetPtr style; /* the stylesheet used */
- xsltOutputType type; /* the type of output */
-
- xsltTemplatePtr templ; /* the current template */
- int templNr; /* Nb of templates in the stack */
- int templMax; /* Size of the templtes stack */
- xsltTemplatePtr *templTab; /* the template stack */
-
- xsltStackElemPtr vars; /* the current variable list */
- int varsNr; /* Nb of variable list in the stack */
- int varsMax; /* Size of the variable list stack */
- xsltStackElemPtr *varsTab; /* the variable list stack */
- int varsBase; /* the var base for current templ */
-
- /*
- * Extensions
- */
- xmlHashTablePtr extFunctions; /* the extension functions */
- xmlHashTablePtr extElements; /* the extension elements */
- xmlHashTablePtr extInfos; /* the extension data */
-
- const xmlChar *mode; /* the current mode */
- const xmlChar *modeURI; /* the current mode URI */
-
- xsltDocumentPtr docList; /* the document list */
-
- xsltDocumentPtr document; /* the current document */
- xmlNodePtr node; /* the current node being processed */
- xmlNodeSetPtr nodeList; /* the current node list */
- /* xmlNodePtr current; the node */
-
- xmlDocPtr output; /* the resulting document */
- xmlNodePtr insert; /* the insertion node */
-
- xmlXPathContextPtr xpathCtxt; /* the XPath context */
- xsltTransformState state; /* the current state */
-
- /*
- * Global variables
- */
- xmlHashTablePtr globalVars; /* the global variables and params */
-
- xmlNodePtr inst; /* the instruction in the stylesheet */
-
- int xinclude; /* should XInclude be processed */
-
- const char * outputFile; /* the output URI if known */
-
- int profile; /* is this run profiled */
- long prof; /* the current profiled value */
- int profNr; /* Nb of templates in the stack */
- int profMax; /* Size of the templtaes stack */
- long *profTab; /* the profile template stack */
-
- void *_private; /* user defined data */
-
- int extrasNr; /* the number of extras used */
- int extrasMax; /* the number of extras allocated */
- xsltRuntimeExtraPtr extras; /* extra per runtime informations */
-
- xsltDocumentPtr styleList; /* the stylesheet docs list */
- void * sec; /* the security preferences if any */
-
- xmlGenericErrorFunc error; /* a specific error handler */
- void * errctx; /* context for the error handler */
-
- xsltSortFunc sortfunc; /* a ctxt specific sort routine */
-
- /*
- * handling of temporary Result Value Tree
- */
- xmlDocPtr tmpRVT; /* list of RVT without persistance */
- xmlDocPtr persistRVT; /* list of persistant RVTs */
- int ctxtflags; /* context processing flags */
-
- /*
- * Speed optimization when coalescing text nodes
- */
- const xmlChar *lasttext; /* last text node content */
- unsigned int lasttsize; /* last text node size */
- unsigned int lasttuse; /* last text node use */
- /*
- * Per Context Debugging
- */
- int debugStatus; /* the context level debug status */
- unsigned long* traceCode; /* pointer to the variable holding the mask */
-};
-</STRUCT>
-<MACRO>
-<NAME>CHECK_STOPPED</NAME>
-#define CHECK_STOPPED if (ctxt->state == XSLT_STATE_STOPPED) return;
-</MACRO>
-<MACRO>
-<NAME>CHECK_STOPPEDE</NAME>
-#define CHECK_STOPPEDE if (ctxt->state == XSLT_STATE_STOPPED) goto error;
-</MACRO>
-<MACRO>
-<NAME>CHECK_STOPPED0</NAME>
-#define CHECK_STOPPED0 if (ctxt->state == XSLT_STATE_STOPPED) return(0);
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_GCC</NAME>
-# define TRIO_COMPILER_GCC
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_SUNPRO</NAME>
-# define TRIO_COMPILER_SUNPRO
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_SUNPRO</NAME>
-# define TRIO_COMPILER_SUNPRO
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_XLC</NAME>
-# define TRIO_COMPILER_XLC
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_XLC</NAME>
-# define TRIO_COMPILER_XLC /* Workaround for old xlc */
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_DECC</NAME>
-# define TRIO_COMPILER_DECC
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_DECC</NAME>
-# define TRIO_COMPILER_DECC /* Workaround for old DEC C compilers */
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_MSVC</NAME>
-# define TRIO_COMPILER_MSVC
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_BCB</NAME>
-# define TRIO_COMPILER_BCB
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_VMS</NAME>
-# define TRIO_PLATFORM_VMS
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_UNIX</NAME>
-# define TRIO_PLATFORM_UNIX
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_UNIX</NAME>
-# define TRIO_PLATFORM_UNIX
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_UNIX</NAME>
-# define TRIO_PLATFORM_UNIX
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_UNIX</NAME>
-# define TRIO_PLATFORM_UNIX
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_UNIX</NAME>
-# define TRIO_PLATFORM_UNIX
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_QNX</NAME>
-# define TRIO_PLATFORM_QNX
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_UNIX</NAME>
-# define TRIO_PLATFORM_UNIX
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_UNIX</NAME>
-# define TRIO_PLATFORM_UNIX
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_WIN32</NAME>
-# define TRIO_PLATFORM_WIN32
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_MPEIX</NAME>
-# define TRIO_PLATFORM_MPEIX
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_AIX</NAME>
-# define TRIO_PLATFORM_AIX
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_HPUX</NAME>
-# define TRIO_PLATFORM_HPUX
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_SOLARIS</NAME>
-# define TRIO_PLATFORM_SOLARIS
-</MACRO>
-<MACRO>
-<NAME>TRIO_PLATFORM_SUNOS</NAME>
-# define TRIO_PLATFORM_SUNOS
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_SUPPORTS_C89</NAME>
-# define TRIO_COMPILER_SUPPORTS_C89
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_SUPPORTS_C90</NAME>
-# define TRIO_COMPILER_SUPPORTS_C90
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_SUPPORTS_C94</NAME>
-# define TRIO_COMPILER_SUPPORTS_C94
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_SUPPORTS_C99</NAME>
-# define TRIO_COMPILER_SUPPORTS_C99
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_SUPPORTS_C94</NAME>
-# define TRIO_COMPILER_SUPPORTS_C94
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_SUPPORTS_UNIX95</NAME>
-# define TRIO_COMPILER_SUPPORTS_UNIX95
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_SUPPORTS_UNIX98</NAME>
-# define TRIO_COMPILER_SUPPORTS_UNIX98
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_SUPPORTS_UNIX01</NAME>
-# define TRIO_COMPILER_SUPPORTS_UNIX01
-</MACRO>
-<MACRO>
-<NAME>TRIO_PUBLIC</NAME>
-# define TRIO_PUBLIC
-</MACRO>
-<MACRO>
-<NAME>TRIO_PRIVATE</NAME>
-# define TRIO_PRIVATE static
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_ANCIENT</NAME>
-# define TRIO_COMPILER_ANCIENT
-</MACRO>
-<MACRO>
-<NAME>TRIO_CONST</NAME>
-# define TRIO_CONST
-</MACRO>
-<MACRO>
-<NAME>TRIO_VOLATILE</NAME>
-# define TRIO_VOLATILE
-</MACRO>
-<MACRO>
-<NAME>TRIO_SIGNED</NAME>
-# define TRIO_SIGNED
-</MACRO>
-<TYPEDEF>
-<NAME>trio_long_double_t</NAME>
-typedef double trio_long_double_t;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>trio_pointer_t</NAME>
-typedef char * trio_pointer_t;
-</TYPEDEF>
-<MACRO>
-<NAME>TRIO_SUFFIX_LONG</NAME>
-# define TRIO_SUFFIX_LONG(x) x
-</MACRO>
-<MACRO>
-<NAME>TRIO_PROTO</NAME>
-# define TRIO_PROTO(x) ()
-</MACRO>
-<MACRO>
-<NAME>TRIO_NOARGS</NAME>
-# define TRIO_NOARGS
-</MACRO>
-<MACRO>
-<NAME>TRIO_ARGS1</NAME>
-# define TRIO_ARGS1(list,a1) list a1;
-</MACRO>
-<MACRO>
-<NAME>TRIO_ARGS2</NAME>
-# define TRIO_ARGS2(list,a1,a2) list a1; a2;
-</MACRO>
-<MACRO>
-<NAME>TRIO_ARGS3</NAME>
-# define TRIO_ARGS3(list,a1,a2,a3) list a1; a2; a3;
-</MACRO>
-<MACRO>
-<NAME>TRIO_ARGS4</NAME>
-# define TRIO_ARGS4(list,a1,a2,a3,a4) list a1; a2; a3; a4;
-</MACRO>
-<MACRO>
-<NAME>TRIO_ARGS5</NAME>
-# define TRIO_ARGS5(list,a1,a2,a3,a4,a5) list a1; a2; a3; a4; a5;
-</MACRO>
-<MACRO>
-<NAME>TRIO_ARGS6</NAME>
-# define TRIO_ARGS6(list,a1,a2,a3,a4,a5,a6) list a1; a2; a3; a4; a5; a6;
-</MACRO>
-<MACRO>
-<NAME>TRIO_VARGS2</NAME>
-# define TRIO_VARGS2(list,a1,a2) list a1; a2
-</MACRO>
-<MACRO>
-<NAME>TRIO_VARGS3</NAME>
-# define TRIO_VARGS3(list,a1,a2,a3) list a1; a2; a3
-</MACRO>
-<MACRO>
-<NAME>TRIO_VARGS4</NAME>
-# define TRIO_VARGS4(list,a1,a2,a3,a4) list a1; a2; a3; a4
-</MACRO>
-<MACRO>
-<NAME>TRIO_VARGS5</NAME>
-# define TRIO_VARGS5(list,a1,a2,a3,a4,a5) list a1; a2; a3; a4; a5
-</MACRO>
-<MACRO>
-<NAME>TRIO_VA_DECL</NAME>
-# define TRIO_VA_DECL va_dcl
-</MACRO>
-<MACRO>
-<NAME>TRIO_VA_START</NAME>
-# define TRIO_VA_START(x,y) va_start(x)
-</MACRO>
-<MACRO>
-<NAME>TRIO_VA_END</NAME>
-# define TRIO_VA_END(x) va_end(x)
-</MACRO>
-<MACRO>
-<NAME>TRIO_CONST</NAME>
-# define TRIO_CONST const
-</MACRO>
-<MACRO>
-<NAME>TRIO_VOLATILE</NAME>
-# define TRIO_VOLATILE volatile
-</MACRO>
-<MACRO>
-<NAME>TRIO_SIGNED</NAME>
-# define TRIO_SIGNED signed
-</MACRO>
-<TYPEDEF>
-<NAME>trio_long_double_t</NAME>
-typedef long double trio_long_double_t;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>trio_pointer_t</NAME>
-typedef void * trio_pointer_t;
-</TYPEDEF>
-<MACRO>
-<NAME>TRIO_SUFFIX_LONG</NAME>
-# define TRIO_SUFFIX_LONG(x) x ## L
-</MACRO>
-<MACRO>
-<NAME>TRIO_PROTO</NAME>
-# define TRIO_PROTO(x) x
-</MACRO>
-<MACRO>
-<NAME>TRIO_NOARGS</NAME>
-# define TRIO_NOARGS void
-</MACRO>
-<MACRO>
-<NAME>TRIO_ARGS1</NAME>
-# define TRIO_ARGS1(list,a1) (a1)
-</MACRO>
-<MACRO>
-<NAME>TRIO_ARGS2</NAME>
-# define TRIO_ARGS2(list,a1,a2) (a1,a2)
-</MACRO>
-<MACRO>
-<NAME>TRIO_ARGS3</NAME>
-# define TRIO_ARGS3(list,a1,a2,a3) (a1,a2,a3)
-</MACRO>
-<MACRO>
-<NAME>TRIO_ARGS4</NAME>
-# define TRIO_ARGS4(list,a1,a2,a3,a4) (a1,a2,a3,a4)
-</MACRO>
-<MACRO>
-<NAME>TRIO_ARGS5</NAME>
-# define TRIO_ARGS5(list,a1,a2,a3,a4,a5) (a1,a2,a3,a4,a5)
-</MACRO>
-<MACRO>
-<NAME>TRIO_ARGS6</NAME>
-# define TRIO_ARGS6(list,a1,a2,a3,a4,a5,a6) (a1,a2,a3,a4,a5,a6)
-</MACRO>
-<MACRO>
-<NAME>TRIO_VARGS2</NAME>
-# define TRIO_VARGS2 TRIO_ARGS2
-</MACRO>
-<MACRO>
-<NAME>TRIO_VARGS3</NAME>
-# define TRIO_VARGS3 TRIO_ARGS3
-</MACRO>
-<MACRO>
-<NAME>TRIO_VARGS4</NAME>
-# define TRIO_VARGS4 TRIO_ARGS4
-</MACRO>
-<MACRO>
-<NAME>TRIO_VARGS5</NAME>
-# define TRIO_VARGS5 TRIO_ARGS5
-</MACRO>
-<MACRO>
-<NAME>TRIO_VA_DECL</NAME>
-# define TRIO_VA_DECL ...
-</MACRO>
-<MACRO>
-<NAME>TRIO_VA_START</NAME>
-# define TRIO_VA_START(x,y) va_start(x,y)
-</MACRO>
-<MACRO>
-<NAME>TRIO_VA_END</NAME>
-# define TRIO_VA_END(x) va_end(x)
-</MACRO>
-<MACRO>
-<NAME>TRIO_INLINE</NAME>
-# define TRIO_INLINE inline
-</MACRO>
-<MACRO>
-<NAME>TRIO_INLINE</NAME>
-# define TRIO_INLINE __inline__
-</MACRO>
-<MACRO>
-<NAME>TRIO_INLINE</NAME>
-# define TRIO_INLINE _inline
-</MACRO>
-<MACRO>
-<NAME>TRIO_INLINE</NAME>
-# define TRIO_INLINE __inline
-</MACRO>
-<MACRO>
-<NAME>TRIO_INLINE</NAME>
-# define TRIO_INLINE
-</MACRO>
-<MACRO>
-<NAME>TRIO_COMPILER_SUPPORTS_LL</NAME>
-# define TRIO_COMPILER_SUPPORTS_LL
-</MACRO>
-<STRUCT>
-<NAME>xsltSecurityPrefs</NAME>
-</STRUCT>
-<TYPEDEF>
-<NAME>xsltSecurityPrefsPtr</NAME>
-typedef xsltSecurityPrefs *xsltSecurityPrefsPtr;
-</TYPEDEF>
-<ENUM>
-<NAME>xsltSecurityOption</NAME>
-typedef enum {
- XSLT_SECPREF_READ_FILE = 1,
- XSLT_SECPREF_WRITE_FILE,
- XSLT_SECPREF_CREATE_DIRECTORY,
- XSLT_SECPREF_READ_NETWORK,
- XSLT_SECPREF_WRITE_NETWORK
-} xsltSecurityOption;
-</ENUM>
-<USER_FUNCTION>
-<NAME>xsltSecurityCheck</NAME>
-<RETURNS>int </RETURNS>
-xsltSecurityPrefsPtr sec,
- xsltTransformContextPtr ctxt,
- const char *value
-</USER_FUNCTION>
-<MACRO>
-<NAME>XSLTPUBFUN</NAME>
-#define XSLTPUBFUN
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBVAR</NAME>
-#define XSLTPUBVAR extern
-</MACRO>
-<MACRO>
-<NAME>XSLTCALL</NAME>
-#define XSLTCALL
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBFUN</NAME>
- #define XSLTPUBFUN __declspec(dllexport)
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBVAR</NAME>
- #define XSLTPUBVAR __declspec(dllexport)
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBFUN</NAME>
- #define XSLTPUBFUN
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBVAR</NAME>
- #define XSLTPUBVAR __declspec(dllimport) extern
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBVAR</NAME>
- #define XSLTPUBVAR extern
-</MACRO>
-<MACRO>
-<NAME>XSLTCALL</NAME>
- #define XSLTCALL __cdecl
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBFUN</NAME>
- #define XSLTPUBFUN __declspec(dllexport)
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBVAR</NAME>
- #define XSLTPUBVAR __declspec(dllexport) extern
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBFUN</NAME>
- #define XSLTPUBFUN
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBVAR</NAME>
- #define XSLTPUBVAR __declspec(dllimport) extern
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBVAR</NAME>
- #define XSLTPUBVAR extern
-</MACRO>
-<MACRO>
-<NAME>XSLTCALL</NAME>
- #define XSLTCALL __cdecl
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBFUN</NAME>
- #define XSLTPUBFUN __declspec(dllexport)
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBVAR</NAME>
- #define XSLTPUBVAR __declspec(dllexport)
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBFUN</NAME>
- #define XSLTPUBFUN
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBVAR</NAME>
- #define XSLTPUBVAR __declspec(dllimport) extern
-</MACRO>
-<MACRO>
-<NAME>XSLTPUBVAR</NAME>
- #define XSLTPUBVAR
-</MACRO>
-<MACRO>
-<NAME>XSLTCALL</NAME>
- #define XSLTCALL __cdecl
-</MACRO>
-<MACRO>
-<NAME>LIBXSLT_PUBLIC</NAME>
-#define LIBXSLT_PUBLIC XSLTPUBVAR
-</MACRO>
diff --git a/doc/libxslt.xml b/doc/libxslt.xml
deleted file mode 100644
index c3507873..00000000
--- a/doc/libxslt.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-<!ENTITY xslt SYSTEM "xml/xslt.xml">
-<!ENTITY functions SYSTEM "xml/functions.xml">
-<!ENTITY pattern SYSTEM "xml/pattern.xml">
-<!ENTITY templates SYSTEM "xml/templates.xml">
-<!ENTITY transform SYSTEM "xml/transform.xml">
-<!ENTITY xsltutils SYSTEM "xml/xsltutils.xml">
-<!ENTITY attributes SYSTEM "xml/attributes.xml">
-<!ENTITY imports SYSTEM "xml/imports.xml">
-<!ENTITY namespaces SYSTEM "xml/namespaces.xml">
-<!ENTITY variables SYSTEM "xml/variables.xml">
-<!ENTITY extensions SYSTEM "xml/extensions.xml">
-<!ENTITY keys SYSTEM "xml/keys.xml">
-<!ENTITY xsltInternals SYSTEM "xml/xsltInternals.xml">
-<!ENTITY numbersInternals SYSTEM "xml/numbersInternals.xml">
-]>
-
-<book>
- <bookinfo>
- <title>GNOME XSLT Library Reference Manual</title>
- <authorgroup>
- <author>
- <firstname>Daniel</firstname>
- <surname>Veillard</surname>
- <affiliation>
- <address>
- <email>daniel@veillard.com</email>
- </address>
- </affiliation>
- </author>
- </authorgroup>
- <copyright>
- <year>2001</year>
- <holder>Daniel Veillard</holder>
- </copyright>
-
- <legalnotice>
- <para>Permission is granted to make and distribute verbatim
- copies of this manual provided the copyright notice and this
- permission notice are preserved on all copies.</para>
-
- <para>Permission is granted to copy and distribute modified
- versions of this manual under the conditions for verbatim
- copying, provided also that the entire resulting derived work is
- distributed under the terms of a permission notice identical to
- this one.</para>
-
- <para>Permission is granted to copy and distribute translations
- of this manual into another language, under the above conditions
- for modified versions.</para>
- </legalnotice>
-
- <abstract>
- <para>This manual documents the interfaces of the libxslt
- library and has some short notes to help get you up to speed
- with using the library.</para>
- </abstract>
- </bookinfo>
-
- <chapter id="libxslt-notes">
- <title>Libxslt Programming Notes</title>
-
- <para>Libxslt is an XSLT toolkit library, which allows you to transform
- XML documents. It uses the XML parser, tree and XPath functionalities
- of libxml2</para>
- </chapter>
- <chapter id="libxslt-lib">
- <title>Libxslt Library Reference</title>
-
- <para>This section contains the API reference for libxslt. All
- the public interfaces are documented here. This reference guide is
- build by extracting comments from the code sources. </para>
-
- &xslt;
- &functions;
- &pattern;
- &templates;
- &transform;
- &xsltutils;
- &attributes;
- &imports;
- &extensions;
- &namespaces;
- &variables;
- &keys;
- &xsltInternals;
- &numbersInternals;
- </chapter>
-</book>
-
diff --git a/doc/libxslt.xsa b/doc/libxslt.xsa
index ad3aaf21..f6b8c2af 100644
--- a/doc/libxslt.xsa
+++ b/doc/libxslt.xsa
@@ -8,16 +8,28 @@
</vendor>
<product id="libxslt">
<name>libxslt</name>
- <version>1.1.26</version>
- <last-release> Sep 24 2009</last-release>
+ <version>1.1.28</version>
+ <last-release> Nov 21 2012</last-release>
<info-url>http://xmlsoft.org/XSLT/</info-url>
- <changes> - Improvement:
- Add xsltProcessOneNode to exported symbols for lxml (Daniel Veillard)
+ <changes> - Portability:
+ Fix python build by using libxsltmod_la_CPPFLAGS instead of AM_CPPFLAGS (Alexandre Rostovtsev),
+ configure should be more careful with linker script (Igor Pashev),
+ add gcrypt library in LIBADD, not LDFLAGS, as recommended (Roumen Petrov)
- Bug fixes:
- Fix an idness generation problem (Daniel Veillard),
- 595612 Try to fix some locking problems (Daniel Veillard),
- Fix a crash on misformed imported stylesheets (Daniel Veillard)
+ Fix generate-id() to avoid generating the same ID (Stewart Brodie),
+ Fix crash with empty xsl:key/@match attribute (Nick Wellnhofer),
+ Crash when passing an uninitialized variable to document() (Nick Wellnhofer),
+ Add missing test docs to EXTRA_DIST (Nick Wellnhofer),
+ Fix regression: Default namespace not correctly used (Nick Wellnhofer)
+
+ - Cleanups:
+ Remove xsltTransStorageAdd and xsltTransStorageRemove from symbols.xml (Daniel Veillard),
+ autogen.sh cleanup (Daniel Richard),
+ consistent use of xslt processor (Roumen Petrov),
+ Add object files in tests/plugins to .gitignore (Nick Wellnhofer),
+ Fix error on bug-165 regression test (Daniel Veillard),
+ Remove xsltTransStorageAdd and xsltTransStorageRemove (Daniel Veillard),
</changes>
diff --git a/doc/news.html b/doc/news.html
index 15ae10d1..1c63bfb7 100644
--- a/doc/news.html
+++ b/doc/news.html
@@ -9,7 +9,140 @@ H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>News</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="GNOME2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for GNOME</h1><h2>News</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="EXSLT/index.html" style="font-weight:bold">libexslt</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a>,
<a href="tutorial2/libxslt_pipes.html">Tutorial2</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://codespeak.net/lxml/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXSLT">Perl XSLT bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading17">XSLT with PHP</a></li><li><a href="http://www.mod-xslt2.com/">Apache module</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>See the <a href="http://git.gnome.org/browse/libxslt/">git page</a>
-to get a description of the recent commits.</p><p>Those are the public releases made:</p><h3>1.1.27: Sep 12 2012</h3><ul>
+to get a description of the recent commits.</p><p>Those are the public releases made:</p><h3>1.1.29: May 24 2016</h3><ul>
+ <li>Security:<br />
+ CVE-2015-7995 Fix for type confusion in preprocessing attributes (Daniel Veillard)<br />
+ </li>
+
+ <li>Documentation:<br />
+ </li>
+
+ <li>Portability:<br />
+ Fix a portibility problem with previous commit (Eduard Sanou),<br />
+ Fix MingW build (Nick Wellnhofer),<br />
+ Correctly emulate snprintf on older MSVC versions (Nick Wellnhofer),<br />
+ Add Python script to run some tests on Windows (Nick Wellnhofer),<br />
+ Remove /OPT:NOWIN98 option (Nick Wellnhofer),<br />
+ Visual Studio 14 CTP defines snprintf() (Daniel Veillard),<br />
+ Use AC_PATH_TOOL to find libgcrypt-config and xml2-config (Michaż Górny),<br />
+ Use $libdir for LIBXSLT_DEFAULT_PLUGINS_PATH (larryhaja),<br />
+ Use mkdir macro also in case if mingw32. (Lars Kanis),<br />
+ Add math library to executable link flags (Nick Wellnhofer),<br />
+ Fix quoting of xlocale test program in configure.in (Nick Wellnhofer)<br />
+ </li>
+
+ <li>Bug Fixes:<br />
+ Fix OOB heap read in xsltExtModuleRegisterDynamic (Nick Wellnhofer),<br />
+ Remove CDATA markup from libxslt_tutorial.c (Nick Wellnhofer),<br />
+ Remove generated headers from dist tarball (Nick Wellnhofer),<br />
+ Mark XML file argument as repeatable (Nick Wellnhofer),<br />
+ Keep timezone in date:add (Nick Wellnhofer),<br />
+ Fix buffer overflow in exsltDateFormat (Nick Wellnhofer),<br />
+ Fix saxon:line-number with namespace nodes (Nick Wellnhofer),<br />
+ Fix dyn:map with namespace nodes (Nick Wellnhofer),<br />
+ Fix error handling in Saxon extension functions (Nick Wellnhofer),<br />
+ Fix double free in libexslt hash functions (Nick Wellnhofer),<br />
+ Fix libxslt format warnings (David Kilzer),<br />
+ Fix xsltNumberFormatGetMultipleLevel (Nick Wellnhofer),<br />
+ Fix use-after-free in xsltDocumentFunctionLoadDocument (Nick Wellnhofer),<br />
+ Always initialize EXSLT month and day to 1 (Nick Wellnhofer),<br />
+ Fix possible NULL pointer deref in transform.c (mahendra.n),<br />
+ Fix possible NULL pointer deref in xsltCopyTextString (Nick Wellnhofer),<br />
+ Fix possible NULL pointer deref in libexslt/functions.c (Nick Wellnhofer),<br />
+ Fix possible NULL pointer deref in xsltproc.c (mahendra.n),<br />
+ Fix possible NULL pointer deref in preproc.c (mahendra.n),<br />
+ Fix LIBXSLT_DEFAULT_PLUGINS_PATH in xsltconfig.h (Nick Wellnhofer),<br />
+ Fix memory leak in xsltNumberFormat (Albert Astals Cid),<br />
+ Error in doc/Makefile.am (Brice De Bruyne),<br />
+ Detect attribute sets recursions in more cases (Daniel Veillard),<br />
+ Check name vales for attribute-set elements (Daniel Veillard),<br />
+ Fix hang with namespace-alias, fixes #700689 (Shaun McCance),<br />
+ Fix str:align with UTF-8 strings (Nick Wellnhofer),<br />
+ Fix for compiled XPath helpers (Nick Wellnhofer),<br />
+ Check return value of exsltFuncNewFunctionData (Nick Wellnhofer),<br />
+ Fix return value of xsltRegisterExtModuleElement (Nick Wellnhofer),<br />
+ Call xmlNodeGetSpacePreserve with element node (Nick Wellnhofer),<br />
+ Set namespaces before evaluating xsl:number (Nick Wellnhofer),<br />
+ Make --maxvars option work (Per Hedeland),<br />
+ Set correct context node when initializing xsl:keys (Nick Wellnhofer),<br />
+ Fix for bug 436589 (Imran Azeezullah),<br />
+ Memory leak in xsltCompileIdKeyPattern error path (Nick Wellnhofer),<br />
+ Fix handling of UTF-8 strings in EXSLT crypto module (Nick Wellnhofer),<br />
+ Fix certain patterns with predicates (Nick Wellnhofer),<br />
+ Fix direct pattern matching (Nick Wellnhofer),<br />
+ Fix str:padding to work with UTF-8 strings (Nick Wellnhofer),<br />
+ EXSLT function str:replace() is broken as-is (Nick Wellnhofer),<br />
+ Fix a couple of places where (f)printf parameters were broken (Daniel Veillard)<br />
+ </li>
+
+ <li>Improvements:<br />
+ Add support timestamps from environment (Daniel Veillard),<br />
+ Add missing tests to dist tarball (Nick Wellnhofer),<br />
+ Improve error message in xsltAddTemplate and fix test (Nick Wellnhofer),<br />
+ Allow REC tests with empty stdout (Nick Wellnhofer),<br />
+ Fix GPL license in HTML files as well (Nick Wellnhofer),<br />
+ Fix status message in EXSLT dynamic tests (Nick Wellnhofer),<br />
+ Add public function macros to xsltlocale.h (Nick Wellnhofer),<br />
+ Make valgrind tests work with libtool (Nick Wellnhofer),<br />
+ Add a couple of xsl:number tests (Nick Wellnhofer),<br />
+ Lower and upper bound for format token "i" (Nick Wellnhofer),<br />
+ Lower bound for format token "a" (Nick Wellnhofer),<br />
+ Handle negative xsl:number values (Nick Wellnhofer),<br />
+ Round xsl:number values to nearest integer (Nick Wellnhofer),<br />
+ Allow {URI}NCName syntax for user parameters (Nick Wellnhofer),<br />
+ Fix endTimer parameter type (Nick Wellnhofer),<br />
+ Fix error messages for unsupported methods (Nick Wellnhofer),<br />
+ Replace sprintf with snprintf (David Kilzer),<br />
+ Enforce two digit exponent under MSVC (Nick Wellnhofer),<br />
+ Rework xsltNumberFormat to fix warning (Nick Wellnhofer),<br />
+ Fix a couple of GPL licences found in the documentation (Daniel Veillard),<br />
+ Use hash table to lookup named templates (Christian Ceelen),<br />
+ Fix to reg tests post 737840 fix (Daniel Veillard),<br />
+ Don't fail build the man page if xsltproc is not present (Daniel Veillard),<br />
+ Re-adding xsltproc.1 (Daniel Veillard),<br />
+ Fix time type in xsltSaveProfiling (Nick Wellnhofer),<br />
+ Remove unused parameters (Nick Wellnhofer),<br />
+ Suppress unused variable warning. (Nick Wellnhofer),<br />
+ Remove unused variable in xsltGenerateIdFunction (Nick Wellnhofer),<br />
+ Add test case for XPath function args in error case (Nick Wellnhofer),<br />
+ Add comment about known-to-fail test (Nick Wellnhofer),<br />
+ Adjust expected test output (Nick Wellnhofer),<br />
+ Helper functions to evaluate compiled XPath expressions (Nick Wellnhofer),<br />
+ Add tests for crypto:rc4 (Nick Wellnhofer),<br />
+ Add first test case for EXSLT crypto module (Nick Wellnhofer),<br />
+ Separate function for predicate matching in patterns (Nick Wellnhofer),<br />
+ Initialize pseudo random number generator with current time or optional command line parameter (Nils Werner),<br />
+ Adding doc update related to 1.1.28 (Daniel Veillard)<br />
+ </li>
+
+ <li>Cleanups:<br />
+ Remove bogus test file (Nick Wellnhofer),<br />
+ Add warning message to expected test output (Nick Wellnhofer)<br />
+ </li>
+</ul><h3>1.1.28: Nov 21 2012</h3><ul>
+ <li> Portability:<br />
+ Fix python build by using libxsltmod_la_CPPFLAGS instead of AM_CPPFLAGS (Alexandre Rostovtsev),<br />
+ configure should be more careful with linker script (Igor Pashev),<br />
+ add gcrypt library in LIBADD, not LDFLAGS, as recommended (Roumen Petrov)<br />
+ </li>
+
+ <li> Bug fixes:<br />
+ Fix generate-id() to avoid generating the same ID (Stewart Brodie),<br />
+ Fix crash with empty xsl:key/@match attribute (Nick Wellnhofer),<br />
+ Crash when passing an uninitialized variable to document() (Nick Wellnhofer),<br />
+ Add missing test docs to EXTRA_DIST (Nick Wellnhofer),<br />
+ Fix regression: Default namespace not correctly used (Nick Wellnhofer)<br />
+ </li>
+
+ <li> Cleanups:<br />
+ Remove xsltTransStorageAdd and xsltTransStorageRemove from symbols.xml (Daniel Veillard),<br />
+ autogen.sh cleanup (Daniel Richard),<br />
+ consistent use of xslt processor (Roumen Petrov),<br />
+ Add object files in tests/plugins to .gitignore (Nick Wellnhofer),<br />
+ Fix error on bug-165 regression test (Daniel Veillard),<br />
+ Remove xsltTransStorageAdd and xsltTransStorageRemove (Daniel Veillard),<br />
+ </li>
+</ul><h3>1.1.27: Sep 12 2012</h3><ul>
<li> Portability:<br />
xincludestyle wasn't protected with LIBXML_XINCLUDE_ENABLED (Michael Bonfils),<br />
Portability fix for testThreads.c (IlyaS),<br />
diff --git a/doc/node.fig b/doc/node.fig
deleted file mode 100644
index aaed2d47..00000000
--- a/doc/node.fig
+++ /dev/null
@@ -1,91 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
--2
-1200 2
-6 825 6675 2925 7350
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
- 825 6975 825 6675 2925 6675 2925 6975
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 825 7050 825 7350
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 2925 7050 2925 7350
--6
-6 4500 6675 6600 7350
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
- 4500 6975 4500 6675 6600 6675 6600 6975
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 4500 7050 4500 7350
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 6600 7050 6600 7350
--6
-6 1275 150 3375 825
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
- 1275 525 1275 825 3375 825 3375 525
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 1275 450 1275 150
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 3375 450 3375 150
--6
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 2400 2025 4500 2025
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 2400 2400 4500 2400
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 2400 3150 4500 3150
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 2400 3525 4500 3525
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 2400 3900 4500 3900
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 2400 4275 4500 4275
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 2400 4650 4500 4650
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 2400 2775 4500 2775
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 2400 5025 4500 5025
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
- 975 1575 1725 1575 1725 5625 1125 5625
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 600 1575 900 1575
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 750 5625 1050 5625
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
- 5925 1575 5175 1575 5175 5625 5775 5625
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 6300 1575 6000 1575
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 6150 5625 5850 5625
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 2400 1575 4500 1575 4500 5625 2400 5625 2400 1575
-2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 3.00 180.00 360.00
- 2700 3300 1725 3300
-2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 3.00 180.00 360.00
- 3975 2925 5175 2925
-2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 3.00 180.00 360.00
- 2700 2625 2700 825
-2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 3.00 180.00 360.00
- 2700 3750 1575 6675
-2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 3.00 180.00 360.00
- 3975 4125 5475 6675
-4 0 0 50 0 0 18 0.0000 4 255 915 2850 1875 _private\001
-4 0 0 50 0 0 18 0.0000 4 225 465 2850 2250 type\001
-4 0 0 50 0 0 18 0.0000 4 135 255 2850 4500 ns\001
-4 0 0 50 0 0 18 0.0000 4 255 1125 2850 4875 properties\001
-4 0 0 50 0 0 18 0.0000 4 165 855 2850 5325 content\001
-4 0 0 50 0 0 18 0.0000 4 30 180 2850 5550 ...\001
-4 0 0 50 0 0 18 0.0000 4 195 495 2850 3375 prev\001
-4 0 0 50 0 0 18 0.0000 4 195 390 2850 4200 last\001
-4 0 0 50 0 0 18 0.0000 4 165 495 2850 3000 next\001
-4 0 0 50 0 0 18 0.0000 4 195 930 2850 3825 children\001
-4 0 0 50 0 0 18 0.0000 4 225 720 2850 2625 parent\001
diff --git a/doc/object.fig b/doc/object.fig
deleted file mode 100644
index 2955bbd5..00000000
--- a/doc/object.fig
+++ /dev/null
@@ -1,90 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
--2
-1200 2
-6 5700 1950 6525 3450
-2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
- 5700 1950 6525 1950 6525 3450 5700 3450 5700 1950
-2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
- 5700 2250 6525 2250
-2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
- 5700 2550 6525 2550
-2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
- 5700 2850 6525 2850
-2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
- 5700 3150 6525 3150
--6
-2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
- 450 1875 2100 1875
-2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
- 450 1275 2100 1275
-2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
- 450 1575 2100 1575
-2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
- 450 2175 2100 2175
-2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
- 450 975 2100 975 2100 3300 450 3300 450 975
-2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
- 450 2550 2100 2550
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 1950 1425 3525 1425
-2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
- 3525 1500 4800 1500
-2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
- 3525 1800 4800 1800
-2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
- 3525 1200 4800 1200 4800 2100 3525 2100 3525 1200
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 4725 1950 5700 1950
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 6150 2100 7050 1875
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 6150 2400 8025 2025
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 6150 2700 7650 2700
-2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
- 8025 825 8475 825 8475 1275 8025 1275 8025 825
-2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
- 8475 2400 8925 2400 8925 2850 8475 2850 8475 2400
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 2
- 8250 1275 8250 1650
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 2
- 8025 1275 7500 1650
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 2
- 8250 2100 7875 2400
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 2
- 8325 2100 8550 2400
-2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
- 9000 1650 9450 1650 9450 2100 9000 2100 9000 1650
-2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
- 9225 2400 9675 2400 9675 2850 9225 2850 9225 2400
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 2
- 9225 2100 9375 2400
-2 1 0 2 0 7 50 0 -1 6.000 0 0 -1 0 0 2
- 8475 1275 9150 1650
-2 2 0 2 1 1 50 0 20 6.000 0 0 7 0 0 5
- 8025 1650 8475 1650 8475 2100 8025 2100 8025 1650
-2 2 0 2 1 1 50 0 20 6.000 0 0 7 0 0 5
- 7650 2400 8100 2400 8100 2850 7650 2850 7650 2400
-2 2 0 2 1 1 50 0 20 6.000 0 0 7 0 0 5
- 7050 1650 7500 1650 7500 2100 7050 2100 7050 1650
-4 0 0 50 0 0 18 0.0000 4 255 1875 375 825 xmlXPathObject\001
-4 0 0 50 0 0 18 0.0000 4 225 465 675 1200 type\001
-4 0 0 50 0 0 18 0.0000 4 195 1185 675 1500 nodesetval\001
-4 0 0 50 0 0 18 0.0000 4 195 810 675 1800 boolval\001
-4 0 0 50 0 0 18 0.0000 4 195 840 675 2115 floatval\001
-4 0 0 50 0 0 18 0.0000 4 255 975 675 2430 stringval\001
-4 0 0 50 0 0 18 0.0000 4 195 840 3750 1425 nodeNr\001
-4 0 0 50 0 0 18 0.0000 4 195 1035 3750 1740 nodeMax\001
-4 0 0 50 0 0 18 0.0000 4 195 975 3750 2055 nodeTab\001
-4 0 -1 50 0 0 18 0.0000 4 195 1380 3450 1050 xmlNodeSet\001
diff --git a/doc/processing.fig b/doc/processing.fig
deleted file mode 100644
index b2c214ea..00000000
--- a/doc/processing.fig
+++ /dev/null
@@ -1,137 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
--2
-1200 2
-6 5850 225 9675 4500
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 7050 450 7575 450 7575 975 7050 975 7050 450
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 6225 1275 6750 1275 6750 1800 6225 1800 6225 1275
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 6225 2175 6750 2175 6750 2700 6225 2700 6225 2175
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 7350 2175 7875 2175 7875 2700 7350 2700 7350 2175
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 8550 1350 9075 1350 9075 1875 8550 1875 8550 1350
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 7350 975 6750 1275
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 6525 1800 6525 2175
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 6750 1575 8550 1575
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 6750 2475 7350 2475
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 7650 2700 7650 3225
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 8175 3225 8700 3225 8700 3750 8175 3750 8175 3225
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 7425 3225 7950 3225 7950 3750 7425 3750 7425 3225
-3 1 0 1 0 7 50 0 -1 0.000 0 0 0 10
- 7650 225 6675 300 6075 1050 5850 2400 6150 3525 7800 4500
- 9375 4200 9675 2400 9375 1050 8400 375
- 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
- 1.000 1.000
-4 0 0 50 0 0 18 0.0000 4 195 720 6150 3075 html:a\001
-4 0 0 50 0 0 18 0.0000 4 195 705 8475 2250 TEXT\001
-4 0 0 50 0 0 18 0.0000 4 195 705 8100 4125 TEXT\001
--6
-2 3 0 2 0 7 50 0 -1 0.000 0 0 0 0 0 7
- 4875 2400 5180 1878 4880 1353 4275 1350 3970 1872 4270 2397
- 4875 2400
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 1425 600 1950 600 1950 1125 1425 1125 1425 600
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 450 1650 975 1650 975 2175 450 2175 450 1650
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 1500 1650 2025 1650 2025 2175 1500 2175 1500 1650
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 450 2775 975 2775 975 3300 450 3300 450 2775
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 1500 2775 2025 2775 2025 3300 1500 3300 1500 2775
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 2550 2775 3075 2775 3075 3300 2550 3300 2550 2775
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 1725 1125 975 1650
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 975 1875 1500 1875
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 750 2175 750 2775
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 1800 2175 1800 2775
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 2025 3075 2550 3075
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 5175 6525 5700 6525 5700 7050 5175 7050 5175 6525
-2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
- 4800 3900 5325 3900 5325 4425 4800 4425 4800 3900
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 4800 4425 4425 4875
-2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
- 3225 5625 3750 5625 3750 6150 3225 6150 3225 5625
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 4125 6525 4650 6525 4650 7050 4125 7050 4125 6525
-2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
- 3075 6525 3600 6525 3600 7050 3075 7050 3075 6525
-2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
- 5175 5625 5700 5625 5700 6150 5175 6150 5175 5625
-2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
- 4200 4875 4725 4875 4725 5400 4200 5400 4200 4875
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 4200 5400 3750 5625
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 3450 6150 3300 6525
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 3750 5925 5175 5925
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 3600 6750 4125 6750
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 5475 6150 5475 6525
-2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 3.00 180.00 360.00
- 4650 3675 4650 2400
-2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 3.00 180.00 360.00
- 5175 1875 6150 1875
-2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 3.00 180.00 360.00
- 2625 1875 3975 1875
-3 1 0 1 0 7 50 0 -1 0.000 0 0 0 10
- 1650 300 825 525 225 1350 150 2850 675 3825 2325 3975
- 3375 3450 3675 2325 2625 975 2025 300
- 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
- 1.000 1.000
-3 1 0 1 0 7 50 0 -1 0.000 0 0 0 10
- 4725 3300 3600 3600 2700 4350 2475 5550 2625 7275 4275 7875
- 6000 7725 7200 6375 6675 4575 5775 3525
- 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
- 1.000 1.000
-4 0 0 50 0 0 18 0.0000 4 255 1470 3225 4200 xsl:stylesheet\001
-4 0 0 50 0 0 18 0.0000 4 255 1350 4800 5175 xsl:template\001
-4 0 0 50 0 0 18 0.0000 4 195 720 4125 6450 html:a\001
-4 0 0 50 0 0 18 0.0000 4 195 705 5400 7350 TEXT\001
-4 0 0 50 0 0 20 0.0000 4 285 2115 3525 1200 XSLT Processing\001
-4 0 0 50 0 0 18 0.0000 4 255 1140 1350 5250 Stylesheet\001
-4 0 0 50 0 0 18 0.0000 4 195 1935 4575 525 Result Document\001
-4 0 0 50 0 0 18 0.0000 4 195 1995 2250 525 Source Document\001
diff --git a/doc/search.php b/doc/search.php
deleted file mode 100644
index 9deb2ce7..00000000
--- a/doc/search.php
+++ /dev/null
@@ -1,346 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
-<html><head xmlns="http://www.w3.org/1999/xhtml"><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/><style type="text/css" xml:space="preserve">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
- </style><title>Search engine</title></head><body xmlns="http://www.w3.org/1999/xhtml" bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120" rowspan="1" colspan="1"><a href="http://swpat.ffii.org/" shape="rect"><img src="epatents.png" alt="Action against software patents"/></a></td><td width="180" rowspan="1" colspan="1"><a href="http://www.gnome.org/" shape="rect"><img src="gnome2.png" alt="GNOME2 Logo"/></a><a href="http://www.w3.org/Status" shape="rect"><img src="w3c.png" alt="W3C logo"/></a><a href="http://www.redhat.com" shape="rect"><img src="redhat.gif" alt="Red Hat Logo"/></a><div align="left"><a href="http://xmlsoft.org/XSLT/" shape="rect"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"/></a></div></td><td rowspan="1" colspan="1"><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td rowspan="1" colspan="1"><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center" rowspan="1" colspan="1"><h1>The XSLT C library for GNOME</h1><h2>Search engine</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765" rowspan="1" colspan="1"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765" rowspan="1" colspan="1"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td rowspan="1" colspan="1"><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center" rowspan="1"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd" rowspan="1" colspan="1"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value=""/><input name="submit" type="submit" value="Search ..."/></form><ul><li><a href="index.html" shape="rect">Home</a></li><li><a href="intro.html" shape="rect">Introduction</a></li><li><a href="docs.html" shape="rect">Documentation</a></li><li><a href="bugs.html" shape="rect">Reporting bugs and getting help</a></li><li><a href="help.html" shape="rect">How to help</a></li><li><a href="downloads.html" shape="rect">Downloads</a></li><li><a href="FAQ.html" shape="rect">FAQ</a></li><li><a href="news.html" shape="rect">News</a></li><li><a href="xsltproc2.html" shape="rect">The xsltproc tool</a></li><li><a href="docbook.html" shape="rect">DocBook</a></li><li><a href="API.html" shape="rect">The programming API</a></li><li><a href="python.html" shape="rect">Python and bindings</a></li><li><a href="internals.html" shape="rect">Library internals</a></li><li><a href="extensions.html" shape="rect">Writing extensions</a></li><li><a href="contribs.html" shape="rect">Contributions</a></li><li><a href="EXSLT/index.html" style="font-weight:bold" shape="rect">libexslt</a></li><li><a href="xslt.html" shape="rect">flat page</a>, <a href="site.xsl" shape="rect">stylesheet</a></li><li><a href="html/index.html" style="font-weight:bold" shape="rect">API Menu</a></li><li><a href="ChangeLog.html" shape="rect">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center" rowspan="1"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd" rowspan="1" colspan="1"><ul><li><a href="tutorial/libxslttutorial.html" shape="rect">Tutorial</a>,
- <a href="tutorial2/libxslt_pipes.html" shape="rect">Tutorial2</a></li><li><a href="xsltproc.html" shape="rect">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/" shape="rect">Mail archive</a></li><li><a href="http://xmlsoft.org/" shape="rect">XML libxml2</a></li><li><a href="ftp://xmlsoft.org/" shape="rect">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/" shape="rect">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/" shape="rect">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html" shape="rect">MacOsX binaries</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt" shape="rect">Bug Tracker</a></li><li><a href="http://codespeak.net/lxml/" shape="rect">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXSLT" shape="rect">Perl XSLT bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading17" shape="rect">XSLT with PHP</a></li><li><a href="http://www.mod-xslt2.com/" shape="rect">Apache module</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/" shape="rect">Pascal bindings</a></li><li><a href="http://xsldbg.sourceforge.net/" shape="rect">Xsldbg Debugger</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center" rowspan="1"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd" rowspan="1" colspan="1"><ul><li><a href="APIchunk0.html" shape="rect">Alphabetic</a></li><li><a href="APIconstructors.html" shape="rect">Constructors</a></li><li><a href="APIfunctions.html" shape="rect">Functions/Types</a></li><li><a href="APIfiles.html" shape="rect">Modules</a></li><li><a href="APIsymbols.html" shape="rect">Symbols</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765" rowspan="1" colspan="1"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td rowspan="1" colspan="1"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td rowspan="1" colspan="1"><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd" rowspan="1" colspan="1">
-
-<?php
- $query = $HTTP_GET_VARS[ "query" ];
- $scope = $HTTP_GET_VARS[ "scope" ];
- // We handle only the first argument so far
- $query = $_GET['query'];
- $query = ltrim ($query);
- if (! $query) {
- echo "<h1 align='center'>Search the documentation on XMLSoft.org</h1>";
- }
- if ($scope == NULL)
- $scope = "any";
- $scope = ltrim ($scope);
- if ($scope == "")
- $scope = "any";
-
-?>
-<p> The search service indexes the libxml2 and libxslt APIs and documentation as well as the xml@gnome.org and xslt@gnome.org mailing-list archives. To use it simply provide a set of keywords:
-<p>
-<form action="<?php echo "$PHP_SELF", "?query=", rawurlencode($query) ?>"
- enctype="application/x-www-form-urlencoded" method="GET">
- <input name="query" type="TEXT" size="50" value="<?php echo $query?>">
- <select name="scope">
- <option value="any">Search All</option>
- <option value="XML" <?php if ($scope == 'XML') print "selected"?>>XML resources</option>
- <option value="XSLT" <?php if ($scope == 'XSLT') print "selected"?>>XSLT resources</option>
- <option value="API" <?php if ($scope == 'API') print "selected"?>>Only the APIs</option>
- <option value="XMLAPI" <?php if ($scope == 'XMLAPI') print "selected"?>>Only the XML API</option>
- <option value="XSLTAPI" <?php if ($scope == 'XSLTAPI') print "selected"?>>Only the XSLT API</option>
- <option value="DOCS" <?php if ($scope == 'DOCS') print "selected"?>>Only the Documentation</option>
- <option value="XMLDOC" <?php if ($scope == 'XMLDOC') print "selected"?>>Only the XML Documentation</option>
- <option value="XSLTDOC" <?php if ($scope == 'XSLTDOC') print "selected"?>>Only the XSLT Documentation</option>
- <option value="LISTS" <?php if ($scope == 'LISTS') print "selected"?>>Only the lists archives</option>
- <option value="XMLLIST" <?php if ($scope == 'XMLLIST') print "selected"?>>Only the XML list archive</option>
- <option value="XSLTLIST" <?php if ($scope == 'XSLTLIST') print "selected"?>>Only the XSLT list archive</option>
- </select>
- <input name=submit type=submit value="Search ...">
-</form>
-<?php
- function logQueryWord($word) {
- $result = mysql_query ("SELECT ID,Count FROM Queries WHERE Value='$word'");
- if ($result) {
- $i = mysql_num_rows($result);
- if ($i == 0) {
- mysql_free_result($result);
- mysql_query ("INSERT INTO Queries (Value,Count) VALUES ('$word',1)");
- } else {
- $id = mysql_result($result, 0, 0);
- $count = mysql_result($result, 0, 1);
- $count ++;
- mysql_query ("UPDATE Queries SET Count=$count WHERE ID=$id");
- }
- } else {
- mysql_query ("INSERT INTO Queries (Value,Count) VALUES ('$word',1)");
- }
- }
- function queryWord($word) {
- $result = NULL;
- $j = 0;
- if ($word) {
- $result = mysql_query ("SELECT words.relevance, symbols.name, symbols.type, symbols.module, symbols.descr FROM words, symbols WHERE LCASE(words.name) LIKE LCASE('$word') and words.symbol = symbols.name ORDER BY words.relevance DESC LIMIT 75");
- if ($result) {
- $j = mysql_num_rows($result);
- if ($j == 0)
- mysql_free_result($result);
- }
- logQueryWord($word);
- }
- return array($result, $j);
- }
- function queryHTMLWord($word) {
- $result = NULL;
- $j = 0;
- if ($word) {
- $result = mysql_query ("SELECT relevance, name, id, resource, section FROM wordsHTML WHERE LCASE(name) LIKE LCASE('$word') ORDER BY relevance DESC LIMIT 75");
- if ($result) {
- $j = mysql_num_rows($result);
- if ($j == 0)
- mysql_free_result($result);
- }
- logQueryWord($word);
- }
- return array($result, $j);
- }
- function queryArchiveWord($word) {
- $result = NULL;
- $j = 0;
- if ($word) {
- $result = mysql_query ("SELECT wordsArchive.relevance, wordsArchive.name, 'xml-list', archives.resource, archives.title FROM wordsArchive, archives WHERE LCASE(wordsArchive.name) LIKE LCASE('$word') and wordsArchive.ID = archives.ID ORDER BY relevance DESC LIMIT 75");
- if ($result) {
- $j = mysql_num_rows($result);
- if ($j == 0)
- mysql_free_result($result);
- }
- logQueryWord($word);
- }
- return array($result, $j);
- }
- function XSLTqueryWord($word) {
- $result = NULL;
- $j = 0;
- if ($word) {
- $result = mysql_query ("SELECT XSLTwords.relevance, XSLTsymbols.name, XSLTsymbols.type, XSLTsymbols.module, XSLTsymbols.descr FROM XSLTwords, XSLTsymbols WHERE LCASE(XSLTwords.name) LIKE LCASE('$word') and XSLTwords.symbol = XSLTsymbols.name ORDER BY XSLTwords.relevance DESC LIMIT 75");
- if ($result) {
- $j = mysql_num_rows($result);
- if ($j == 0)
- mysql_free_result($result);
- }
- logQueryWord($word);
- }
- return array($result, $j);
- }
- function XSLTqueryHTMLWord($word) {
- $result = NULL;
- $j = 0;
- if ($word) {
- $result = mysql_query ("SELECT relevance, name, id, resource, section FROM XSLTwordsHTML WHERE LCASE(name) LIKE LCASE('$word') ORDER BY relevance DESC LIMIT 75");
- if ($result) {
- $j = mysql_num_rows($result);
- if ($j == 0)
- mysql_free_result($result);
- }
- logQueryWord($word);
- }
- return array($result, $j);
- }
- function XSLTqueryArchiveWord($word) {
- $result = NULL;
- $j = 0;
- if ($word) {
- $result = mysql_query ("SELECT XSLTwordsArchive.relevance, XSLTwordsArchive.name, 'xslt-list', archives.resource, archives.title FROM XSLTwordsArchive, archives WHERE LCASE(XSLTwordsArchive.name) LIKE LCASE('$word') and XSLTwordsArchive.ID = archives.ID ORDER BY relevance DESC LIMIT 75");
- if ($result) {
- $j = mysql_num_rows($result);
- if ($j == 0)
- mysql_free_result($result);
- }
- logQueryWord($word);
- }
- return array($result, $j);
- }
- function resSort ($a, $b) {
- list($ra,$ta,$ma,$na,$da) = $a;
- list($rb,$tb,$mb,$nb,$db) = $b;
- if ($ra == $rb) return 0;
- return ($ra > $rb) ? -1 : 1;
- }
- if (($query) && (strlen($query) <= 50)) {
- $link = mysql_connect ("localhost", "nobody");
- if (!$link) {
- echo "<p> Could not connect to the database: ", mysql_error();
- } else {
- mysql_select_db("xmlsoft", $link);
- $list = explode (" ", $query);
- $results = array();
- $number = 0;
- for ($number = 0;$number < count($list);$number++) {
-
- $word = $list[$number];
- if (($scope == 'any') || ($scope == 'XML') ||
- ($scope == 'API') || ($scope == 'XMLAPI')) {
- list($result, $j) = queryWord($word);
- if ($j > 0) {
- for ($i = 0; $i < $j; $i++) {
- $relevance = mysql_result($result, $i, 0);
- $name = mysql_result($result, $i, 1);
- $type = mysql_result($result, $i, 2);
- $module = mysql_result($result, $i, 3);
- $desc = mysql_result($result, $i, 4);
- if (array_key_exists($name, $results)) {
- list($r,$t,$m,$d,$w,$u) = $results[$name];
- $results[$name] = array(($r + $relevance) * 2,
- $t,$m,$d,$w,$u);
- } else {
- $id = strtoupper($name);
-// $m = strtolower($module);
- $m = $module;
- $url = "../html/libxml-$m.html#$id";
- $results[$name] = array($relevance,$type,
- $module, $desc, $name, $url);
- }
- }
- mysql_free_result($result);
- }
- }
- if (($scope == 'any') || ($scope == 'XSLT') ||
- ($scope == 'API') || ($scope == 'XSLTAPI')) {
- list($result, $j) = XSLTqueryWord($word);
- if ($j > 0) {
- for ($i = 0; $i < $j; $i++) {
- $relevance = mysql_result($result, $i, 0);
- $name = mysql_result($result, $i, 1);
- $type = mysql_result($result, $i, 2);
- $module = mysql_result($result, $i, 3);
- $desc = mysql_result($result, $i, 4);
- if (array_key_exists($name, $results)) {
- list($r,$t,$m,$d,$w,$u) = $results[$name];
- $results[$name] = array(($r + $relevance) * 2,
- $t,$m,$d,$w,$u);
- } else {
- $id = strtoupper($name);
-// $m = strtolower($module);
- $m = $module;
- $url = "html/libxslt-$m.html#$id";
- $results[$name] = array($relevance,$type,
- $module, $desc, $name, $url);
- }
- }
- mysql_free_result($result);
- }
- }
- if (($scope == 'any') || ($scope == 'XML') ||
- ($scope == 'DOCS') || ($scope == 'XMLDOC')) {
- list($result, $k) = queryHTMLWord($word);
- if ($k > 0) {
- for ($i = 0; $i < $k; $i++) {
- $relevance = mysql_result($result, $i, 0);
- $name = mysql_result($result, $i, 1);
- $id = mysql_result($result, $i, 2);
- $module = mysql_result($result, $i, 3);
- $desc = mysql_result($result, $i, 4);
- $url = $module;
- if ($id != "") {
- $url = $url + "#$id";
- }
- $results["$name _html_ $number _ $i"] =
- array($relevance, "XML docs",
- $module, $desc, $name, $url);
- }
- mysql_free_result($result);
- }
- }
- if (($scope == 'any') || ($scope == 'XSLT') ||
- ($scope == 'DOCS') || ($scope == 'XSLTDOC')) {
- list($result, $k) = XSLTqueryHTMLWord($word);
- if ($k > 0) {
- for ($i = 0; $i < $k; $i++) {
- $relevance = mysql_result($result, $i, 0);
- $name = mysql_result($result, $i, 1);
- $id = mysql_result($result, $i, 2);
- $module = mysql_result($result, $i, 3);
- $desc = mysql_result($result, $i, 4);
- $url = "$module";
- if ($id != "") {
- $url = $url + "#$id";
- }
- $results["$name xslthtml $number _ $i "] =
- array($relevance, "XSLT docs",
- $module, $desc, $name, $url);
- }
- mysql_free_result($result);
- }
- }
- if (($scope == 'any') || ($scope == 'XML') ||
- ($scope == 'LISTS') || ($scope == 'XMLLIST')) {
- list($result, $j) = queryArchiveWord($word);
- if ($j > 0) {
- for ($i = 0; $i < $j; $i++) {
- $relevance = mysql_result($result, $i, 0);
- $name = mysql_result($result, $i, 1);
- $type = mysql_result($result, $i, 2);
- $url = mysql_result($result, $i, 3);
- $desc = mysql_result($result, $i, 4);
- if (array_key_exists($url, $results)) {
- list($r,$t,$m,$d,$w,$u) = $results[$url];
- $results[$name] = array(($r + $relevance) * 2,
- $t,$m,$d,$w,$u);
- } else {
- $id = strtoupper($name);
-// $m = strtolower($module);
- $m = $module;
- $u = str_replace(
- "http://mail.gnome.org/archives/xml/", "", $url);
- $results[$url] = array($relevance,$type,
- $u, $desc, $name, $url);
- }
- }
- mysql_free_result($result);
- }
- }
- if (($scope == 'any') || ($scope == 'XSLT') ||
- ($scope == 'LISTS') || ($scope == 'XSLTLIST')) {
- list($result, $j) = XSLTqueryArchiveWord($word);
- if ($j > 0) {
- for ($i = 0; $i < $j; $i++) {
- $relevance = mysql_result($result, $i, 0);
- $name = mysql_result($result, $i, 1);
- $type = mysql_result($result, $i, 2);
- $url = mysql_result($result, $i, 3);
- $desc = mysql_result($result, $i, 4);
- if (array_key_exists($url, $results)) {
- list($r,$t,$m,$d,$w,$u) = $results[$url];
- $results[$name] = array(($r + $relevance) * 2,
- $t,$m,$d,$w,$u);
- } else {
- $id = strtoupper($name);
-// $m = strtolower($module);
- $m = $module;
- $u = str_replace(
- "http://mail.gnome.org/archives/xslt/", "", $url);
- $results[$url] = array($relevance,$type,
- $u, $desc, $name, $url);
- }
- }
- mysql_free_result($result);
- }
- }
- if (($j <= 0) && ($k <= 0)) {
- echo "<p> No result found for $word\n";
- }
- }
- mysql_close($link);
- $nb = count($results);
- echo "<h3 align='center'>Found $nb results for query $query</h3>\n";
- usort($results, "resSort");
-
- if ($nb > 0) {
- printf("<table><tbody>\n");
- printf("<tr><td>Quality</td><td>Symbol</td><td>Type</td><td>module</td><td>Description</td></tr>\n");
- $i = 0;
- while (list ($name, $val) = each ($results)) {
- list($r,$t,$m,$d,$s,$u) = $val;
- $m = str_replace("<", "&lt;", $m);
- $s = str_replace("<", "&lt;", $s);
- $d = str_replace("<", "&lt;", $d);
- echo "<tr><td>$r</td><td><a href='$u'>$s</a></td><td>$t</td><td>$m</td><td>$d</td></tr>";
- $i = $i + 1;
- if ($i > 75)
- break;
- }
- printf("</tbody></table>\n");
- }
- }
- }
-?>
-
- <p><a href="bugs.html" shape="rect">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/search.php.inc b/doc/search.php.inc
deleted file mode 100644
index f9db689b..00000000
--- a/doc/search.php.inc
+++ /dev/null
@@ -1,333 +0,0 @@
-<?php
- $query = $HTTP_GET_VARS[ "query" ];
- $scope = $HTTP_GET_VARS[ "scope" ];
- // We handle only the first argument so far
- $query = $_GET['query'];
- $query = ltrim ($query);
- if (! $query) {
- echo "<h1 align='center'>Search the documentation on XMLSoft.org</h1>";
- }
- if ($scope == NULL)
- $scope = "any";
- $scope = ltrim ($scope);
- if ($scope == "")
- $scope = "any";
-
-?>
-<p> The search service indexes the libxml2 and libxslt APIs and documentation as well as the xml@gnome.org and xslt@gnome.org mailing-list archives. To use it simply provide a set of keywords:
-<p>
-<form action="<?php echo "$PHP_SELF", "?query=", rawurlencode($query) ?>"
- enctype="application/x-www-form-urlencoded" method="GET">
- <input name="query" type="TEXT" size="50" value="<?php echo $query?>">
- <select name="scope">
- <option value="any">Search All</option>
- <option value="XML" <?php if ($scope == 'XML') print "selected"?>>XML resources</option>
- <option value="XSLT" <?php if ($scope == 'XSLT') print "selected"?>>XSLT resources</option>
- <option value="API" <?php if ($scope == 'API') print "selected"?>>Only the APIs</option>
- <option value="XMLAPI" <?php if ($scope == 'XMLAPI') print "selected"?>>Only the XML API</option>
- <option value="XSLTAPI" <?php if ($scope == 'XSLTAPI') print "selected"?>>Only the XSLT API</option>
- <option value="DOCS" <?php if ($scope == 'DOCS') print "selected"?>>Only the Documentation</option>
- <option value="XMLDOC" <?php if ($scope == 'XMLDOC') print "selected"?>>Only the XML Documentation</option>
- <option value="XSLTDOC" <?php if ($scope == 'XSLTDOC') print "selected"?>>Only the XSLT Documentation</option>
- <option value="LISTS" <?php if ($scope == 'LISTS') print "selected"?>>Only the lists archives</option>
- <option value="XMLLIST" <?php if ($scope == 'XMLLIST') print "selected"?>>Only the XML list archive</option>
- <option value="XSLTLIST" <?php if ($scope == 'XSLTLIST') print "selected"?>>Only the XSLT list archive</option>
- </select>
- <input name=submit type=submit value="Search ...">
-</form>
-<?php
- function logQueryWord($word) {
- $result = mysql_query ("SELECT ID,Count FROM Queries WHERE Value='$word'");
- if ($result) {
- $i = mysql_num_rows($result);
- if ($i == 0) {
- mysql_free_result($result);
- mysql_query ("INSERT INTO Queries (Value,Count) VALUES ('$word',1)");
- } else {
- $id = mysql_result($result, 0, 0);
- $count = mysql_result($result, 0, 1);
- $count ++;
- mysql_query ("UPDATE Queries SET Count=$count WHERE ID=$id");
- }
- } else {
- mysql_query ("INSERT INTO Queries (Value,Count) VALUES ('$word',1)");
- }
- }
- function queryWord($word) {
- $result = NULL;
- $j = 0;
- if ($word) {
- $result = mysql_query ("SELECT words.relevance, symbols.name, symbols.type, symbols.module, symbols.descr FROM words, symbols WHERE LCASE(words.name) LIKE LCASE('$word') and words.symbol = symbols.name ORDER BY words.relevance DESC LIMIT 75");
- if ($result) {
- $j = mysql_num_rows($result);
- if ($j == 0)
- mysql_free_result($result);
- }
- logQueryWord($word);
- }
- return array($result, $j);
- }
- function queryHTMLWord($word) {
- $result = NULL;
- $j = 0;
- if ($word) {
- $result = mysql_query ("SELECT relevance, name, id, resource, section FROM wordsHTML WHERE LCASE(name) LIKE LCASE('$word') ORDER BY relevance DESC LIMIT 75");
- if ($result) {
- $j = mysql_num_rows($result);
- if ($j == 0)
- mysql_free_result($result);
- }
- logQueryWord($word);
- }
- return array($result, $j);
- }
- function queryArchiveWord($word) {
- $result = NULL;
- $j = 0;
- if ($word) {
- $result = mysql_query ("SELECT wordsArchive.relevance, wordsArchive.name, 'xml-list', archives.resource, archives.title FROM wordsArchive, archives WHERE LCASE(wordsArchive.name) LIKE LCASE('$word') and wordsArchive.ID = archives.ID ORDER BY relevance DESC LIMIT 75");
- if ($result) {
- $j = mysql_num_rows($result);
- if ($j == 0)
- mysql_free_result($result);
- }
- logQueryWord($word);
- }
- return array($result, $j);
- }
- function XSLTqueryWord($word) {
- $result = NULL;
- $j = 0;
- if ($word) {
- $result = mysql_query ("SELECT XSLTwords.relevance, XSLTsymbols.name, XSLTsymbols.type, XSLTsymbols.module, XSLTsymbols.descr FROM XSLTwords, XSLTsymbols WHERE LCASE(XSLTwords.name) LIKE LCASE('$word') and XSLTwords.symbol = XSLTsymbols.name ORDER BY XSLTwords.relevance DESC LIMIT 75");
- if ($result) {
- $j = mysql_num_rows($result);
- if ($j == 0)
- mysql_free_result($result);
- }
- logQueryWord($word);
- }
- return array($result, $j);
- }
- function XSLTqueryHTMLWord($word) {
- $result = NULL;
- $j = 0;
- if ($word) {
- $result = mysql_query ("SELECT relevance, name, id, resource, section FROM XSLTwordsHTML WHERE LCASE(name) LIKE LCASE('$word') ORDER BY relevance DESC LIMIT 75");
- if ($result) {
- $j = mysql_num_rows($result);
- if ($j == 0)
- mysql_free_result($result);
- }
- logQueryWord($word);
- }
- return array($result, $j);
- }
- function XSLTqueryArchiveWord($word) {
- $result = NULL;
- $j = 0;
- if ($word) {
- $result = mysql_query ("SELECT XSLTwordsArchive.relevance, XSLTwordsArchive.name, 'xslt-list', archives.resource, archives.title FROM XSLTwordsArchive, archives WHERE LCASE(XSLTwordsArchive.name) LIKE LCASE('$word') and XSLTwordsArchive.ID = archives.ID ORDER BY relevance DESC LIMIT 75");
- if ($result) {
- $j = mysql_num_rows($result);
- if ($j == 0)
- mysql_free_result($result);
- }
- logQueryWord($word);
- }
- return array($result, $j);
- }
- function resSort ($a, $b) {
- list($ra,$ta,$ma,$na,$da) = $a;
- list($rb,$tb,$mb,$nb,$db) = $b;
- if ($ra == $rb) return 0;
- return ($ra > $rb) ? -1 : 1;
- }
- if (($query) && (strlen($query) <= 50)) {
- $link = mysql_connect ("localhost", "nobody");
- if (!$link) {
- echo "<p> Could not connect to the database: ", mysql_error();
- } else {
- mysql_select_db("xmlsoft", $link);
- $list = explode (" ", $query);
- $results = array();
- $number = 0;
- for ($number = 0;$number < count($list);$number++) {
-
- $word = $list[$number];
- if (($scope == 'any') || ($scope == 'XML') ||
- ($scope == 'API') || ($scope == 'XMLAPI')) {
- list($result, $j) = queryWord($word);
- if ($j > 0) {
- for ($i = 0; $i < $j; $i++) {
- $relevance = mysql_result($result, $i, 0);
- $name = mysql_result($result, $i, 1);
- $type = mysql_result($result, $i, 2);
- $module = mysql_result($result, $i, 3);
- $desc = mysql_result($result, $i, 4);
- if (array_key_exists($name, $results)) {
- list($r,$t,$m,$d,$w,$u) = $results[$name];
- $results[$name] = array(($r + $relevance) * 2,
- $t,$m,$d,$w,$u);
- } else {
- $id = strtoupper($name);
-// $m = strtolower($module);
- $m = $module;
- $url = "../html/libxml-$m.html#$id";
- $results[$name] = array($relevance,$type,
- $module, $desc, $name, $url);
- }
- }
- mysql_free_result($result);
- }
- }
- if (($scope == 'any') || ($scope == 'XSLT') ||
- ($scope == 'API') || ($scope == 'XSLTAPI')) {
- list($result, $j) = XSLTqueryWord($word);
- if ($j > 0) {
- for ($i = 0; $i < $j; $i++) {
- $relevance = mysql_result($result, $i, 0);
- $name = mysql_result($result, $i, 1);
- $type = mysql_result($result, $i, 2);
- $module = mysql_result($result, $i, 3);
- $desc = mysql_result($result, $i, 4);
- if (array_key_exists($name, $results)) {
- list($r,$t,$m,$d,$w,$u) = $results[$name];
- $results[$name] = array(($r + $relevance) * 2,
- $t,$m,$d,$w,$u);
- } else {
- $id = strtoupper($name);
-// $m = strtolower($module);
- $m = $module;
- $url = "html/libxslt-$m.html#$id";
- $results[$name] = array($relevance,$type,
- $module, $desc, $name, $url);
- }
- }
- mysql_free_result($result);
- }
- }
- if (($scope == 'any') || ($scope == 'XML') ||
- ($scope == 'DOCS') || ($scope == 'XMLDOC')) {
- list($result, $k) = queryHTMLWord($word);
- if ($k > 0) {
- for ($i = 0; $i < $k; $i++) {
- $relevance = mysql_result($result, $i, 0);
- $name = mysql_result($result, $i, 1);
- $id = mysql_result($result, $i, 2);
- $module = mysql_result($result, $i, 3);
- $desc = mysql_result($result, $i, 4);
- $url = $module;
- if ($id != "") {
- $url = $url + "#$id";
- }
- $results["$name _html_ $number _ $i"] =
- array($relevance, "XML docs",
- $module, $desc, $name, $url);
- }
- mysql_free_result($result);
- }
- }
- if (($scope == 'any') || ($scope == 'XSLT') ||
- ($scope == 'DOCS') || ($scope == 'XSLTDOC')) {
- list($result, $k) = XSLTqueryHTMLWord($word);
- if ($k > 0) {
- for ($i = 0; $i < $k; $i++) {
- $relevance = mysql_result($result, $i, 0);
- $name = mysql_result($result, $i, 1);
- $id = mysql_result($result, $i, 2);
- $module = mysql_result($result, $i, 3);
- $desc = mysql_result($result, $i, 4);
- $url = "$module";
- if ($id != "") {
- $url = $url + "#$id";
- }
- $results["$name xslthtml $number _ $i "] =
- array($relevance, "XSLT docs",
- $module, $desc, $name, $url);
- }
- mysql_free_result($result);
- }
- }
- if (($scope == 'any') || ($scope == 'XML') ||
- ($scope == 'LISTS') || ($scope == 'XMLLIST')) {
- list($result, $j) = queryArchiveWord($word);
- if ($j > 0) {
- for ($i = 0; $i < $j; $i++) {
- $relevance = mysql_result($result, $i, 0);
- $name = mysql_result($result, $i, 1);
- $type = mysql_result($result, $i, 2);
- $url = mysql_result($result, $i, 3);
- $desc = mysql_result($result, $i, 4);
- if (array_key_exists($url, $results)) {
- list($r,$t,$m,$d,$w,$u) = $results[$url];
- $results[$name] = array(($r + $relevance) * 2,
- $t,$m,$d,$w,$u);
- } else {
- $id = strtoupper($name);
-// $m = strtolower($module);
- $m = $module;
- $u = str_replace(
- "http://mail.gnome.org/archives/xml/", "", $url);
- $results[$url] = array($relevance,$type,
- $u, $desc, $name, $url);
- }
- }
- mysql_free_result($result);
- }
- }
- if (($scope == 'any') || ($scope == 'XSLT') ||
- ($scope == 'LISTS') || ($scope == 'XSLTLIST')) {
- list($result, $j) = XSLTqueryArchiveWord($word);
- if ($j > 0) {
- for ($i = 0; $i < $j; $i++) {
- $relevance = mysql_result($result, $i, 0);
- $name = mysql_result($result, $i, 1);
- $type = mysql_result($result, $i, 2);
- $url = mysql_result($result, $i, 3);
- $desc = mysql_result($result, $i, 4);
- if (array_key_exists($url, $results)) {
- list($r,$t,$m,$d,$w,$u) = $results[$url];
- $results[$name] = array(($r + $relevance) * 2,
- $t,$m,$d,$w,$u);
- } else {
- $id = strtoupper($name);
-// $m = strtolower($module);
- $m = $module;
- $u = str_replace(
- "http://mail.gnome.org/archives/xslt/", "", $url);
- $results[$url] = array($relevance,$type,
- $u, $desc, $name, $url);
- }
- }
- mysql_free_result($result);
- }
- }
- if (($j <= 0) && ($k <= 0)) {
- echo "<p> No result found for $word\n";
- }
- }
- mysql_close($link);
- $nb = count($results);
- echo "<h3 align='center'>Found $nb results for query $query</h3>\n";
- usort($results, "resSort");
-
- if ($nb > 0) {
- printf("<table><tbody>\n");
- printf("<tr><td>Quality</td><td>Symbol</td><td>Type</td><td>module</td><td>Description</td></tr>\n");
- $i = 0;
- while (list ($name, $val) = each ($results)) {
- list($r,$t,$m,$d,$s,$u) = $val;
- $m = str_replace("<", "&lt;", $m);
- $s = str_replace("<", "&lt;", $s);
- $d = str_replace("<", "&lt;", $d);
- echo "<tr><td>$r</td><td><a href='$u'>$s</a></td><td>$t</td><td>$m</td><td>$d</td></tr>";
- $i = $i + 1;
- if ($i > 75)
- break;
- }
- printf("</tbody></table>\n");
- }
- }
- }
-?>
diff --git a/doc/search.templ b/doc/search.templ
deleted file mode 100644
index c46dbabf..00000000
--- a/doc/search.templ
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
- </style><title>Search engine</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="GNOME2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for GNOME</h1><h2>Search engine</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="EXSLT/index.html" style="font-weight:bold">libexslt</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a>,
- <a href="tutorial2/libxslt_pipes.html">Tutorial2</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://codespeak.net/lxml/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXSLT">Perl XSLT bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading17">XSLT with PHP</a></li><li><a href="http://www.mod-xslt2.com/">Apache module</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><insert_php>Insert point for php code</insert_php><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/stylesheet.fig b/doc/stylesheet.fig
deleted file mode 100644
index 4f900e99..00000000
--- a/doc/stylesheet.fig
+++ /dev/null
@@ -1,104 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
--2
-1200 2
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 2400 3075 2925 3075 2925 3600 2400 3600 2400 3075
-2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
- 2025 450 2550 450 2550 975 2025 975 2025 450
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 5400 375 7050 375 7050 3225 5400 3225 5400 375
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 5400 750 7050 750
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 5400 1125 7050 1125
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 5400 1500 7050 1500
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 5400 1875 7050 1875
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 5400 2250 7050 2250
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 2025 975 1650 1425
-2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
- 450 2175 975 2175 975 2700 450 2700 450 2175
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 1350 3075 1875 3075 1875 3600 1350 3600 1350 3075
-2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
- 300 3075 825 3075 825 3600 300 3600 300 3075
-2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
- 2400 2175 2925 2175 2925 2700 2400 2700 2400 2175
-2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
- 1425 1425 1950 1425 1950 1950 1425 1950 1425 1425
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 1425 1950 975 2175
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 675 2700 525 3075
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 975 2475 2400 2475
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 825 3300 1350 3300
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 2700 2700 2700 3075
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 5550 2025 2550 450
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 2100 5025 3750 5025 3750 7425 2100 7425 2100 5025
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 600 3600 2475 5025
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 5400 2850 7050 2850
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 6225 3150 3750 5025
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 2100 5325 3750 5325
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 2100 5625 3750 5625
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 2100 5925 3750 5925
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 2250 5775 450 3600
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3
- 5250 5025 4575 5025 4575 6300
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 5325 5025 5550 5025
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 4575 6375 4575 6600
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 3150 5175 4575 5175
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 2925 2700 5100 5025
-4 0 0 50 0 0 18 0.0000 4 225 720 5700 675 parent\001
-4 0 0 50 0 0 18 0.0000 4 165 495 5700 1050 next\001
-4 0 0 50 0 0 18 0.0000 4 255 870 5700 1425 imports\001
-4 0 0 50 0 0 18 0.0000 4 195 735 5700 1800 doclist\001
-4 0 0 50 0 0 18 0.0000 4 195 390 5700 2175 doc\001
-4 0 0 50 0 0 18 0.0000 4 255 1470 450 750 xsl:stylesheet\001
-4 0 0 50 0 0 18 0.0000 4 255 1350 2025 1725 xsl:template\001
-4 0 0 50 0 0 18 0.0000 4 255 1140 5700 3075 preComps\001
-4 0 0 50 0 0 18 0.0000 4 165 495 2475 5250 next\001
-4 0 0 50 0 0 18 0.0000 4 225 465 2475 5550 type\001
-4 0 0 50 0 0 18 0.0000 4 195 420 2475 5850 inst\001
-4 0 0 50 0 0 18 0.0000 4 255 915 1350 4050 _private\001
-4 0 0 50 0 0 18 0.0000 4 195 720 1350 3000 html:a\001
-4 0 0 50 0 0 18 0.0000 4 195 705 2625 3900 TEXT\001
-4 0 0 50 0 0 18 0.0000 4 255 915 3375 3000 _private\001
-4 0 0 50 0 0 18 0.0000 4 255 2010 4050 6900 xsltStylePreComp\001
-4 0 0 50 0 0 18 0.0000 4 255 1455 3900 600 xslStylesheet\001
diff --git a/doc/templates.fig b/doc/templates.fig
deleted file mode 100644
index 874a19a0..00000000
--- a/doc/templates.fig
+++ /dev/null
@@ -1,138 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
--2
-1200 2
-6 3225 5700 4200 7200
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3
- 3900 5700 3225 5700 3225 6825
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 3975 5700 4200 5700
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 3225 6900 3225 7200
--6
-6 3150 2475 4125 3975
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3
- 3825 2475 3150 2475 3150 3600
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 3900 2475 4125 2475
-2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
- 3150 3675 3150 3975
--6
-2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
- 3900 6975 4425 6975 4425 7500 3900 7500 3900 6975
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 2175 5850 5400 3075
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 2175 7650 4050 6975
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 2175 7950 3750 8250
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 5400 750 7050 750
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 5400 1050 7050 1050
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 5400 1350 7050 1350
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 5400 1650 7050 1650
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 5400 1950 7050 1950
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 5400 2250 7050 2250
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 5475 900 2250 900
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 1350 1125 1350 2475
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 750 5700 2400 5700 2400 8100 750 8100 750 5700
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 750 6000 2400 6000
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 750 7500 2400 7500
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 750 7800 2400 7800
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 750 6300 2400 6300
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 1800 6150 3225 6150
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 750 6600 2400 6600
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 750 6900 2400 6900
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 750 7200 2400 7200
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 675 2475 2325 2475 2325 4200 675 4200 675 2475
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 675 2775 2325 2775
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 675 3075 2325 3075
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 675 3900 2325 3900
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 675 3525 2325 3525
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 1875 2625 3150 2625
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 2100 4050 2100 5700
-2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
- 2175 1800 2175 525 675 525 675 1800 2175 1800
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 3675 8250 4125 8250 4125 8700 3675 8700 3675 8250
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 4575 8250 5025 8250 5025 8700 4575 8700 4575 8250
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 4200 7500 3900 8250
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 4125 8475 4575 8475
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 3900 8700 3900 9375
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 3675 9375 4125 9375 4125 9825 3675 9825 3675 9375
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 5400 750 7050 750 7050 3600 5400 3600 5400 750
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
- 5400 3225 7050 3225
-2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 2.00 120.00 240.00
- 5550 3450 2400 5775
-4 0 0 50 0 0 18 0.0000 4 255 1350 4125 6750 xsl:template\001
-4 0 0 50 0 0 18 0.0000 4 255 1545 5475 975 templateHash\001
-4 0 0 50 0 0 18 0.0000 4 255 1350 750 1050 hash(name)\001
-4 0 0 50 0 0 18 0.0000 4 195 540 1275 7725 elem\001
-4 0 0 50 0 0 18 0.0000 4 165 855 1200 8025 content\001
-4 0 0 50 0 0 18 0.0000 4 255 510 1125 5925 style\001
-4 0 0 50 0 0 18 0.0000 4 165 495 1125 6225 next\001
-4 0 0 50 0 0 18 0.0000 4 255 840 1125 6525 priority\001
-4 0 0 50 0 0 18 0.0000 4 135 615 1125 6825 name\001
-4 0 0 50 0 0 18 0.0000 4 195 615 1125 7140 mode\001
-4 0 0 50 0 0 18 0.0000 4 255 975 975 4125 template\001
-4 0 0 50 0 0 18 0.0000 4 255 735 1200 3375 steps[]\001
-4 0 0 50 0 0 18 0.0000 4 165 495 1200 2700 next\001
-4 0 0 50 0 0 18 0.0000 4 195 615 1200 3000 mode\001
-4 0 0 50 0 0 18 0.0000 4 255 1470 300 5550 xsltTemplate\001
-4 0 0 50 0 0 18 0.0000 4 255 1800 1650 2325 xsltCompMatch\001
-4 0 0 50 0 0 18 0.0000 4 255 2250 900 375 Template hash table\001
-4 0 0 50 0 0 18 0.0000 4 255 1455 5700 525 xslStylesheet\001
-4 0 0 50 0 0 18 0.0000 4 255 2805 4650 7950 Stylesheet document tree\001
-4 0 0 50 0 0 18 0.0000 4 195 1185 5550 1575 rootMatch\001
-4 0 0 50 0 0 18 0.0000 4 255 1095 5550 1875 keyMatch\001
-4 0 0 50 0 0 18 0.0000 4 195 1260 5550 2175 elemMatch\001
-4 0 0 50 0 0 18 0.0000 4 195 1125 5550 2490 attrMatch\001
-4 0 0 50 0 0 18 0.0000 4 30 180 5550 2805 ...\001
-4 0 0 50 0 0 18 0.0000 4 255 1080 5625 3525 templates\001
diff --git a/doc/tutorial/libxslt_tutorial.c b/doc/tutorial/libxslt_tutorial.c
index 93563698..6b5d5c87 100644
--- a/doc/tutorial/libxslt_tutorial.c
+++ b/doc/tutorial/libxslt_tutorial.c
@@ -1,25 +1,12 @@
-<![CDATA[
/*
* libxslt_tutorial.c: demo program for the XSL Transformation 1.0 engine
*
* based on xsltproc.c, by Daniel.Veillard@imag.fr
- * by John Fleck
+ * by John Fleck
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * See Copyright for the status of this software.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, MA 02139, USA.
- *
- */
+ */
#include <string.h>
#include <libxml/xmlmemory.h>
@@ -95,4 +82,3 @@ main(int argc, char **argv) {
return(0);
}
-]]>
diff --git a/doc/tutorial/libxslttutorial.html b/doc/tutorial/libxslttutorial.html
index 56647a5c..41728583 100644
--- a/doc/tutorial/libxslttutorial.html
+++ b/doc/tutorial/libxslttutorial.html
@@ -338,19 +338,7 @@ xsltSaveResultToFile(stdout, res, cur);
* based on xsltproc.c, by Daniel.Veillard@imag.fr
* by John Fleck
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, MA 02139, USA.
+ * See the file Copyright for the status of this software.
*
*/
diff --git a/doc/tutorial2/libxslt_pipes.c b/doc/tutorial2/libxslt_pipes.c
index 43d751fa..44056c1f 100644
--- a/doc/tutorial2/libxslt_pipes.c
+++ b/doc/tutorial2/libxslt_pipes.c
@@ -4,21 +4,9 @@
*
* Writen by Panos Louridas, based on libxslt_tutorial.c by John Fleck.
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * See Copyright for the status of this software.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, MA 02139, USA.
- *
- */
+ */
#include <stdio.h>
#include <string.h>
diff --git a/doc/tutorial2/libxslt_pipes.html b/doc/tutorial2/libxslt_pipes.html
index 49bdd093..2a0110a8 100644
--- a/doc/tutorial2/libxslt_pipes.html
+++ b/doc/tutorial2/libxslt_pipes.html
@@ -486,19 +486,7 @@ The complete program listing is given below. The program is also
*
* Writen by Panos Louridas, based on libxslt_tutorial.c by John Fleck.
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, MA 02139, USA.
+ * See the file Copyright for the status of this software.
*
*/
diff --git a/doc/xslt.html b/doc/xslt.html
index f7fb5950..e1139cd4 100644
--- a/doc/xslt.html
+++ b/doc/xslt.html
@@ -3,7 +3,6 @@
<html>
<head>
<title>The XSLT C library for GNOME</title>
- <meta name="GENERATOR" content="amaya 8.5, see http://www.w3.org/Amaya/">
<meta http-equiv="Content-Type" content="text/html">
</head>
@@ -305,6 +304,143 @@ to get a description of the recent commits.</p>
<p>Those are the public releases made:</p>
+<h3>1.1.29: May 24 2016</h3>
+<ul>
+ <li>Security:<br/>
+ CVE-2015-7995 Fix for type confusion in preprocessing attributes (Daniel Veillard)<br/>
+ </li>
+
+ <li>Documentation:<br/>
+ </li>
+
+ <li>Portability:<br/>
+ Fix a portibility problem with previous commit (Eduard Sanou),<br/>
+ Fix MingW build (Nick Wellnhofer),<br/>
+ Correctly emulate snprintf on older MSVC versions (Nick Wellnhofer),<br/>
+ Add Python script to run some tests on Windows (Nick Wellnhofer),<br/>
+ Remove /OPT:NOWIN98 option (Nick Wellnhofer),<br/>
+ Visual Studio 14 CTP defines snprintf() (Daniel Veillard),<br/>
+ Use AC_PATH_TOOL to find libgcrypt-config and xml2-config (Michaż Górny),<br/>
+ Use $libdir for LIBXSLT_DEFAULT_PLUGINS_PATH (larryhaja),<br/>
+ Use mkdir macro also in case if mingw32. (Lars Kanis),<br/>
+ Add math library to executable link flags (Nick Wellnhofer),<br/>
+ Fix quoting of xlocale test program in configure.in (Nick Wellnhofer)<br/>
+ </li>
+
+ <li>Bug Fixes:<br/>
+ Fix OOB heap read in xsltExtModuleRegisterDynamic (Nick Wellnhofer),<br/>
+ Remove CDATA markup from libxslt_tutorial.c (Nick Wellnhofer),<br/>
+ Remove generated headers from dist tarball (Nick Wellnhofer),<br/>
+ Mark XML file argument as repeatable (Nick Wellnhofer),<br/>
+ Keep timezone in date:add (Nick Wellnhofer),<br/>
+ Fix buffer overflow in exsltDateFormat (Nick Wellnhofer),<br/>
+ Fix saxon:line-number with namespace nodes (Nick Wellnhofer),<br/>
+ Fix dyn:map with namespace nodes (Nick Wellnhofer),<br/>
+ Fix error handling in Saxon extension functions (Nick Wellnhofer),<br/>
+ Fix double free in libexslt hash functions (Nick Wellnhofer),<br/>
+ Fix libxslt format warnings (David Kilzer),<br/>
+ Fix xsltNumberFormatGetMultipleLevel (Nick Wellnhofer),<br/>
+ Fix use-after-free in xsltDocumentFunctionLoadDocument (Nick Wellnhofer),<br/>
+ Always initialize EXSLT month and day to 1 (Nick Wellnhofer),<br/>
+ Fix possible NULL pointer deref in transform.c (mahendra.n),<br/>
+ Fix possible NULL pointer deref in xsltCopyTextString (Nick Wellnhofer),<br/>
+ Fix possible NULL pointer deref in libexslt/functions.c (Nick Wellnhofer),<br/>
+ Fix possible NULL pointer deref in xsltproc.c (mahendra.n),<br/>
+ Fix possible NULL pointer deref in preproc.c (mahendra.n),<br/>
+ Fix LIBXSLT_DEFAULT_PLUGINS_PATH in xsltconfig.h (Nick Wellnhofer),<br/>
+ Fix memory leak in xsltNumberFormat (Albert Astals Cid),<br/>
+ Error in doc/Makefile.am (Brice De Bruyne),<br/>
+ Detect attribute sets recursions in more cases (Daniel Veillard),<br/>
+ Check name vales for attribute-set elements (Daniel Veillard),<br/>
+ Fix hang with namespace-alias, fixes #700689 (Shaun McCance),<br/>
+ Fix str:align with UTF-8 strings (Nick Wellnhofer),<br/>
+ Fix for compiled XPath helpers (Nick Wellnhofer),<br/>
+ Check return value of exsltFuncNewFunctionData (Nick Wellnhofer),<br/>
+ Fix return value of xsltRegisterExtModuleElement (Nick Wellnhofer),<br/>
+ Call xmlNodeGetSpacePreserve with element node (Nick Wellnhofer),<br/>
+ Set namespaces before evaluating xsl:number (Nick Wellnhofer),<br/>
+ Make --maxvars option work (Per Hedeland),<br/>
+ Set correct context node when initializing xsl:keys (Nick Wellnhofer),<br/>
+ Fix for bug 436589 (Imran Azeezullah),<br/>
+ Memory leak in xsltCompileIdKeyPattern error path (Nick Wellnhofer),<br/>
+ Fix handling of UTF-8 strings in EXSLT crypto module (Nick Wellnhofer),<br/>
+ Fix certain patterns with predicates (Nick Wellnhofer),<br/>
+ Fix direct pattern matching (Nick Wellnhofer),<br/>
+ Fix str:padding to work with UTF-8 strings (Nick Wellnhofer),<br/>
+ EXSLT function str:replace() is broken as-is (Nick Wellnhofer),<br/>
+ Fix a couple of places where (f)printf parameters were broken (Daniel Veillard)<br/>
+ </li>
+
+ <li>Improvements:<br/>
+ Add support timestamps from environment (Daniel Veillard),<br/>
+ Add missing tests to dist tarball (Nick Wellnhofer),<br/>
+ Improve error message in xsltAddTemplate and fix test (Nick Wellnhofer),<br/>
+ Allow REC tests with empty stdout (Nick Wellnhofer),<br/>
+ Fix GPL license in HTML files as well (Nick Wellnhofer),<br/>
+ Fix status message in EXSLT dynamic tests (Nick Wellnhofer),<br/>
+ Add public function macros to xsltlocale.h (Nick Wellnhofer),<br/>
+ Make valgrind tests work with libtool (Nick Wellnhofer),<br/>
+ Add a couple of xsl:number tests (Nick Wellnhofer),<br/>
+ Lower and upper bound for format token "i" (Nick Wellnhofer),<br/>
+ Lower bound for format token "a" (Nick Wellnhofer),<br/>
+ Handle negative xsl:number values (Nick Wellnhofer),<br/>
+ Round xsl:number values to nearest integer (Nick Wellnhofer),<br/>
+ Allow {URI}NCName syntax for user parameters (Nick Wellnhofer),<br/>
+ Fix endTimer parameter type (Nick Wellnhofer),<br/>
+ Fix error messages for unsupported methods (Nick Wellnhofer),<br/>
+ Replace sprintf with snprintf (David Kilzer),<br/>
+ Enforce two digit exponent under MSVC (Nick Wellnhofer),<br/>
+ Rework xsltNumberFormat to fix warning (Nick Wellnhofer),<br/>
+ Fix a couple of GPL licences found in the documentation (Daniel Veillard),<br/>
+ Use hash table to lookup named templates (Christian Ceelen),<br/>
+ Fix to reg tests post 737840 fix (Daniel Veillard),<br/>
+ Don't fail build the man page if xsltproc is not present (Daniel Veillard),<br/>
+ Re-adding xsltproc.1 (Daniel Veillard),<br/>
+ Fix time type in xsltSaveProfiling (Nick Wellnhofer),<br/>
+ Remove unused parameters (Nick Wellnhofer),<br/>
+ Suppress unused variable warning. (Nick Wellnhofer),<br/>
+ Remove unused variable in xsltGenerateIdFunction (Nick Wellnhofer),<br/>
+ Add test case for XPath function args in error case (Nick Wellnhofer),<br/>
+ Add comment about known-to-fail test (Nick Wellnhofer),<br/>
+ Adjust expected test output (Nick Wellnhofer),<br/>
+ Helper functions to evaluate compiled XPath expressions (Nick Wellnhofer),<br/>
+ Add tests for crypto:rc4 (Nick Wellnhofer),<br/>
+ Add first test case for EXSLT crypto module (Nick Wellnhofer),<br/>
+ Separate function for predicate matching in patterns (Nick Wellnhofer),<br/>
+ Initialize pseudo random number generator with current time or optional command line parameter (Nils Werner),<br/>
+ Adding doc update related to 1.1.28 (Daniel Veillard)<br/>
+ </li>
+
+ <li>Cleanups:<br/>
+ Remove bogus test file (Nick Wellnhofer),<br/>
+ Add warning message to expected test output (Nick Wellnhofer)<br/>
+ </li>
+</ul>
+<h3>1.1.28: Nov 21 2012</h3>
+<ul>
+ <li> Portability:<br/>
+ Fix python build by using libxsltmod_la_CPPFLAGS instead of AM_CPPFLAGS (Alexandre Rostovtsev),<br/>
+ configure should be more careful with linker script (Igor Pashev),<br/>
+ add gcrypt library in LIBADD, not LDFLAGS, as recommended (Roumen Petrov)<br/>
+ </li>
+
+ <li> Bug fixes:<br/>
+ Fix generate-id() to avoid generating the same ID (Stewart Brodie),<br/>
+ Fix crash with empty xsl:key/@match attribute (Nick Wellnhofer),<br/>
+ Crash when passing an uninitialized variable to document() (Nick Wellnhofer),<br/>
+ Add missing test docs to EXTRA_DIST (Nick Wellnhofer),<br/>
+ Fix regression: Default namespace not correctly used (Nick Wellnhofer)<br/>
+ </li>
+
+ <li> Cleanups:<br/>
+ Remove xsltTransStorageAdd and xsltTransStorageRemove from symbols.xml (Daniel Veillard),<br/>
+ autogen.sh cleanup (Daniel Richard),<br/>
+ consistent use of xslt processor (Roumen Petrov),<br/>
+ Add object files in tests/plugins to .gitignore (Nick Wellnhofer),<br/>
+ Fix error on bug-165 regression test (Daniel Veillard),<br/>
+ Remove xsltTransStorageAdd and xsltTransStorageRemove (Daniel Veillard),<br/>
+ </li>
+</ul>
<h3>1.1.27: Sep 12 2012</h3>
<ul>
<li> Portability:<br/>
diff --git a/doc/xsltproc.xml b/doc/xsltproc.xml
index d3849e29..bd1d79f4 100644
--- a/doc/xsltproc.xml
+++ b/doc/xsltproc.xml
@@ -101,7 +101,7 @@
</group>
<arg choice="opt"><replaceable>STYLESHEET</replaceable></arg>
<group choice="req">
- <arg choice="plain" rep="norepeat"><replaceable>XML-FILE</replaceable></arg>
+ <arg choice="plain" rep="repeat"><replaceable>XML-FILE</replaceable></arg>
<arg choice="plain" rep="norepeat">-</arg>
</group>
</cmdsynopsis>