diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog.xsl | 113 | ||||
-rw-r--r-- | doc/Makefile.am | 4 | ||||
-rw-r--r-- | doc/Makefile.in | 900 | ||||
-rw-r--r-- | doc/contexts.fig | 175 | ||||
-rwxr-xr-x | doc/index.py | 1248 | ||||
-rw-r--r-- | doc/libxslt-decl.txt | 1449 | ||||
-rw-r--r-- | doc/libxslt.xml | 92 | ||||
-rw-r--r-- | doc/libxslt.xsa | 26 | ||||
-rw-r--r-- | doc/news.html | 135 | ||||
-rw-r--r-- | doc/node.fig | 91 | ||||
-rw-r--r-- | doc/object.fig | 90 | ||||
-rw-r--r-- | doc/processing.fig | 137 | ||||
-rw-r--r-- | doc/search.php | 346 | ||||
-rw-r--r-- | doc/search.php.inc | 333 | ||||
-rw-r--r-- | doc/search.templ | 11 | ||||
-rw-r--r-- | doc/stylesheet.fig | 104 | ||||
-rw-r--r-- | doc/templates.fig | 138 | ||||
-rw-r--r-- | doc/tutorial/libxslt_tutorial.c | 20 | ||||
-rw-r--r-- | doc/tutorial/libxslttutorial.html | 14 | ||||
-rw-r--r-- | doc/tutorial2/libxslt_pipes.c | 16 | ||||
-rw-r--r-- | doc/tutorial2/libxslt_pipes.html | 14 | ||||
-rw-r--r-- | doc/xslt.html | 138 | ||||
-rw-r--r-- | doc/xsltproc.xml | 2 |
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("<", "<", $m); - $s = str_replace("<", "<", $s); - $d = str_replace("<", "<", $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("<", "<", $m); - $s = str_replace("<", "<", $s); - $d = str_replace("<", "<", $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> |