# PaCkAgE DaTaStReAm libxslt 1 10924 # end of header 070701000623b3000081a40000000000000000000000014f25e6a900000103000000b600010002ffffffffffffffff0000001000000000libxslt/pkginfoPKG=libxslt NAME=libxslt 1.1.26 i86pc Solaris 11 VERSION=1.1.26 PSTAMP=30th January 2012 VENDOR=Daniel Veillard EMAIL=http://xmlsoft.org/XSLT/index.html DESC=XSLT C library ARCH=i386 CATEGORY=utility CLASSES=none BASEDIR=/ ISTATES=S s 1 2 3 RSTATES=S s 1 2 3 070701000623b2000081a40000000000000000000000014f25e6a900003cfb000000b600010002ffffffffffffffff0000000f00000000libxslt/pkgmap: 1 10924 1 d none /usr ? ? ? 1 d none /usr/local ? ? ? 1 d none /usr/local/bin 0755 root root 1 f none /usr/local/bin/xslt-config 0755 root root 2486 64610 1327633732 1 f none /usr/local/bin/xsltproc 0755 root root 64552 56839 1327633732 1 d none /usr/local/include 0755 root root 1 d none /usr/local/include/libexslt 0755 root root 1 f none /usr/local/include/libexslt/exslt.h 0644 root root 3018 41418 1327633732 1 f none /usr/local/include/libexslt/exsltconfig.h 0644 root root 1218 28346 1327633732 1 f none /usr/local/include/libexslt/exsltexports.h 0644 root root 3383 2442 1327633732 1 d none /usr/local/include/libxslt 0755 root root 1 f none /usr/local/include/libxslt/attributes.h 0644 root root 936 13762 1327633731 1 f none /usr/local/include/libxslt/documents.h 0644 root root 2737 32566 1327633731 1 f none /usr/local/include/libxslt/extensions.h 0644 root root 6903 48788 1327633731 1 f none /usr/local/include/libxslt/extra.h 0644 root root 1840 16816 1327633731 1 f none /usr/local/include/libxslt/functions.h 0644 root root 2015 38684 1327633731 1 f none /usr/local/include/libxslt/imports.h 0644 root root 1855 15362 1327633731 1 f none /usr/local/include/libxslt/keys.h 0644 root root 1162 28045 1327633731 1 f none /usr/local/include/libxslt/namespaces.h 0644 root root 1673 4969 1327633731 1 f none /usr/local/include/libxslt/numbersInternals.h 0644 root root 1926 30616 1327633731 1 f none /usr/local/include/libxslt/pattern.h 0644 root root 1998 34892 1327633731 1 f none /usr/local/include/libxslt/preproc.h 0644 root root 897 9599 1327633731 1 f none /usr/local/include/libxslt/security.h 0644 root root 2677 22907 1327633731 1 f none /usr/local/include/libxslt/templates.h 0644 root root 2280 54121 1327633731 1 f none /usr/local/include/libxslt/transform.h 0644 root root 6328 30579 1327633731 1 f none /usr/local/include/libxslt/variables.h 0644 root root 2658 20544 1327633731 1 f none /usr/local/include/libxslt/xslt.h 0644 root root 1837 15082 1327633731 1 f none /usr/local/include/libxslt/xsltInternals.h 0644 root root 56906 48313 1327633731 1 f none /usr/local/include/libxslt/xsltconfig.h 0644 root root 3406 9677 1327633731 1 f none /usr/local/include/libxslt/xsltexports.h 0644 root root 3426 7440 1327633731 1 f none /usr/local/include/libxslt/xsltlocale.h 0644 root root 1205 37573 1327633731 1 f none /usr/local/include/libxslt/xsltutils.h 0644 root root 8257 34379 1327633731 1 d none /usr/local/lib 0755 root root 1 f none /usr/local/lib/libexslt.a 0644 root root 353452 39736 1327633732 1 f none /usr/local/lib/libexslt.la 0755 root root 1133 34761 1327633732 1 s none /usr/local/lib/libexslt.so=libexslt.so.0.8.15 1 s none /usr/local/lib/libexslt.so.0=libexslt.so.0.8.15 1 f none /usr/local/lib/libexslt.so.0.8.15 0755 root root 324840 46237 1327633732 1 d none /usr/local/lib/libxslt-plugins 0755 root root 1 f none /usr/local/lib/libxslt.a 0644 root root 998100 31013 1327633731 1 f none /usr/local/lib/libxslt.la 0755 root root 1041 26114 1327633731 1 s none /usr/local/lib/libxslt.so=libxslt.so.1.1.26 1 s none /usr/local/lib/libxslt.so.1=libxslt.so.1.1.26 1 f none /usr/local/lib/libxslt.so.1.1.26 0755 root root 895064 2769 1327633731 1 d none /usr/local/lib/pkgconfig 0755 root root 1 f none /usr/local/lib/pkgconfig/libexslt.pc 0644 root root 419 37357 1327633732 1 f none /usr/local/lib/pkgconfig/libxslt.pc 0644 root root 372 32957 1327633732 1 d none /usr/local/lib/python2.6 0755 root root 1 d none /usr/local/lib/python2.6/site-packages 0755 root root 1 f none /usr/local/lib/python2.6/site-packages/libxslt.py 0644 root root 48277 181 1327633732 1 f none /usr/local/lib/python2.6/site-packages/libxsltmod.a 0644 root root 270072 44302 1327633732 1 f none /usr/local/lib/python2.6/site-packages/libxsltmod.la 0755 root root 1187 40561 1327633732 1 f none /usr/local/lib/python2.6/site-packages/libxsltmod.so 0755 root root 263072 26868 1327633732 1 f none /usr/local/lib/xsltConf.sh 0644 root root 308 25575 1327633732 1 d none /usr/local/share 0755 root root 1 d none /usr/local/share/aclocal 0755 root root 1 f none /usr/local/share/aclocal/libxslt.m4 0644 root root 8119 56837 1327633732 1 d none /usr/local/share/doc 0755 root root 1 d none /usr/local/share/doc/libxslt-1.1.26 0755 root root 1 d none /usr/local/share/doc/libxslt-1.1.26/html 0755 root root 1 f none /usr/local/share/doc/libxslt-1.1.26/html/API.html 0644 root root 6763 57573 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk0.html 0644 root root 27733 15756 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk1.html 0644 root root 30846 39129 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk10.html 0644 root root 50136 18402 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk11.html 0644 root root 28355 24326 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk12.html 0644 root root 37613 31044 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk13.html 0644 root root 7571 55596 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk2.html 0644 root root 38713 11895 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk3.html 0644 root root 41122 30937 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk4.html 0644 root root 36837 8669 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk5.html 0644 root root 29874 32110 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk6.html 0644 root root 27668 20050 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk7.html 0644 root root 27742 17709 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk8.html 0644 root root 28670 52224 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk9.html 0644 root root 29917 37277 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIconstructors.html 0644 root root 14100 22924 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIfiles.html 0644 root root 58497 26840 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIfunctions.html 0644 root root 52995 8833 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIsymbols.html 0644 root root 57267 50378 1327633732 1 d none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT 0755 root root 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIchunk0.html 0644 root root 17054 48821 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIconstructors.html 0644 root root 5016 32253 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIfiles.html 0644 root root 7902 26561 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIfunctions.html 0644 root root 5909 50977 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIsymbols.html 0644 root root 7884 23744 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/bugs.html 0644 root root 9406 31975 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/docs.html 0644 root root 5567 14489 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/downloads.html 0644 root root 6989 10182 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/exslt.html 0644 root root 10136 37847 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/help.html 0644 root root 6002 53860 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/index.html 0644 root root 5451 4349 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/intro.html 0644 root root 5793 34709 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/FAQ.html 0644 root root 7547 52842 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/Libxslt-Logo-180x168.gif 0644 root root 8193 16747 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/Libxslt-Logo-90x34.gif 0644 root root 3035 10620 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/bugs.html 0644 root root 12390 35859 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/contexts.gif 0644 root root 10326 64352 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/contribs.html 0644 root root 7605 62115 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/docbook.html 0644 root root 9301 15923 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/docs.html 0644 root root 6244 9157 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/downloads.html 0644 root root 7621 328 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/extensions.html 0644 root root 22724 6893 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/help.html 0644 root root 6684 48537 1327633732 1 d none /usr/local/share/doc/libxslt-1.1.26/html/html 0755 root root 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/book1.html 0644 root root 6821 2288 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/home.png 0644 root root 654 8089 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/index.html 0644 root root 6821 2288 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/left.png 0644 root root 459 49669 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-attributes.html 0644 root root 9356 27757 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-documents.html 0644 root root 16447 3777 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-extensions.html 0644 root root 49618 21703 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-extra.html 0644 root root 10497 47441 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-functions.html 0644 root root 14030 42979 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-imports.html 0644 root root 12846 7680 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-keys.html 0644 root root 11261 48575 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-lib.html 0644 root root 6821 2288 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-namespaces.html 0644 root root 15621 48200 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-numbersInternals.html 0644 root root 7639 65315 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-pattern.html 0644 root root 16706 16487 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-preproc.html 0644 root root 8731 34095 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-security.html 0644 root root 20151 8227 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-templates.html 0644 root root 20895 586 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-transform.html 0644 root root 51275 65088 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-variables.html 0644 root root 21792 24687 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-xslt.html 0644 root root 7790 1864 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-xsltInternals.html 0644 root root 107968 9339 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-xsltexports.html 0644 root root 6735 40693 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-xsltlocale.html 0644 root root 10553 60450 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-xsltutils.html 0644 root root 49676 3803 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/right.png 0644 root root 472 50613 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/up.png 0644 root root 406 41501 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/index.html 0644 root root 6688 49817 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/internals.html 0644 root root 28379 39050 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/intro.html 0644 root root 6475 29386 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/news.html 0644 root root 44227 56443 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/node.gif 0644 root root 4928 6078 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/object.gif 0644 root root 4575 26171 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/processing.gif 0644 root root 9209 63494 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/python.html 0644 root root 15960 26833 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/redhat.gif 0644 root root 697 1392 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/smallfootonly.gif 0644 root root 2772 33479 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/stylesheet.gif 0644 root root 7050 32042 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/templates.gif 0644 root root 8995 25972 1327633732 1 d none /usr/local/share/doc/libxslt-1.1.26/html/tutorial 0755 root root 1 f none /usr/local/share/doc/libxslt-1.1.26/html/tutorial/libxslt_tutorial.c 0644 root root 2543 9418 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/tutorial/libxslttutorial.html 0644 root root 15424 51346 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/tutorial/libxslttutorial.xml 0644 root root 10746 10669 1327633732 1 d none /usr/local/share/doc/libxslt-1.1.26/html/tutorial2 0755 root root 1 f none /usr/local/share/doc/libxslt-1.1.26/html/tutorial2/libxslt_pipes.c 0644 root root 4340 3319 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/tutorial2/libxslt_pipes.html 0644 root root 35364 47670 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/tutorial2/libxslt_pipes.xml 0644 root root 28194 18937 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/xslt.html 0644 root root 112711 39164 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/xsltproc.html 0644 root root 9475 20716 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/xsltproc2.html 0644 root root 7082 14283 1327633732 1 d none /usr/local/share/doc/libxslt-python-1.1.26 0755 root root 1 f none /usr/local/share/doc/libxslt-python-1.1.26/TODO 0644 root root 0 0 1327633732 1 d none /usr/local/share/doc/libxslt-python-1.1.26/examples 0755 root root 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/basic.py 0644 root root 682 59403 1327633732 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/exslt.py 0644 root root 1385 49291 1327633732 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/extelem.py 0644 root root 2183 52747 1327633732 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/extfunc.py 0644 root root 1611 3965 1327633732 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/pyxsltproc.py 0644 root root 9078 62923 1327633732 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/test.xml 0644 root root 8 627 1327633732 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/test.xsl 0644 root root 208 17052 1327633732 1 d none /usr/local/share/man 0755 root root 1 d none /usr/local/share/man/man1 0755 root root 1 f none /usr/local/share/man/man1/xsltproc.1 0644 root root 8256 45040 1327633732 1 d none /usr/local/share/man/man3 0755 root root 1 f none /usr/local/share/man/man3/libexslt.3 0644 root root 6521 38259 1327633732 1 f none /usr/local/share/man/man3/libxslt.3 0644 root root 816 3632 1327633731 1 i checkinstall 790 2505 1327884076 1 i pkginfo 259 19747 1327883945 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!070701000623b3000081a40000000000000000000000014f25e6a900000103000000b600010002ffffffffffffffff0000000800000000pkginfoPKG=libxslt NAME=libxslt 1.1.26 i86pc Solaris 11 VERSION=1.1.26 PSTAMP=30th January 2012 VENDOR=Daniel Veillard EMAIL=http://xmlsoft.org/XSLT/index.html DESC=XSLT C library ARCH=i386 CATEGORY=utility CLASSES=none BASEDIR=/ ISTATES=S s 1 2 3 RSTATES=S s 1 2 3 070701000623b2000081a40000000000000000000000014f25e6a900003cfb000000b600010002ffffffffffffffff0000000700000000pkgmap: 1 10924 1 d none /usr ? ? ? 1 d none /usr/local ? ? ? 1 d none /usr/local/bin 0755 root root 1 f none /usr/local/bin/xslt-config 0755 root root 2486 64610 1327633732 1 f none /usr/local/bin/xsltproc 0755 root root 64552 56839 1327633732 1 d none /usr/local/include 0755 root root 1 d none /usr/local/include/libexslt 0755 root root 1 f none /usr/local/include/libexslt/exslt.h 0644 root root 3018 41418 1327633732 1 f none /usr/local/include/libexslt/exsltconfig.h 0644 root root 1218 28346 1327633732 1 f none /usr/local/include/libexslt/exsltexports.h 0644 root root 3383 2442 1327633732 1 d none /usr/local/include/libxslt 0755 root root 1 f none /usr/local/include/libxslt/attributes.h 0644 root root 936 13762 1327633731 1 f none /usr/local/include/libxslt/documents.h 0644 root root 2737 32566 1327633731 1 f none /usr/local/include/libxslt/extensions.h 0644 root root 6903 48788 1327633731 1 f none /usr/local/include/libxslt/extra.h 0644 root root 1840 16816 1327633731 1 f none /usr/local/include/libxslt/functions.h 0644 root root 2015 38684 1327633731 1 f none /usr/local/include/libxslt/imports.h 0644 root root 1855 15362 1327633731 1 f none /usr/local/include/libxslt/keys.h 0644 root root 1162 28045 1327633731 1 f none /usr/local/include/libxslt/namespaces.h 0644 root root 1673 4969 1327633731 1 f none /usr/local/include/libxslt/numbersInternals.h 0644 root root 1926 30616 1327633731 1 f none /usr/local/include/libxslt/pattern.h 0644 root root 1998 34892 1327633731 1 f none /usr/local/include/libxslt/preproc.h 0644 root root 897 9599 1327633731 1 f none /usr/local/include/libxslt/security.h 0644 root root 2677 22907 1327633731 1 f none /usr/local/include/libxslt/templates.h 0644 root root 2280 54121 1327633731 1 f none /usr/local/include/libxslt/transform.h 0644 root root 6328 30579 1327633731 1 f none /usr/local/include/libxslt/variables.h 0644 root root 2658 20544 1327633731 1 f none /usr/local/include/libxslt/xslt.h 0644 root root 1837 15082 1327633731 1 f none /usr/local/include/libxslt/xsltInternals.h 0644 root root 56906 48313 1327633731 1 f none /usr/local/include/libxslt/xsltconfig.h 0644 root root 3406 9677 1327633731 1 f none /usr/local/include/libxslt/xsltexports.h 0644 root root 3426 7440 1327633731 1 f none /usr/local/include/libxslt/xsltlocale.h 0644 root root 1205 37573 1327633731 1 f none /usr/local/include/libxslt/xsltutils.h 0644 root root 8257 34379 1327633731 1 d none /usr/local/lib 0755 root root 1 f none /usr/local/lib/libexslt.a 0644 root root 353452 39736 1327633732 1 f none /usr/local/lib/libexslt.la 0755 root root 1133 34761 1327633732 1 s none /usr/local/lib/libexslt.so=libexslt.so.0.8.15 1 s none /usr/local/lib/libexslt.so.0=libexslt.so.0.8.15 1 f none /usr/local/lib/libexslt.so.0.8.15 0755 root root 324840 46237 1327633732 1 d none /usr/local/lib/libxslt-plugins 0755 root root 1 f none /usr/local/lib/libxslt.a 0644 root root 998100 31013 1327633731 1 f none /usr/local/lib/libxslt.la 0755 root root 1041 26114 1327633731 1 s none /usr/local/lib/libxslt.so=libxslt.so.1.1.26 1 s none /usr/local/lib/libxslt.so.1=libxslt.so.1.1.26 1 f none /usr/local/lib/libxslt.so.1.1.26 0755 root root 895064 2769 1327633731 1 d none /usr/local/lib/pkgconfig 0755 root root 1 f none /usr/local/lib/pkgconfig/libexslt.pc 0644 root root 419 37357 1327633732 1 f none /usr/local/lib/pkgconfig/libxslt.pc 0644 root root 372 32957 1327633732 1 d none /usr/local/lib/python2.6 0755 root root 1 d none /usr/local/lib/python2.6/site-packages 0755 root root 1 f none /usr/local/lib/python2.6/site-packages/libxslt.py 0644 root root 48277 181 1327633732 1 f none /usr/local/lib/python2.6/site-packages/libxsltmod.a 0644 root root 270072 44302 1327633732 1 f none /usr/local/lib/python2.6/site-packages/libxsltmod.la 0755 root root 1187 40561 1327633732 1 f none /usr/local/lib/python2.6/site-packages/libxsltmod.so 0755 root root 263072 26868 1327633732 1 f none /usr/local/lib/xsltConf.sh 0644 root root 308 25575 1327633732 1 d none /usr/local/share 0755 root root 1 d none /usr/local/share/aclocal 0755 root root 1 f none /usr/local/share/aclocal/libxslt.m4 0644 root root 8119 56837 1327633732 1 d none /usr/local/share/doc 0755 root root 1 d none /usr/local/share/doc/libxslt-1.1.26 0755 root root 1 d none /usr/local/share/doc/libxslt-1.1.26/html 0755 root root 1 f none /usr/local/share/doc/libxslt-1.1.26/html/API.html 0644 root root 6763 57573 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk0.html 0644 root root 27733 15756 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk1.html 0644 root root 30846 39129 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk10.html 0644 root root 50136 18402 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk11.html 0644 root root 28355 24326 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk12.html 0644 root root 37613 31044 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk13.html 0644 root root 7571 55596 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk2.html 0644 root root 38713 11895 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk3.html 0644 root root 41122 30937 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk4.html 0644 root root 36837 8669 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk5.html 0644 root root 29874 32110 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk6.html 0644 root root 27668 20050 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk7.html 0644 root root 27742 17709 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk8.html 0644 root root 28670 52224 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIchunk9.html 0644 root root 29917 37277 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIconstructors.html 0644 root root 14100 22924 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIfiles.html 0644 root root 58497 26840 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIfunctions.html 0644 root root 52995 8833 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/APIsymbols.html 0644 root root 57267 50378 1327633732 1 d none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT 0755 root root 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIchunk0.html 0644 root root 17054 48821 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIconstructors.html 0644 root root 5016 32253 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIfiles.html 0644 root root 7902 26561 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIfunctions.html 0644 root root 5909 50977 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIsymbols.html 0644 root root 7884 23744 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/bugs.html 0644 root root 9406 31975 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/docs.html 0644 root root 5567 14489 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/downloads.html 0644 root root 6989 10182 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/exslt.html 0644 root root 10136 37847 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/help.html 0644 root root 6002 53860 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/index.html 0644 root root 5451 4349 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/EXSLT/intro.html 0644 root root 5793 34709 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/FAQ.html 0644 root root 7547 52842 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/Libxslt-Logo-180x168.gif 0644 root root 8193 16747 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/Libxslt-Logo-90x34.gif 0644 root root 3035 10620 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/bugs.html 0644 root root 12390 35859 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/contexts.gif 0644 root root 10326 64352 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/contribs.html 0644 root root 7605 62115 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/docbook.html 0644 root root 9301 15923 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/docs.html 0644 root root 6244 9157 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/downloads.html 0644 root root 7621 328 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/extensions.html 0644 root root 22724 6893 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/help.html 0644 root root 6684 48537 1327633732 1 d none /usr/local/share/doc/libxslt-1.1.26/html/html 0755 root root 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/book1.html 0644 root root 6821 2288 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/home.png 0644 root root 654 8089 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/index.html 0644 root root 6821 2288 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/left.png 0644 root root 459 49669 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-attributes.html 0644 root root 9356 27757 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-documents.html 0644 root root 16447 3777 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-extensions.html 0644 root root 49618 21703 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-extra.html 0644 root root 10497 47441 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-functions.html 0644 root root 14030 42979 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-imports.html 0644 root root 12846 7680 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-keys.html 0644 root root 11261 48575 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-lib.html 0644 root root 6821 2288 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-namespaces.html 0644 root root 15621 48200 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-numbersInternals.html 0644 root root 7639 65315 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-pattern.html 0644 root root 16706 16487 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-preproc.html 0644 root root 8731 34095 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-security.html 0644 root root 20151 8227 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-templates.html 0644 root root 20895 586 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-transform.html 0644 root root 51275 65088 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-variables.html 0644 root root 21792 24687 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-xslt.html 0644 root root 7790 1864 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-xsltInternals.html 0644 root root 107968 9339 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-xsltexports.html 0644 root root 6735 40693 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-xsltlocale.html 0644 root root 10553 60450 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-xsltutils.html 0644 root root 49676 3803 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/right.png 0644 root root 472 50613 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/html/up.png 0644 root root 406 41501 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/index.html 0644 root root 6688 49817 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/internals.html 0644 root root 28379 39050 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/intro.html 0644 root root 6475 29386 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/news.html 0644 root root 44227 56443 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/node.gif 0644 root root 4928 6078 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/object.gif 0644 root root 4575 26171 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/processing.gif 0644 root root 9209 63494 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/python.html 0644 root root 15960 26833 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/redhat.gif 0644 root root 697 1392 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/smallfootonly.gif 0644 root root 2772 33479 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/stylesheet.gif 0644 root root 7050 32042 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/templates.gif 0644 root root 8995 25972 1327633732 1 d none /usr/local/share/doc/libxslt-1.1.26/html/tutorial 0755 root root 1 f none /usr/local/share/doc/libxslt-1.1.26/html/tutorial/libxslt_tutorial.c 0644 root root 2543 9418 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/tutorial/libxslttutorial.html 0644 root root 15424 51346 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/tutorial/libxslttutorial.xml 0644 root root 10746 10669 1327633732 1 d none /usr/local/share/doc/libxslt-1.1.26/html/tutorial2 0755 root root 1 f none /usr/local/share/doc/libxslt-1.1.26/html/tutorial2/libxslt_pipes.c 0644 root root 4340 3319 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/tutorial2/libxslt_pipes.html 0644 root root 35364 47670 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/tutorial2/libxslt_pipes.xml 0644 root root 28194 18937 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/xslt.html 0644 root root 112711 39164 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/xsltproc.html 0644 root root 9475 20716 1327633732 1 f none /usr/local/share/doc/libxslt-1.1.26/html/xsltproc2.html 0644 root root 7082 14283 1327633732 1 d none /usr/local/share/doc/libxslt-python-1.1.26 0755 root root 1 f none /usr/local/share/doc/libxslt-python-1.1.26/TODO 0644 root root 0 0 1327633732 1 d none /usr/local/share/doc/libxslt-python-1.1.26/examples 0755 root root 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/basic.py 0644 root root 682 59403 1327633732 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/exslt.py 0644 root root 1385 49291 1327633732 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/extelem.py 0644 root root 2183 52747 1327633732 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/extfunc.py 0644 root root 1611 3965 1327633732 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/pyxsltproc.py 0644 root root 9078 62923 1327633732 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/test.xml 0644 root root 8 627 1327633732 1 f none /usr/local/share/doc/libxslt-python-1.1.26/examples/test.xsl 0644 root root 208 17052 1327633732 1 d none /usr/local/share/man 0755 root root 1 d none /usr/local/share/man/man1 0755 root root 1 f none /usr/local/share/man/man1/xsltproc.1 0644 root root 8256 45040 1327633732 1 d none /usr/local/share/man/man3 0755 root root 1 f none /usr/local/share/man/man3/libexslt.3 0644 root root 6521 38259 1327633732 1 f none /usr/local/share/man/man3/libxslt.3 0644 root root 816 3632 1327633731 1 i checkinstall 790 2505 1327884076 1 i pkginfo 259 19747 1327883945 0707010006245a000041ed0000000000000000000000024f25e6a900000000000000b600010002ffffffffffffffff0000000800000000install0707010006245b000081ed0000000000000000000000014f25e72c00000316000000b600010002ffffffffffffffff0000001500000000install/checkinstall#!/bin/sh # expected_bits="64" expected_release="5.11" expected_platform="i386" # release=`uname -r` platform=`uname -p` bits=`isainfo -b` # if [ ${platform} != ${expected_platform} ]; then echo "\n\n\n\tThis package must be installed on a ${expected_platform} architecture\n" echo "\tAborting installation.\n\n\n" exit 1 fi if [ ${release} != ${expected_release} ]; then echo "\n\n\n\tThis package must be installed on a ${expected_release} machine\n" echo "\tAborting installation.\n\n\n" exit 1 fi #if [ ${bits} != ${expected_bits} ]; then # echo "\n\n\n\tThis package must be installed on a ${expected_bits} bit machine\n" # echo "\tYour machine is running a ${bits} bit O.S. currently\n" # echo "\tAborting installation.\n\n\n" # exit 1 #fi exit 0 070701000623b4000041ed0000000000000000000000034f25e6a900000000000000b600010002ffffffffffffffff0000000500000000root070701000623b5000041ed0000000000000000000000034f25e6a900000000000000b600010002ffffffffffffffff0000000900000000root/usr070701000623b6000041ed0000000000000000000000064f25e6a900000000000000b600010002ffffffffffffffff0000000f00000000root/usr/local070701000623ba000041ed0000000000000000000000044f25e6a900000000000000b600010002ffffffffffffffff0000001700000000root/usr/local/include070701000623bf000041ed0000000000000000000000024f25e6a900000000000000b600010002ffffffffffffffff0000001f00000000root/usr/local/include/libxslt070701000623cc000081a40000000000000000000000014f221543000008e8000000b600010002ffffffffffffffff0000002b00000000root/usr/local/include/libxslt/templates.h/* * Summary: interface for the template processing * Description: This set of routine encapsulates XPath calls * and Attribute Value Templates evaluation. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_TEMPLATES_H__ #define __XML_XSLT_TEMPLATES_H__ #include #include #include "xsltexports.h" #include "xsltInternals.h" #ifdef __cplusplus extern "C" { #endif XSLTPUBFUN int XSLTCALL xsltEvalXPathPredicate (xsltTransformContextPtr ctxt, xmlXPathCompExprPtr comp, xmlNsPtr *nsList, int nsNr); XSLTPUBFUN xmlChar * XSLTCALL xsltEvalTemplateString (xsltTransformContextPtr ctxt, xmlNodePtr contextNode, xmlNodePtr inst); XSLTPUBFUN xmlChar * XSLTCALL xsltEvalAttrValueTemplate (xsltTransformContextPtr ctxt, xmlNodePtr node, const xmlChar *name, const xmlChar *ns); XSLTPUBFUN const xmlChar * XSLTCALL xsltEvalStaticAttrValueTemplate (xsltStylesheetPtr style, xmlNodePtr node, const xmlChar *name, const xmlChar *ns, int *found); /* TODO: this is obviously broken ... the namespaces should be passed too ! */ XSLTPUBFUN xmlChar * XSLTCALL xsltEvalXPathString (xsltTransformContextPtr ctxt, xmlXPathCompExprPtr comp); XSLTPUBFUN xmlChar * XSLTCALL xsltEvalXPathStringNs (xsltTransformContextPtr ctxt, xmlXPathCompExprPtr comp, int nsNr, xmlNsPtr *nsList); XSLTPUBFUN xmlNodePtr * XSLTCALL xsltTemplateProcess (xsltTransformContextPtr ctxt, xmlNodePtr node); XSLTPUBFUN xmlAttrPtr XSLTCALL xsltAttrListTemplateProcess (xsltTransformContextPtr ctxt, xmlNodePtr target, xmlAttrPtr cur); XSLTPUBFUN xmlAttrPtr XSLTCALL xsltAttrTemplateProcess (xsltTransformContextPtr ctxt, xmlNodePtr target, xmlAttrPtr attr); XSLTPUBFUN xmlChar * XSLTCALL xsltAttrTemplateValueProcess (xsltTransformContextPtr ctxt, const xmlChar* attr); XSLTPUBFUN xmlChar * XSLTCALL xsltAttrTemplateValueProcessNode(xsltTransformContextPtr ctxt, const xmlChar* str, xmlNodePtr node); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_TEMPLATES_H__ */ 070701000623cf000081a40000000000000000000000014f2215430000072d000000b600010002ffffffffffffffff0000002600000000root/usr/local/include/libxslt/xslt.h/* * Summary: Interfaces, constants and types related to the XSLT engine * Description: Interfaces, constants and types related to the XSLT engine * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_H__ #define __XML_XSLT_H__ #include #include "xsltexports.h" #ifdef __cplusplus extern "C" { #endif /** * XSLT_DEFAULT_VERSION: * * The default version of XSLT supported. */ #define XSLT_DEFAULT_VERSION "1.0" /** * XSLT_DEFAULT_VENDOR: * * The XSLT "vendor" string for this processor. */ #define XSLT_DEFAULT_VENDOR "libxslt" /** * XSLT_DEFAULT_URL: * * The XSLT "vendor" URL for this processor. */ #define XSLT_DEFAULT_URL "http://xmlsoft.org/XSLT/" /** * XSLT_NAMESPACE: * * The XSLT specification namespace. */ #define XSLT_NAMESPACE ((xmlChar *) "http://www.w3.org/1999/XSL/Transform") /** * XSLT_PARSE_OPTIONS: * * The set of options to pass to an xmlReadxxx when loading files for * XSLT consumption. */ #define XSLT_PARSE_OPTIONS \ XML_PARSE_NOENT | XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR | XML_PARSE_NOCDATA /** * xsltMaxDepth: * * This value is used to detect templates loops. */ XSLTPUBVAR int xsltMaxDepth; /** * xsltEngineVersion: * * The version string for libxslt. */ XSLTPUBVAR const char *xsltEngineVersion; /** * xsltLibxsltVersion: * * The version of libxslt compiled. */ XSLTPUBVAR const int xsltLibxsltVersion; /** * xsltLibxmlVersion: * * The version of libxml libxslt was compiled against. */ XSLTPUBVAR const int xsltLibxmlVersion; /* * Global initialization function. */ XSLTPUBFUN void XSLTCALL xsltInit (void); /* * Global cleanup function. */ XSLTPUBFUN void XSLTCALL xsltCleanupGlobals (void); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_H__ */ 070701000623c3000081a40000000000000000000000014f22154300000730000000b600010002ffffffffffffffff0000002700000000root/usr/local/include/libxslt/extra.h/* * Summary: interface for the non-standard features * Description: implement some extension outside the XSLT namespace * but not EXSLT with is in a different library. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_EXTRA_H__ #define __XML_XSLT_EXTRA_H__ #include #include "xsltexports.h" #include "xsltInternals.h" #ifdef __cplusplus extern "C" { #endif /** * XSLT_LIBXSLT_NAMESPACE: * * This is the libxslt namespace for specific extensions. */ #define XSLT_LIBXSLT_NAMESPACE ((xmlChar *) "http://xmlsoft.org/XSLT/namespace") /** * XSLT_SAXON_NAMESPACE: * * This is Michael Kay's Saxon processor namespace for extensions. */ #define XSLT_SAXON_NAMESPACE ((xmlChar *) "http://icl.com/saxon") /** * XSLT_XT_NAMESPACE: * * This is James Clark's XT processor namespace for extensions. */ #define XSLT_XT_NAMESPACE ((xmlChar *) "http://www.jclark.com/xt") /** * XSLT_XALAN_NAMESPACE: * * This is the Apache project XALAN processor namespace for extensions. */ #define XSLT_XALAN_NAMESPACE ((xmlChar *) \ "org.apache.xalan.xslt.extensions.Redirect") /** * XSLT_NORM_SAXON_NAMESPACE: * * This is Norm's namespace for SAXON extensions. */ #define XSLT_NORM_SAXON_NAMESPACE ((xmlChar *) \ "http://nwalsh.com/xslt/ext/com.nwalsh.saxon.CVS") XSLTPUBFUN void XSLTCALL xsltFunctionNodeSet (xmlXPathParserContextPtr ctxt, int nargs); XSLTPUBFUN void XSLTCALL xsltDebug (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltRegisterExtras (xsltTransformContextPtr ctxt); XSLTPUBFUN void XSLTCALL xsltRegisterAllExtras (void); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_EXTRA_H__ */ 070701000623cb000081a40000000000000000000000014f22154300000a75000000b600010002ffffffffffffffff0000002a00000000root/usr/local/include/libxslt/security.h/* * Summary: interface for the libxslt security framework * Description: the libxslt security framework allow to restrict * the access to new resources (file or URL) from * the stylesheet at runtime. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_SECURITY_H__ #define __XML_XSLT_SECURITY_H__ #include #include "xsltexports.h" #include "xsltInternals.h" #ifdef __cplusplus extern "C" { #endif /** * xsltSecurityPref: * * structure to indicate the preferences for security in the XSLT * transformation. */ typedef struct _xsltSecurityPrefs xsltSecurityPrefs; typedef xsltSecurityPrefs *xsltSecurityPrefsPtr; /** * xsltSecurityOption: * * the set of option that can be configured */ typedef enum { XSLT_SECPREF_READ_FILE = 1, XSLT_SECPREF_WRITE_FILE, XSLT_SECPREF_CREATE_DIRECTORY, XSLT_SECPREF_READ_NETWORK, XSLT_SECPREF_WRITE_NETWORK } xsltSecurityOption; /** * xsltSecurityCheck: * * User provided function to check the value of a string like a file * path or an URL ... */ typedef int (*xsltSecurityCheck) (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const char *value); /* * Module interfaces */ XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL xsltNewSecurityPrefs (void); XSLTPUBFUN void XSLTCALL xsltFreeSecurityPrefs (xsltSecurityPrefsPtr sec); XSLTPUBFUN int XSLTCALL xsltSetSecurityPrefs (xsltSecurityPrefsPtr sec, xsltSecurityOption option, xsltSecurityCheck func); XSLTPUBFUN xsltSecurityCheck XSLTCALL xsltGetSecurityPrefs (xsltSecurityPrefsPtr sec, xsltSecurityOption option); XSLTPUBFUN void XSLTCALL xsltSetDefaultSecurityPrefs (xsltSecurityPrefsPtr sec); XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL xsltGetDefaultSecurityPrefs (void); XSLTPUBFUN int XSLTCALL xsltSetCtxtSecurityPrefs (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt); XSLTPUBFUN int XSLTCALL xsltSecurityAllow (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const char *value); XSLTPUBFUN int XSLTCALL xsltSecurityForbid (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const char *value); /* * internal interfaces */ XSLTPUBFUN int XSLTCALL xsltCheckWrite (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const xmlChar *URL); XSLTPUBFUN int XSLTCALL xsltCheckRead (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const xmlChar *URL); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_SECURITY_H__ */ 070701000623cd000081a40000000000000000000000014f221543000018b8000000b600010002ffffffffffffffff0000002b00000000root/usr/local/include/libxslt/transform.h/* * Summary: the XSLT engine transformation part. * Description: This module implements the bulk of the actual * transformation processing. Most of the xsl: element * constructs are implemented in this module. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_TRANSFORM_H__ #define __XML_XSLT_TRANSFORM_H__ #include #include #include "xsltexports.h" #include #ifdef __cplusplus extern "C" { #endif /** * XInclude default processing. */ XSLTPUBFUN void XSLTCALL xsltSetXIncludeDefault (int xinclude); XSLTPUBFUN int XSLTCALL xsltGetXIncludeDefault (void); /** * Export context to users. */ XSLTPUBFUN xsltTransformContextPtr XSLTCALL xsltNewTransformContext (xsltStylesheetPtr style, xmlDocPtr doc); XSLTPUBFUN void XSLTCALL xsltFreeTransformContext(xsltTransformContextPtr ctxt); XSLTPUBFUN xmlDocPtr XSLTCALL xsltApplyStylesheetUser (xsltStylesheetPtr style, xmlDocPtr doc, const char **params, const char *output, FILE * profile, xsltTransformContextPtr userCtxt); XSLTPUBFUN void XSLTCALL xsltProcessOneNode (xsltTransformContextPtr ctxt, xmlNodePtr node, xsltStackElemPtr params); /** * Private Interfaces. */ XSLTPUBFUN void XSLTCALL xsltApplyStripSpaces (xsltTransformContextPtr ctxt, xmlNodePtr node); XSLTPUBFUN xmlDocPtr XSLTCALL xsltApplyStylesheet (xsltStylesheetPtr style, xmlDocPtr doc, const char **params); XSLTPUBFUN xmlDocPtr XSLTCALL xsltProfileStylesheet (xsltStylesheetPtr style, xmlDocPtr doc, const char **params, FILE * output); XSLTPUBFUN int XSLTCALL xsltRunStylesheet (xsltStylesheetPtr style, xmlDocPtr doc, const char **params, const char *output, xmlSAXHandlerPtr SAX, xmlOutputBufferPtr IObuf); XSLTPUBFUN int XSLTCALL xsltRunStylesheetUser (xsltStylesheetPtr style, xmlDocPtr doc, const char **params, const char *output, xmlSAXHandlerPtr SAX, xmlOutputBufferPtr IObuf, FILE * profile, xsltTransformContextPtr userCtxt); XSLTPUBFUN void XSLTCALL xsltApplyOneTemplate (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr list, xsltTemplatePtr templ, xsltStackElemPtr params); XSLTPUBFUN void XSLTCALL xsltDocumentElem (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltSort (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltCopy (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltText (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltElement (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltComment (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltAttribute (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltProcessingInstruction(xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltCopyOf (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltValueOf (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltNumber (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltApplyImports (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltCallTemplate (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltApplyTemplates (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltChoose (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltIf (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltForEach (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltStylePreCompPtr comp); XSLTPUBFUN void XSLTCALL xsltRegisterAllElement (xsltTransformContextPtr ctxt); XSLTPUBFUN xmlNodePtr XSLTCALL xsltCopyTextString (xsltTransformContextPtr ctxt, xmlNodePtr target, const xmlChar *string, int noescape); /* Following 2 functions needed for libexslt/functions.c */ XSLTPUBFUN void XSLTCALL xsltLocalVariablePop (xsltTransformContextPtr ctxt, int limitNr, int level); XSLTPUBFUN int XSLTCALL xsltLocalVariablePush (xsltTransformContextPtr ctxt, xsltStackElemPtr variable, int level); /* * Hook for the debugger if activated. */ XSLTPUBFUN void XSLTCALL xslHandleDebugger (xmlNodePtr cur, xmlNodePtr node, xsltTemplatePtr templ, xsltTransformContextPtr ctxt); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_TRANSFORM_H__ */ 070701000623c8000081a40000000000000000000000014f22154300000786000000b600010002ffffffffffffffff0000003200000000root/usr/local/include/libxslt/numbersInternals.h/* * Summary: Implementation of the XSLT number functions * Description: Implementation of the XSLT number functions * * Copy: See Copyright for the status of this software. * * Author: Bjorn Reese and Daniel Veillard */ #ifndef __XML_XSLT_NUMBERSINTERNALS_H__ #define __XML_XSLT_NUMBERSINTERNALS_H__ #include #include "xsltexports.h" #ifdef __cplusplus extern "C" { #endif /** * xsltNumberData: * * This data structure is just a wrapper to pass xsl:number data in. */ typedef struct _xsltNumberData xsltNumberData; typedef xsltNumberData *xsltNumberDataPtr; struct _xsltNumberData { const xmlChar *level; const xmlChar *count; const xmlChar *from; const xmlChar *value; const xmlChar *format; int has_format; int digitsPerGroup; int groupingCharacter; int groupingCharacterLen; xmlDocPtr doc; xmlNodePtr node; /* * accelerators */ }; /** * xsltFormatNumberInfo,: * * This data structure lists the various parameters needed to format numbers. */ typedef struct _xsltFormatNumberInfo xsltFormatNumberInfo; typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr; 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 */ }; #ifdef __cplusplus } #endif #endif /* __XML_XSLT_NUMBERSINTERNALS_H__ */ 070701000623c1000081a40000000000000000000000014f22154300000ab1000000b600010002ffffffffffffffff0000002b00000000root/usr/local/include/libxslt/documents.h/* * Summary: interface for the document handling * Description: implements document loading and cache (multiple * document() reference for the same resources must * be equal. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_DOCUMENTS_H__ #define __XML_XSLT_DOCUMENTS_H__ #include #include "xsltexports.h" #include "xsltInternals.h" #ifdef __cplusplus extern "C" { #endif XSLTPUBFUN xsltDocumentPtr XSLTCALL xsltNewDocument (xsltTransformContextPtr ctxt, xmlDocPtr doc); XSLTPUBFUN xsltDocumentPtr XSLTCALL xsltLoadDocument (xsltTransformContextPtr ctxt, const xmlChar *URI); XSLTPUBFUN xsltDocumentPtr XSLTCALL xsltFindDocument (xsltTransformContextPtr ctxt, xmlDocPtr doc); XSLTPUBFUN void XSLTCALL xsltFreeDocuments (xsltTransformContextPtr ctxt); XSLTPUBFUN xsltDocumentPtr XSLTCALL xsltLoadStyleDocument (xsltStylesheetPtr style, const xmlChar *URI); XSLTPUBFUN xsltDocumentPtr XSLTCALL xsltNewStyleDocument (xsltStylesheetPtr style, xmlDocPtr doc); XSLTPUBFUN void XSLTCALL xsltFreeStyleDocuments (xsltStylesheetPtr style); /* * Hooks for document loading */ /** * xsltLoadType: * * Enum defining the kind of loader requirement. */ typedef enum { XSLT_LOAD_START = 0, /* loading for a top stylesheet */ XSLT_LOAD_STYLESHEET = 1, /* loading for a stylesheet include/import */ XSLT_LOAD_DOCUMENT = 2 /* loading document at transformation time */ } xsltLoadType; /** * xsltDocLoaderFunc: * @URI: the URI of the document to load * @dict: the dictionary to use when parsing that document * @options: parsing options, a set of xmlParserOption * @ctxt: the context, either a stylesheet or a transformation context * @type: the xsltLoadType indicating the kind of loading required * * An xsltDocLoaderFunc is a signature for a function which can be * registered to load document not provided by the compilation or * transformation API themselve, for example when an xsl:import, * xsl:include is found at compilation time or when a document() * call is made at runtime. * * Returns the pointer to the document (which will be modified and * freed by the engine later), or NULL in case of error. */ typedef xmlDocPtr (*xsltDocLoaderFunc) (const xmlChar *URI, xmlDictPtr dict, int options, void *ctxt, xsltLoadType type); XSLTPUBFUN void XSLTCALL xsltSetLoaderFunc (xsltDocLoaderFunc f); /* the loader may be needed by extension libraries so it is exported */ XSLTPUBVAR xsltDocLoaderFunc xsltDocDefaultLoader; #ifdef __cplusplus } #endif #endif /* __XML_XSLT_DOCUMENTS_H__ */ 070701000623c0000081a40000000000000000000000014f221543000003a8000000b600010002ffffffffffffffff0000002c00000000root/usr/local/include/libxslt/attributes.h/* * Summary: interface for the XSLT attribute handling * Description: this module handles the specificities of attribute * and attribute groups processing. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_ATTRIBUTES_H__ #define __XML_XSLT_ATTRIBUTES_H__ #include #include "xsltexports.h" #ifdef __cplusplus extern "C" { #endif XSLTPUBFUN void XSLTCALL xsltParseStylesheetAttributeSet (xsltStylesheetPtr style, xmlNodePtr cur); XSLTPUBFUN void XSLTCALL xsltFreeAttributeSetsHashes (xsltStylesheetPtr style); XSLTPUBFUN void XSLTCALL xsltApplyAttributeSet (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, const xmlChar *attributes); XSLTPUBFUN void XSLTCALL xsltResolveStylesheetAttributeSet(xsltStylesheetPtr style); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_ATTRIBUTES_H__ */ 070701000623c6000081a40000000000000000000000014f2215430000048a000000b600010002ffffffffffffffff0000002600000000root/usr/local/include/libxslt/keys.h/* * Summary: interface for the key matching used in key() and template matches. * Description: implementation of the key mechanims. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_KEY_H__ #define __XML_XSLT_KEY_H__ #include #include "xsltexports.h" #include "xsltInternals.h" #ifdef __cplusplus extern "C" { #endif /** * NODE_IS_KEYED: * * check for bit 15 set */ #define NODE_IS_KEYED (1 >> 15) XSLTPUBFUN int XSLTCALL xsltAddKey (xsltStylesheetPtr style, const xmlChar *name, const xmlChar *nameURI, const xmlChar *match, const xmlChar *use, xmlNodePtr inst); XSLTPUBFUN xmlNodeSetPtr XSLTCALL xsltGetKey (xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *nameURI, const xmlChar *value); XSLTPUBFUN void XSLTCALL xsltInitCtxtKeys (xsltTransformContextPtr ctxt, xsltDocumentPtr doc); XSLTPUBFUN void XSLTCALL xsltFreeKeys (xsltStylesheetPtr style); XSLTPUBFUN void XSLTCALL xsltFreeDocumentKeys (xsltDocumentPtr doc); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_H__ */ 070701000623d0000081a40000000000000000000000014f2215430000de4a000000b600010002ffffffffffffffff0000002f00000000root/usr/local/include/libxslt/xsltInternals.h/* * Summary: internal data structures, constants and functions * Description: Internal data structures, constants and functions used * by the XSLT engine. * They are not part of the API or ABI, i.e. they can change * without prior notice, use carefully. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_INTERNALS_H__ #define __XML_XSLT_INTERNALS_H__ #include #include #include #include #include #include #include #include "xsltexports.h" #include "xsltlocale.h" #include "numbersInternals.h" #ifdef __cplusplus extern "C" { #endif /* #define XSLT_DEBUG_PROFILE_CACHE */ /** * XSLT_IS_TEXT_NODE: * * check if the argument is a text node */ #define XSLT_IS_TEXT_NODE(n) ((n != NULL) && \ (((n)->type == XML_TEXT_NODE) || \ ((n)->type == XML_CDATA_SECTION_NODE))) /** * XSLT_MARK_RES_TREE_FRAG: * * internal macro to set up tree fragments */ #define XSLT_MARK_RES_TREE_FRAG(n) \ (n)->name = (char *) xmlStrdup(BAD_CAST " fake node libxslt"); /** * XSLT_IS_RES_TREE_FRAG: * * internal macro to test tree fragments */ #define XSLT_IS_RES_TREE_FRAG(n) \ ((n != NULL) && ((n)->type == XML_DOCUMENT_NODE) && \ ((n)->name != NULL) && ((n)->name[0] == ' ')) /** * XSLT_REFACTORED_KEYCOMP: * * Internal define to enable on-demand xsl:key computation. * That's the only mode now but the define is kept for compatibility */ #define XSLT_REFACTORED_KEYCOMP /** * XSLT_FAST_IF: * * Internal define to enable usage of xmlXPathCompiledEvalToBoolean() * for XSLT "tests"; e.g. in */ #define XSLT_FAST_IF /** * XSLT_REFACTORED: * * Internal define to enable the refactored parts of Libxslt. */ /* #define XSLT_REFACTORED */ /* ==================================================================== */ /** * XSLT_REFACTORED_VARS: * * Internal define to enable the refactored variable part of libxslt */ #define XSLT_REFACTORED_VARS #ifdef XSLT_REFACTORED extern const xmlChar *xsltXSLTAttrMarker; /* TODO: REMOVE: #define XSLT_REFACTORED_EXCLRESNS */ /* TODO: REMOVE: #define XSLT_REFACTORED_NSALIAS */ /** * XSLT_REFACTORED_XSLT_NSCOMP * * Internal define to enable the pointer-comparison of * namespaces of XSLT elements. */ /* #define XSLT_REFACTORED_XSLT_NSCOMP */ /** * XSLT_REFACTORED_XPATHCOMP: * * Internal define to enable the optimization of the * compilation of XPath expressions. */ #define XSLT_REFACTORED_XPATHCOMP #ifdef XSLT_REFACTORED_XSLT_NSCOMP extern const xmlChar *xsltConstNamespaceNameXSLT; /** * IS_XSLT_ELEM_FAST: * * quick test to detect XSLT elements */ #define IS_XSLT_ELEM_FAST(n) \ (((n) != NULL) && ((n)->ns != NULL) && \ ((n)->ns->href == xsltConstNamespaceNameXSLT)) /** * IS_XSLT_ATTR_FAST: * * quick test to detect XSLT attributes */ #define IS_XSLT_ATTR_FAST(a) \ (((a) != NULL) && ((a)->ns != NULL) && \ ((a)->ns->href == xsltConstNamespaceNameXSLT)) /** * XSLT_HAS_INTERNAL_NSMAP: * * check for namespace mapping */ #define XSLT_HAS_INTERNAL_NSMAP(s) \ (((s) != NULL) && ((s)->principal) && \ ((s)->principal->principalData) && \ ((s)->principal->principalData->nsMap)) /** * XSLT_GET_INTERNAL_NSMAP: * * get pointer to namespace map */ #define XSLT_GET_INTERNAL_NSMAP(s) ((s)->principal->principalData->nsMap) #else /* XSLT_REFACTORED_XSLT_NSCOMP */ /** * IS_XSLT_ELEM_FAST: * * quick check whether this is an xslt element */ #define IS_XSLT_ELEM_FAST(n) \ (((n) != NULL) && ((n)->ns != NULL) && \ (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE))) /** * IS_XSLT_ATTR_FAST: * * quick check for xslt namespace attribute */ #define IS_XSLT_ATTR_FAST(a) \ (((a) != NULL) && ((a)->ns != NULL) && \ (xmlStrEqual((a)->ns->href, XSLT_NAMESPACE))) #endif /* XSLT_REFACTORED_XSLT_NSCOMP */ /** * XSLT_REFACTORED_MANDATORY_VERSION: * * TODO: Currently disabled to surpress regression test failures, since * the old behaviour was that a missing version attribute * produced a only a warning and not an error, which was incerrect. * So the regression tests need to be fixed if this is enabled. */ /* #define XSLT_REFACTORED_MANDATORY_VERSION */ /** * xsltPointerList: * * Pointer-list for various purposes. */ typedef struct _xsltPointerList xsltPointerList; typedef xsltPointerList *xsltPointerListPtr; struct _xsltPointerList { void **items; int number; int size; }; #endif /** * XSLT_REFACTORED_PARSING: * * Internal define to enable the refactored parts of Libxslt * related to parsing. */ /* #define XSLT_REFACTORED_PARSING */ /** * XSLT_MAX_SORT: * * Max number of specified xsl:sort on an element. */ #define XSLT_MAX_SORT 15 /** * XSLT_PAT_NO_PRIORITY: * * Specific value for pattern without priority expressed. */ #define XSLT_PAT_NO_PRIORITY -12345789 /** * xsltRuntimeExtra: * * Extra information added to the transformation context. */ typedef struct _xsltRuntimeExtra xsltRuntimeExtra; typedef xsltRuntimeExtra *xsltRuntimeExtraPtr; struct _xsltRuntimeExtra { void *info; /* pointer to the extra data */ xmlFreeFunc deallocate; /* pointer to the deallocation routine */ union { /* dual-purpose field */ void *ptr; /* data not needing deallocation */ int ival; /* integer value storage */ } val; }; /** * XSLT_RUNTIME_EXTRA_LST: * @ctxt: the transformation context * @nr: the index * * Macro used to access extra information stored in the context */ #define XSLT_RUNTIME_EXTRA_LST(ctxt, nr) (ctxt)->extras[(nr)].info /** * XSLT_RUNTIME_EXTRA_FREE: * @ctxt: the transformation context * @nr: the index * * Macro used to free extra information stored in the context */ #define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)->extras[(nr)].deallocate /** * XSLT_RUNTIME_EXTRA: * @ctxt: the transformation context * @nr: the index * * Macro used to define extra information stored in the context */ #define XSLT_RUNTIME_EXTRA(ctxt, nr, typ) (ctxt)->extras[(nr)].val.typ /** * xsltTemplate: * * The in-memory structure corresponding to an XSLT Template. */ typedef struct _xsltTemplate xsltTemplate; typedef xsltTemplate *xsltTemplatePtr; 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 */ const xmlChar *name; /* the local part of the name QName */ const xmlChar *nameURI; /* the URI part of the name QName */ const xmlChar *mode;/* the local part of the mode QName */ const xmlChar *modeURI;/* the URI part of the mode QName */ xmlNodePtr content; /* the template replacement value */ xmlNodePtr elem; /* the source element */ /* * TODO: @inheritedNsNr and @inheritedNs won't be used in the * refactored code. */ 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 */ void *params; /* xsl:param instructions */ }; /** * xsltDecimalFormat: * * Data structure of decimal-format. */ typedef struct _xsltDecimalFormat xsltDecimalFormat; typedef xsltDecimalFormat *xsltDecimalFormatPtr; 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; }; /** * xsltDocument: * * Data structure associated to a parsed document. */ typedef struct _xsltDocument xsltDocument; typedef xsltDocument *xsltDocumentPtr; 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 */ int preproc; /* pre-processing already done */ int nbKeysComputed; }; /** * xsltKeyDef: * * Representation of an xsl:key. */ typedef struct _xsltKeyDef xsltKeyDef; typedef xsltKeyDef *xsltKeyDefPtr; struct _xsltKeyDef { struct _xsltKeyDef *next; xmlNodePtr inst; xmlChar *name; xmlChar *nameURI; xmlChar *match; xmlChar *use; xmlXPathCompExprPtr comp; xmlXPathCompExprPtr usecomp; xmlNsPtr *nsList; /* the namespaces in scope */ int nsNr; /* the number of namespaces in scope */ }; /** * xsltKeyTable: * * Holds the computed keys for key definitions of the same QName. * Is owned by an xsltDocument. */ typedef struct _xsltKeyTable xsltKeyTable; typedef xsltKeyTable *xsltKeyTablePtr; struct _xsltKeyTable { struct _xsltKeyTable *next; xmlChar *name; xmlChar *nameURI; xmlHashTablePtr keys; }; /* * The in-memory structure corresponding to an XSLT Stylesheet. * NOTE: most of the content is simply linked from the doc tree * structure, no specific allocation is made. */ typedef struct _xsltStylesheet xsltStylesheet; typedef xsltStylesheet *xsltStylesheetPtr; typedef struct _xsltTransformContext xsltTransformContext; typedef xsltTransformContext *xsltTransformContextPtr; /** * xsltElemPreComp: * * The in-memory structure corresponding to element precomputed data, * designed to be extended by extension implementors. */ typedef struct _xsltElemPreComp xsltElemPreComp; typedef xsltElemPreComp *xsltElemPreCompPtr; /** * xsltTransformFunction: * @ctxt: the XSLT transformation context * @node: the input node * @inst: the stylesheet node * @comp: the compiled information from the stylesheet * * Signature of the function associated to elements part of the * stylesheet language like xsl:if or xsl:apply-templates. */ typedef void (*xsltTransformFunction) (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltElemPreCompPtr comp); /** * xsltSortFunc: * @ctxt: a transformation context * @sorts: the node-set to sort * @nbsorts: the number of sorts * * Signature of the function to use during sorting */ typedef void (*xsltSortFunc) (xsltTransformContextPtr ctxt, xmlNodePtr *sorts, int nbsorts); 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 #ifdef XSLT_REFACTORED , XSLT_FUNC_OTHERWISE, XSLT_FUNC_FALLBACK, XSLT_FUNC_MESSAGE, XSLT_FUNC_INCLUDE, XSLT_FUNC_ATTRSET, XSLT_FUNC_LITERAL_RESULT_ELEMENT, XSLT_FUNC_UNKOWN_FORWARDS_COMPAT #endif } xsltStyleType; /** * xsltElemPreCompDeallocator: * @comp: the #xsltElemPreComp to free up * * Deallocates an #xsltElemPreComp structure. */ typedef void (*xsltElemPreCompDeallocator) (xsltElemPreCompPtr comp); /** * xsltElemPreComp: * * The basic structure for compiled items of the AST of the XSLT processor. * This structure is also intended to be extended by extension implementors. * TODO: This is somehow not nice, since it has a "free" field, which * derived stylesheet-structs do not have. */ struct _xsltElemPreComp { xsltElemPreCompPtr next; /* next item in the global chained list hold by xsltStylesheet. */ xsltStyleType type; /* type of the element */ xsltTransformFunction func; /* handling function */ xmlNodePtr inst; /* the node in the stylesheet's tree corresponding to this item */ /* end of common part */ xsltElemPreCompDeallocator free; /* the deallocator */ }; /** * xsltStylePreComp: * * The abstract basic structure for items of the XSLT processor. * This includes: * 1) compiled forms of XSLT instructions (xsl:if, xsl:attribute, etc.) * 2) compiled forms of literal result elements * 3) compiled forms of extension elements */ typedef struct _xsltStylePreComp xsltStylePreComp; typedef xsltStylePreComp *xsltStylePreCompPtr; #ifdef XSLT_REFACTORED /* * Some pointer-list utility functions. */ XSLTPUBFUN xsltPointerListPtr XSLTCALL xsltPointerListCreate (int initialSize); XSLTPUBFUN void XSLTCALL xsltPointerListFree (xsltPointerListPtr list); XSLTPUBFUN void XSLTCALL xsltPointerListClear (xsltPointerListPtr list); XSLTPUBFUN int XSLTCALL xsltPointerListAddSize (xsltPointerListPtr list, void *item, int initialSize); /************************************************************************ * * * Refactored structures * * * ************************************************************************/ typedef struct _xsltNsListContainer xsltNsListContainer; typedef xsltNsListContainer *xsltNsListContainerPtr; struct _xsltNsListContainer { xmlNsPtr *list; int totalNumber; int xpathNumber; }; /** * XSLT_ITEM_COMPATIBILITY_FIELDS: * * Fields for API compatibility to the structure * _xsltElemPreComp which is used for extension functions. * Note that @next is used for storage; it does not reflect a next * sibling in the tree. * TODO: Evaluate if we really need such a compatibility. */ #define XSLT_ITEM_COMPATIBILITY_FIELDS \ xsltElemPreCompPtr next;\ xsltStyleType type;\ xsltTransformFunction func;\ xmlNodePtr inst; /** * XSLT_ITEM_NAVIGATION_FIELDS: * * Currently empty. * TODO: It is intended to hold navigational fields in the future. */ #define XSLT_ITEM_NAVIGATION_FIELDS /* xsltStylePreCompPtr parent;\ xsltStylePreCompPtr children;\ xsltStylePreCompPtr nextItem; */ /** * XSLT_ITEM_NSINSCOPE_FIELDS: * * The in-scope namespaces. */ #define XSLT_ITEM_NSINSCOPE_FIELDS xsltNsListContainerPtr inScopeNs; /** * XSLT_ITEM_COMMON_FIELDS: * * Common fields used for all items. */ #define XSLT_ITEM_COMMON_FIELDS \ XSLT_ITEM_COMPATIBILITY_FIELDS \ XSLT_ITEM_NAVIGATION_FIELDS \ XSLT_ITEM_NSINSCOPE_FIELDS /** * _xsltStylePreComp: * * The abstract basic structure for items of the XSLT processor. * This includes: * 1) compiled forms of XSLT instructions (e.g. xsl:if, xsl:attribute, etc.) * 2) compiled forms of literal result elements * 3) various properties for XSLT instructions (e.g. xsl:when, * xsl:with-param) * * REVISIT TODO: Keep this structure equal to the fields * defined by XSLT_ITEM_COMMON_FIELDS */ struct _xsltStylePreComp { xsltElemPreCompPtr next; /* next item in the global chained list hold by xsltStylesheet */ xsltStyleType type; /* type of the item */ xsltTransformFunction func; /* handling function */ xmlNodePtr inst; /* the node in the stylesheet's tree corresponding to this item. */ /* Currently no navigational fields. */ xsltNsListContainerPtr inScopeNs; }; /** * xsltStyleBasicEmptyItem: * * Abstract structure only used as a short-cut for * XSLT items with no extra fields. * NOTE that it is intended that this structure looks the same as * _xsltStylePreComp. */ typedef struct _xsltStyleBasicEmptyItem xsltStyleBasicEmptyItem; typedef xsltStyleBasicEmptyItem *xsltStyleBasicEmptyItemPtr; struct _xsltStyleBasicEmptyItem { XSLT_ITEM_COMMON_FIELDS }; /** * xsltStyleBasicExpressionItem: * * Abstract structure only used as a short-cut for * XSLT items with just an expression. */ typedef struct _xsltStyleBasicExpressionItem xsltStyleBasicExpressionItem; typedef xsltStyleBasicExpressionItem *xsltStyleBasicExpressionItemPtr; struct _xsltStyleBasicExpressionItem { XSLT_ITEM_COMMON_FIELDS const xmlChar *select; /* TODO: Change this to "expression". */ xmlXPathCompExprPtr comp; /* TODO: Change this to compExpr. */ }; /************************************************************************ * * * XSLT-instructions/declarations * * * ************************************************************************/ /** * xsltStyleItemElement: * * * * * */ typedef struct _xsltStyleItemElement xsltStyleItemElement; typedef xsltStyleItemElement *xsltStyleItemElementPtr; struct _xsltStyleItemElement { XSLT_ITEM_COMMON_FIELDS const xmlChar *use; int has_use; const xmlChar *name; int has_name; const xmlChar *ns; const xmlChar *nsPrefix; int has_ns; }; /** * xsltStyleItemAttribute: * * * * * */ typedef struct _xsltStyleItemAttribute xsltStyleItemAttribute; typedef xsltStyleItemAttribute *xsltStyleItemAttributePtr; struct _xsltStyleItemAttribute { XSLT_ITEM_COMMON_FIELDS const xmlChar *name; int has_name; const xmlChar *ns; const xmlChar *nsPrefix; int has_ns; }; /** * xsltStyleItemText: * * * * * */ typedef struct _xsltStyleItemText xsltStyleItemText; typedef xsltStyleItemText *xsltStyleItemTextPtr; struct _xsltStyleItemText { XSLT_ITEM_COMMON_FIELDS int noescape; /* text */ }; /** * xsltStyleItemComment: * * * * * */ typedef xsltStyleBasicEmptyItem xsltStyleItemComment; typedef xsltStyleItemComment *xsltStyleItemCommentPtr; /** * xsltStyleItemPI: * * * * * */ typedef struct _xsltStyleItemPI xsltStyleItemPI; typedef xsltStyleItemPI *xsltStyleItemPIPtr; struct _xsltStyleItemPI { XSLT_ITEM_COMMON_FIELDS const xmlChar *name; int has_name; }; /** * xsltStyleItemApplyImports: * * * */ typedef xsltStyleBasicEmptyItem xsltStyleItemApplyImports; typedef xsltStyleItemApplyImports *xsltStyleItemApplyImportsPtr; /** * xsltStyleItemApplyTemplates: * * * * * */ typedef struct _xsltStyleItemApplyTemplates xsltStyleItemApplyTemplates; typedef xsltStyleItemApplyTemplates *xsltStyleItemApplyTemplatesPtr; struct _xsltStyleItemApplyTemplates { XSLT_ITEM_COMMON_FIELDS const xmlChar *mode; /* apply-templates */ const xmlChar *modeURI; /* apply-templates */ const xmlChar *select; /* sort, copy-of, value-of, apply-templates */ xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ /* TODO: with-params */ }; /** * xsltStyleItemCallTemplate: * * * * * */ typedef struct _xsltStyleItemCallTemplate xsltStyleItemCallTemplate; typedef xsltStyleItemCallTemplate *xsltStyleItemCallTemplatePtr; struct _xsltStyleItemCallTemplate { XSLT_ITEM_COMMON_FIELDS xsltTemplatePtr templ; /* call-template */ const xmlChar *name; /* element, attribute, pi */ int has_name; /* element, attribute, pi */ const xmlChar *ns; /* element */ int has_ns; /* element */ /* TODO: with-params */ }; /** * xsltStyleItemCopy: * * * * * */ typedef struct _xsltStyleItemCopy xsltStyleItemCopy; typedef xsltStyleItemCopy *xsltStyleItemCopyPtr; struct _xsltStyleItemCopy { XSLT_ITEM_COMMON_FIELDS const xmlChar *use; /* copy, element */ int has_use; /* copy, element */ }; /** * xsltStyleItemIf: * * * * * */ typedef struct _xsltStyleItemIf xsltStyleItemIf; typedef xsltStyleItemIf *xsltStyleItemIfPtr; struct _xsltStyleItemIf { XSLT_ITEM_COMMON_FIELDS const xmlChar *test; /* if */ xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ }; /** * xsltStyleItemCopyOf: * * * */ typedef xsltStyleBasicExpressionItem xsltStyleItemCopyOf; typedef xsltStyleItemCopyOf *xsltStyleItemCopyOfPtr; /** * xsltStyleItemValueOf: * * * */ typedef struct _xsltStyleItemValueOf xsltStyleItemValueOf; typedef xsltStyleItemValueOf *xsltStyleItemValueOfPtr; struct _xsltStyleItemValueOf { XSLT_ITEM_COMMON_FIELDS const xmlChar *select; xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ int noescape; }; /** * xsltStyleItemNumber: * * * */ typedef struct _xsltStyleItemNumber xsltStyleItemNumber; typedef xsltStyleItemNumber *xsltStyleItemNumberPtr; struct _xsltStyleItemNumber { XSLT_ITEM_COMMON_FIELDS xsltNumberData numdata; /* number */ }; /** * xsltStyleItemChoose: * * * * * */ typedef xsltStyleBasicEmptyItem xsltStyleItemChoose; typedef xsltStyleItemChoose *xsltStyleItemChoosePtr; /** * xsltStyleItemFallback: * * * * * */ typedef xsltStyleBasicEmptyItem xsltStyleItemFallback; typedef xsltStyleItemFallback *xsltStyleItemFallbackPtr; /** * xsltStyleItemForEach: * * * * * */ typedef xsltStyleBasicExpressionItem xsltStyleItemForEach; typedef xsltStyleItemForEach *xsltStyleItemForEachPtr; /** * xsltStyleItemMessage: * * * * * */ typedef struct _xsltStyleItemMessage xsltStyleItemMessage; typedef xsltStyleItemMessage *xsltStyleItemMessagePtr; struct _xsltStyleItemMessage { XSLT_ITEM_COMMON_FIELDS int terminate; }; /** * xsltStyleItemDocument: * * NOTE: This is not an instruction of XSLT 1.0. */ typedef struct _xsltStyleItemDocument xsltStyleItemDocument; typedef xsltStyleItemDocument *xsltStyleItemDocumentPtr; struct _xsltStyleItemDocument { XSLT_ITEM_COMMON_FIELDS int ver11; /* assigned: in xsltDocumentComp; read: nowhere; TODO: Check if we need. */ const xmlChar *filename; /* document URL */ int has_filename; }; /************************************************************************ * * * Non-instructions (actually properties of instructions/declarations) * * * ************************************************************************/ /** * xsltStyleBasicItemVariable: * * Basic struct for xsl:variable, xsl:param and xsl:with-param. * It's currently important to have equal fields, since * xsltParseStylesheetCallerParam() is used with xsl:with-param from * the xslt side and with xsl:param from the exslt side (in * exsltFuncFunctionFunction()). * * FUTURE NOTE: In XSLT 2.0 xsl:param, xsl:variable and xsl:with-param * have additional different fields. */ typedef struct _xsltStyleBasicItemVariable xsltStyleBasicItemVariable; typedef xsltStyleBasicItemVariable *xsltStyleBasicItemVariablePtr; struct _xsltStyleBasicItemVariable { XSLT_ITEM_COMMON_FIELDS const xmlChar *select; xmlXPathCompExprPtr comp; const xmlChar *name; int has_name; const xmlChar *ns; int has_ns; }; /** * xsltStyleItemVariable: * * * * * */ typedef xsltStyleBasicItemVariable xsltStyleItemVariable; typedef xsltStyleItemVariable *xsltStyleItemVariablePtr; /** * xsltStyleItemParam: * * * * * */ typedef struct _xsltStyleItemParam xsltStyleItemParam; typedef xsltStyleItemParam *xsltStyleItemParamPtr; struct _xsltStyleItemParam { XSLT_ITEM_COMMON_FIELDS const xmlChar *select; xmlXPathCompExprPtr comp; const xmlChar *name; int has_name; const xmlChar *ns; int has_ns; }; /** * xsltStyleItemWithParam: * * * * */ typedef xsltStyleBasicItemVariable xsltStyleItemWithParam; typedef xsltStyleItemWithParam *xsltStyleItemWithParamPtr; /** * xsltStyleItemSort: * * Reflects the XSLT xsl:sort item. * Allowed parents: xsl:apply-templates, xsl:for-each * */ typedef struct _xsltStyleItemSort xsltStyleItemSort; typedef xsltStyleItemSort *xsltStyleItemSortPtr; struct _xsltStyleItemSort { XSLT_ITEM_COMMON_FIELDS const xmlChar *stype; /* sort */ int has_stype; /* sort */ int number; /* sort */ const xmlChar *order; /* sort */ int has_order; /* sort */ int descending; /* sort */ const xmlChar *lang; /* sort */ int has_lang; /* sort */ xsltLocale locale; /* sort */ const xmlChar *case_order; /* sort */ int lower_first; /* sort */ const xmlChar *use; int has_use; const xmlChar *select; /* sort, copy-of, value-of, apply-templates */ xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ }; /** * xsltStyleItemWhen: * * * * * Allowed parent: xsl:choose */ typedef struct _xsltStyleItemWhen xsltStyleItemWhen; typedef xsltStyleItemWhen *xsltStyleItemWhenPtr; struct _xsltStyleItemWhen { XSLT_ITEM_COMMON_FIELDS const xmlChar *test; xmlXPathCompExprPtr comp; }; /** * xsltStyleItemOtherwise: * * Allowed parent: xsl:choose * * * */ typedef struct _xsltStyleItemOtherwise xsltStyleItemOtherwise; typedef xsltStyleItemOtherwise *xsltStyleItemOtherwisePtr; struct _xsltStyleItemOtherwise { XSLT_ITEM_COMMON_FIELDS }; typedef struct _xsltStyleItemInclude xsltStyleItemInclude; typedef xsltStyleItemInclude *xsltStyleItemIncludePtr; struct _xsltStyleItemInclude { XSLT_ITEM_COMMON_FIELDS xsltDocumentPtr include; }; /************************************************************************ * * * XSLT elements in forwards-compatible mode * * * ************************************************************************/ typedef struct _xsltStyleItemUknown xsltStyleItemUknown; typedef xsltStyleItemUknown *xsltStyleItemUknownPtr; struct _xsltStyleItemUknown { XSLT_ITEM_COMMON_FIELDS }; /************************************************************************ * * * Extension elements * * * ************************************************************************/ /* * xsltStyleItemExtElement: * * Reflects extension elements. * * NOTE: Due to the fact that the structure xsltElemPreComp is most * probably already heavily in use out there by users, so we cannot * easily change it, we'll create an intermediate structure which will * hold an xsltElemPreCompPtr. * BIG NOTE: The only problem I see here is that the user processes the * content of the stylesheet tree, possibly he'll lookup the node->psvi * fields in order to find subsequent extension functions. * In this case, the user's code will break, since the node->psvi * field will hold now the xsltStyleItemExtElementPtr and not * the xsltElemPreCompPtr. * However the place where the structure is anchored in the node-tree, * namely node->psvi, has beed already once been moved from node->_private * to node->psvi, so we have a precedent here, which, I think, should allow * us to change such semantics without headaches. */ typedef struct _xsltStyleItemExtElement xsltStyleItemExtElement; typedef xsltStyleItemExtElement *xsltStyleItemExtElementPtr; struct _xsltStyleItemExtElement { XSLT_ITEM_COMMON_FIELDS xsltElemPreCompPtr item; }; /************************************************************************ * * * Literal result elements * * * ************************************************************************/ typedef struct _xsltEffectiveNs xsltEffectiveNs; typedef xsltEffectiveNs *xsltEffectiveNsPtr; struct _xsltEffectiveNs { xsltEffectiveNsPtr nextInStore; /* storage next */ xsltEffectiveNsPtr next; /* next item in the list */ const xmlChar *prefix; const xmlChar *nsName; /* * Indicates if eclared on the literal result element; dunno if really * needed. */ int holdByElem; }; /* * Info for literal result elements. * This will be set on the elem->psvi field and will be * shared by literal result elements, which have the same * excluded result namespaces; i.e., this *won't* be created uniquely * for every literal result element. */ typedef struct _xsltStyleItemLRElementInfo xsltStyleItemLRElementInfo; typedef xsltStyleItemLRElementInfo *xsltStyleItemLRElementInfoPtr; struct _xsltStyleItemLRElementInfo { XSLT_ITEM_COMMON_FIELDS /* * @effectiveNs is the set of effective ns-nodes * on the literal result element, which will be added to the result * element if not already existing in the result tree. * This means that excluded namespaces (via exclude-result-prefixes, * extension-element-prefixes and the XSLT namespace) not added * to the set. * Namespace-aliasing was applied on the @effectiveNs. */ xsltEffectiveNsPtr effectiveNs; }; #ifdef XSLT_REFACTORED typedef struct _xsltNsAlias xsltNsAlias; typedef xsltNsAlias *xsltNsAliasPtr; struct _xsltNsAlias { xsltNsAliasPtr next; /* next in the list */ xmlNsPtr literalNs; xmlNsPtr targetNs; xmlDocPtr docOfTargetNs; }; #endif #ifdef XSLT_REFACTORED_XSLT_NSCOMP typedef struct _xsltNsMap xsltNsMap; typedef xsltNsMap *xsltNsMapPtr; struct _xsltNsMap { xsltNsMapPtr next; /* next in the list */ xmlDocPtr doc; xmlNodePtr elem; /* the element holding the ns-decl */ xmlNsPtr ns; /* the xmlNs structure holding the XML namespace name */ const xmlChar *origNsName; /* the original XML namespace name */ const xmlChar *newNsName; /* the mapped XML namespace name */ }; #endif /************************************************************************ * * * Compile-time structures for *internal* use only * * * ************************************************************************/ typedef struct _xsltPrincipalStylesheetData xsltPrincipalStylesheetData; typedef xsltPrincipalStylesheetData *xsltPrincipalStylesheetDataPtr; typedef struct _xsltNsList xsltNsList; typedef xsltNsList *xsltNsListPtr; struct _xsltNsList { xsltNsListPtr next; /* next in the list */ xmlNsPtr ns; }; /* * xsltVarInfo: * * Used at compilation time for parameters and variables. */ typedef struct _xsltVarInfo xsltVarInfo; typedef xsltVarInfo *xsltVarInfoPtr; struct _xsltVarInfo { xsltVarInfoPtr next; /* next in the list */ xsltVarInfoPtr prev; int depth; /* the depth in the tree */ const xmlChar *name; const xmlChar *nsName; }; /** * xsltCompilerNodeInfo: * * Per-node information during compile-time. */ typedef struct _xsltCompilerNodeInfo xsltCompilerNodeInfo; typedef xsltCompilerNodeInfo *xsltCompilerNodeInfoPtr; struct _xsltCompilerNodeInfo { xsltCompilerNodeInfoPtr next; xsltCompilerNodeInfoPtr prev; xmlNodePtr node; int depth; xsltTemplatePtr templ; /* The owning template */ int category; /* XSLT element, LR-element or extension element */ xsltStyleType type; xsltElemPreCompPtr item; /* The compiled information */ /* The current in-scope namespaces */ xsltNsListContainerPtr inScopeNs; /* The current excluded result namespaces */ xsltPointerListPtr exclResultNs; /* The current extension instruction namespaces */ xsltPointerListPtr extElemNs; /* The current info for literal result elements. */ xsltStyleItemLRElementInfoPtr litResElemInfo; /* * Set to 1 if in-scope namespaces changed, * or excluded result namespaces changed, * or extension element namespaces changed. * This will trigger creation of new infos * for literal result elements. */ int nsChanged; int preserveWhitespace; int stripWhitespace; int isRoot; /* whether this is the stylesheet's root node */ int forwardsCompat; /* whether forwards-compatible mode is enabled */ /* whether the content of an extension element was processed */ int extContentHandled; /* the type of the current child */ xsltStyleType curChildType; }; /** * XSLT_CCTXT: * * get pointer to compiler context */ #define XSLT_CCTXT(style) ((xsltCompilerCtxtPtr) style->compCtxt) typedef enum { XSLT_ERROR_SEVERITY_ERROR = 0, XSLT_ERROR_SEVERITY_WARNING } xsltErrorSeverityType; typedef struct _xsltCompilerCtxt xsltCompilerCtxt; typedef xsltCompilerCtxt *xsltCompilerCtxtPtr; struct _xsltCompilerCtxt { void *errorCtxt; /* user specific error context */ /* * used for error/warning reports; e.g. XSLT_ERROR_SEVERITY_WARNING */ xsltErrorSeverityType errSeverity; int warnings; /* TODO: number of warnings found at compilation */ int errors; /* TODO: number of errors found at compilation */ xmlDictPtr dict; xsltStylesheetPtr style; int simplified; /* whether this is a simplified stylesheet */ /* TODO: structured/unstructured error contexts. */ int depth; /* Current depth of processing */ xsltCompilerNodeInfoPtr inode; xsltCompilerNodeInfoPtr inodeList; xsltCompilerNodeInfoPtr inodeLast; xsltPointerListPtr tmpList; /* Used for various purposes */ /* * The XSLT version as specified by the stylesheet's root element. */ int isInclude; int hasForwardsCompat; /* whether forwards-compatible mode was used in a parsing episode */ int maxNodeInfos; /* TEMP TODO: just for the interest */ int maxLREs; /* TEMP TODO: just for the interest */ /* * In order to keep the old behaviour, applying strict rules of * the spec can be turned off. This has effect only on special * mechanisms like whitespace-stripping in the stylesheet. */ int strict; xsltPrincipalStylesheetDataPtr psData; #ifdef XSLT_REFACTORED_XPATHCOMP xmlXPathContextPtr xpathCtxt; #endif xsltStyleItemUknownPtr unknownItem; int hasNsAliases; /* Indicator if there was an xsl:namespace-alias. */ xsltNsAliasPtr nsAliases; xsltVarInfoPtr ivars; /* Storage of local in-scope variables/params. */ xsltVarInfoPtr ivar; /* topmost local variable/param. */ }; #else /* XSLT_REFACTORED */ /* * The old structures before refactoring. */ /** * _xsltStylePreComp: * * The in-memory structure corresponding to XSLT stylesheet constructs * precomputed data. */ struct _xsltStylePreComp { xsltElemPreCompPtr next; /* chained list */ xsltStyleType type; /* type of the element */ xsltTransformFunction func; /* handling function */ xmlNodePtr inst; /* the instruction */ /* * Pre computed values. */ const xmlChar *stype; /* sort */ int has_stype; /* sort */ int number; /* sort */ const xmlChar *order; /* sort */ int has_order; /* sort */ int descending; /* sort */ const xmlChar *lang; /* sort */ int has_lang; /* sort */ xsltLocale locale; /* sort */ const xmlChar *case_order; /* sort */ int lower_first; /* sort */ const xmlChar *use; /* copy, element */ int has_use; /* copy, element */ int noescape; /* text */ const xmlChar *name; /* element, attribute, pi */ int has_name; /* element, attribute, pi */ const xmlChar *ns; /* element */ int has_ns; /* element */ const xmlChar *mode; /* apply-templates */ const xmlChar *modeURI; /* apply-templates */ const xmlChar *test; /* if */ xsltTemplatePtr templ; /* call-template */ const xmlChar *select; /* sort, copy-of, value-of, apply-templates */ int ver11; /* document */ const 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 */ }; #endif /* XSLT_REFACTORED */ /* * The in-memory structure corresponding to an XSLT Variable * or Param. */ typedef struct _xsltStackElem xsltStackElem; typedef xsltStackElem *xsltStackElemPtr; struct _xsltStackElem { struct _xsltStackElem *next;/* chained list */ xsltStylePreCompPtr comp; /* the compiled form */ int computed; /* was the evaluation done */ const xmlChar *name; /* the local part of the name QName */ const xmlChar *nameURI; /* the URI part of the name QName */ const xmlChar *select; /* the eval string */ xmlNodePtr tree; /* the sequence constructor if no eval string or the location */ xmlXPathObjectPtr value; /* The value if computed */ xmlDocPtr fragment; /* The Result Tree Fragments (needed for XSLT 1.0) which are bound to the variable's lifetime. */ int level; /* the depth in the tree; -1 if persistent (e.g. a given xsl:with-param) */ xsltTransformContextPtr context; /* The transformation context; needed to cache the variables */ int flags; }; #ifdef XSLT_REFACTORED struct _xsltPrincipalStylesheetData { /* * Namespace dictionary for ns-prefixes and ns-names: * TODO: Shared between stylesheets, and XPath mechanisms. * Not used yet. */ xmlDictPtr namespaceDict; /* * Global list of in-scope namespaces. */ xsltPointerListPtr inScopeNamespaces; /* * Global list of information for [xsl:]excluded-result-prefixes. */ xsltPointerListPtr exclResultNamespaces; /* * Global list of information for [xsl:]extension-element-prefixes. */ xsltPointerListPtr extElemNamespaces; xsltEffectiveNsPtr effectiveNs; #ifdef XSLT_REFACTORED_XSLT_NSCOMP /* * Namespace name map to get rid of string comparison of namespace names. */ xsltNsMapPtr nsMap; #endif }; #endif /* * Note that we added a @compCtxt field to anchor an stylesheet compilation * context, since, due to historical reasons, various compile-time function * take only the stylesheet as argument and not a compilation context. */ 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. * NOTE: Not used in the refactored code. */ xmlHashTablePtr nsAliases; /* the namespace alias hash tables */ /* * Attribute sets. */ xmlHashTablePtr attributeSets;/* the attribute sets hash tables */ /* * Namespaces. * TODO: Eliminate this. */ xmlHashTablePtr nsHash; /* the set of namespaces in use: ATTENTION: This is used for execution of XPath expressions; unfortunately it restricts the stylesheet to have distinct prefixes. TODO: We need to get rid of this. */ void *nsDefs; /* ATTENTION TODO: This is currently used to store xsltExtDefPtr (in extensions.c) and *not* xmlNsPtr. */ /* * 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 */ /* * dictionary: shared between stylesheet, context and documents. */ xmlDictPtr dict; /* * precompiled attribute value templates. */ void *attVTs; /* * if namespace-alias has an alias for the default stylesheet prefix * NOTE: Not used in the refactored code. */ const xmlChar *defaultAlias; /* * bypass pre-processing (already done) (used in imports) */ int nopreproc; /* * all document text strings were internalized */ int internalized; /* * Literal Result Element as Stylesheet c.f. section 2.3 */ int literal_result; /* * The principal stylesheet */ xsltStylesheetPtr principal; #ifdef XSLT_REFACTORED /* * Compilation context used during compile-time. */ xsltCompilerCtxtPtr compCtxt; /* TODO: Change this to (void *). */ xsltPrincipalStylesheetDataPtr principalData; #endif }; typedef struct _xsltTransformCache xsltTransformCache; typedef xsltTransformCache *xsltTransformCachePtr; struct _xsltTransformCache { xmlDocPtr RVT; int nbRVT; xsltStackElemPtr stackItems; int nbStackItems; #ifdef XSLT_DEBUG_PROFILE_CACHE int dbgCachedRVTs; int dbgReusedRVTs; int dbgCachedVars; int dbgReusedVars; #endif }; /* * The in-memory structure corresponding to an XSLT Transformation. */ typedef enum { XSLT_OUTPUT_XML = 0, XSLT_OUTPUT_HTML, XSLT_OUTPUT_TEXT } xsltOutputType; typedef enum { XSLT_STATE_OK = 0, XSLT_STATE_ERROR, XSLT_STATE_STOPPED } xsltTransformState; 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 source document; can be NULL if an RTF */ 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 * (XSLT 1.0 term: "Result Tree Fragment") */ 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 */ int parserOptions; /* parser options xmlParserOption */ /* * dictionary: shared between stylesheet, context and documents. */ xmlDictPtr dict; xmlDocPtr tmpDoc; /* Obsolete; not used in the library. */ /* * all document text strings are internalized */ int internalized; int nbKeys; int hasTemplKeyPatterns; xsltTemplatePtr currentTemplateRule; /* the Current Template Rule */ xmlNodePtr initialContextNode; xmlDocPtr initialContextDoc; xsltTransformCachePtr cache; void *contextVariable; /* the current variable item */ xmlDocPtr localRVT; /* list of local tree fragments; will be freed when the instruction which created the fragment exits */ xmlDocPtr localRVTBase; int keyInitLevel; /* Needed to catch recursive keys issues */ int funcLevel; /* Needed to catch recursive functions issues */ }; /** * CHECK_STOPPED: * * Macro to check if the XSLT processing should be stopped. * Will return from the function. */ #define CHECK_STOPPED if (ctxt->state == XSLT_STATE_STOPPED) return; /** * CHECK_STOPPEDE: * * Macro to check if the XSLT processing should be stopped. * Will goto the error: label. */ #define CHECK_STOPPEDE if (ctxt->state == XSLT_STATE_STOPPED) goto error; /** * CHECK_STOPPED0: * * Macro to check if the XSLT processing should be stopped. * Will return from the function with a 0 value. */ #define CHECK_STOPPED0 if (ctxt->state == XSLT_STATE_STOPPED) return(0); /* * The macro XML_CAST_FPTR is a hack to avoid a gcc warning about * possible incompatibilities between function pointers and object * pointers. It is defined in libxml/hash.h within recent versions * of libxml2, but is put here for compatibility. */ #ifndef XML_CAST_FPTR /** * XML_CAST_FPTR: * @fptr: pointer to a function * * Macro to do a casting from an object pointer to a * function pointer without encountering a warning from * gcc * * #define XML_CAST_FPTR(fptr) (*(void **)(&fptr)) * This macro violated ISO C aliasing rules (gcc4 on s390 broke) * so it is disabled now */ #define XML_CAST_FPTR(fptr) fptr #endif /* * Functions associated to the internal types xsltDecimalFormatPtr xsltDecimalFormatGetByName(xsltStylesheetPtr sheet, xmlChar *name); */ XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltNewStylesheet (void); XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltParseStylesheetFile (const xmlChar* filename); XSLTPUBFUN void XSLTCALL xsltFreeStylesheet (xsltStylesheetPtr style); XSLTPUBFUN int XSLTCALL xsltIsBlank (xmlChar *str); XSLTPUBFUN void XSLTCALL xsltFreeStackElemList (xsltStackElemPtr elem); XSLTPUBFUN xsltDecimalFormatPtr XSLTCALL xsltDecimalFormatGetByName(xsltStylesheetPtr style, xmlChar *name); XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltParseStylesheetProcess(xsltStylesheetPtr ret, xmlDocPtr doc); XSLTPUBFUN void XSLTCALL xsltParseStylesheetOutput(xsltStylesheetPtr style, xmlNodePtr cur); XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltParseStylesheetDoc (xmlDocPtr doc); XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltParseStylesheetImportedDoc(xmlDocPtr doc, xsltStylesheetPtr style); XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltLoadStylesheetPI (xmlDocPtr doc); XSLTPUBFUN void XSLTCALL xsltNumberFormat (xsltTransformContextPtr ctxt, xsltNumberDataPtr data, xmlNodePtr node); XSLTPUBFUN xmlXPathError XSLTCALL xsltFormatNumberConversion(xsltDecimalFormatPtr self, xmlChar *format, double number, xmlChar **result); XSLTPUBFUN void XSLTCALL xsltParseTemplateContent(xsltStylesheetPtr style, xmlNodePtr templ); XSLTPUBFUN int XSLTCALL xsltAllocateExtra (xsltStylesheetPtr style); XSLTPUBFUN int XSLTCALL xsltAllocateExtraCtxt (xsltTransformContextPtr ctxt); /* * Extra functions for Result Value Trees */ XSLTPUBFUN xmlDocPtr XSLTCALL xsltCreateRVT (xsltTransformContextPtr ctxt); XSLTPUBFUN int XSLTCALL xsltRegisterTmpRVT (xsltTransformContextPtr ctxt, xmlDocPtr RVT); XSLTPUBFUN int XSLTCALL xsltRegisterLocalRVT (xsltTransformContextPtr ctxt, xmlDocPtr RVT); XSLTPUBFUN int XSLTCALL xsltRegisterPersistRVT (xsltTransformContextPtr ctxt, xmlDocPtr RVT); XSLTPUBFUN int XSLTCALL xsltExtensionInstructionResultRegister( xsltTransformContextPtr ctxt, xmlXPathObjectPtr obj); XSLTPUBFUN int XSLTCALL xsltExtensionInstructionResultFinalize( xsltTransformContextPtr ctxt); XSLTPUBFUN void XSLTCALL xsltFreeRVTs (xsltTransformContextPtr ctxt); XSLTPUBFUN void XSLTCALL xsltReleaseRVT (xsltTransformContextPtr ctxt, xmlDocPtr RVT); XSLTPUBFUN int XSLTCALL xsltTransStorageAdd (xsltTransformContextPtr ctxt, void *id, void *data); XSLTPUBFUN void * XSLTCALL xsltTransStorageRemove (xsltTransformContextPtr ctxt, void *id); /* * Extra functions for Attribute Value Templates */ XSLTPUBFUN void XSLTCALL xsltCompileAttr (xsltStylesheetPtr style, xmlAttrPtr attr); XSLTPUBFUN xmlChar * XSLTCALL xsltEvalAVT (xsltTransformContextPtr ctxt, void *avt, xmlNodePtr node); XSLTPUBFUN void XSLTCALL xsltFreeAVTList (void *avt); /* * Extra function for successful xsltCleanupGlobals / xsltInit sequence. */ XSLTPUBFUN void XSLTCALL xsltUninit (void); /************************************************************************ * * * Compile-time functions for *internal* use only * * * ************************************************************************/ #ifdef XSLT_REFACTORED XSLTPUBFUN void XSLTCALL xsltParseSequenceConstructor( xsltCompilerCtxtPtr cctxt, xmlNodePtr start); XSLTPUBFUN int XSLTCALL xsltParseAnyXSLTElem (xsltCompilerCtxtPtr cctxt, xmlNodePtr elem); #ifdef XSLT_REFACTORED_XSLT_NSCOMP XSLTPUBFUN int XSLTCALL xsltRestoreDocumentNamespaces( xsltNsMapPtr ns, xmlDocPtr doc); #endif #endif /* XSLT_REFACTORED */ /************************************************************************ * * * Transformation-time functions for *internal* use only * * * ************************************************************************/ XSLTPUBFUN int XSLTCALL xsltInitCtxtKey (xsltTransformContextPtr ctxt, xsltDocumentPtr doc, xsltKeyDefPtr keyd); XSLTPUBFUN int XSLTCALL xsltInitAllDocKeys (xsltTransformContextPtr ctxt); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_H__ */ 070701000623c2000081a40000000000000000000000014f22154300001af7000000b600010002ffffffffffffffff0000002c00000000root/usr/local/include/libxslt/extensions.h/* * Summary: interface for the extension support * Description: This provide the API needed for simple and module * extension support. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_EXTENSION_H__ #define __XML_XSLT_EXTENSION_H__ #include #include "xsltexports.h" #include "xsltInternals.h" #ifdef __cplusplus extern "C" { #endif /** * Extension Modules API. */ /** * xsltInitGlobals: * * Initialize the global variables for extensions * */ XSLTPUBFUN void XSLTCALL xsltInitGlobals (void); /** * xsltStyleExtInitFunction: * @ctxt: an XSLT stylesheet * @URI: the namespace URI for the extension * * A function called at initialization time of an XSLT extension module. * * Returns a pointer to the module specific data for this transformation. */ typedef void * (*xsltStyleExtInitFunction) (xsltStylesheetPtr style, const xmlChar *URI); /** * xsltStyleExtShutdownFunction: * @ctxt: an XSLT stylesheet * @URI: the namespace URI for the extension * @data: the data associated to this module * * A function called at shutdown time of an XSLT extension module. */ typedef void (*xsltStyleExtShutdownFunction) (xsltStylesheetPtr style, const xmlChar *URI, void *data); /** * xsltExtInitFunction: * @ctxt: an XSLT transformation context * @URI: the namespace URI for the extension * * A function called at initialization time of an XSLT extension module. * * Returns a pointer to the module specific data for this transformation. */ typedef void * (*xsltExtInitFunction) (xsltTransformContextPtr ctxt, const xmlChar *URI); /** * xsltExtShutdownFunction: * @ctxt: an XSLT transformation context * @URI: the namespace URI for the extension * @data: the data associated to this module * * A function called at shutdown time of an XSLT extension module. */ typedef void (*xsltExtShutdownFunction) (xsltTransformContextPtr ctxt, const xmlChar *URI, void *data); XSLTPUBFUN int XSLTCALL xsltRegisterExtModule (const xmlChar *URI, xsltExtInitFunction initFunc, xsltExtShutdownFunction shutdownFunc); XSLTPUBFUN int XSLTCALL xsltRegisterExtModuleFull (const xmlChar * URI, xsltExtInitFunction initFunc, xsltExtShutdownFunction shutdownFunc, xsltStyleExtInitFunction styleInitFunc, xsltStyleExtShutdownFunction styleShutdownFunc); XSLTPUBFUN int XSLTCALL xsltUnregisterExtModule (const xmlChar * URI); XSLTPUBFUN void * XSLTCALL xsltGetExtData (xsltTransformContextPtr ctxt, const xmlChar *URI); XSLTPUBFUN void * XSLTCALL xsltStyleGetExtData (xsltStylesheetPtr style, const xmlChar *URI); #ifdef XSLT_REFACTORED XSLTPUBFUN void * XSLTCALL xsltStyleStylesheetLevelGetExtData( xsltStylesheetPtr style, const xmlChar * URI); #endif XSLTPUBFUN void XSLTCALL xsltShutdownCtxtExts (xsltTransformContextPtr ctxt); XSLTPUBFUN void XSLTCALL xsltShutdownExts (xsltStylesheetPtr style); XSLTPUBFUN xsltTransformContextPtr XSLTCALL xsltXPathGetTransformContext (xmlXPathParserContextPtr ctxt); /* * extension functions */ XSLTPUBFUN int XSLTCALL xsltRegisterExtModuleFunction (const xmlChar *name, const xmlChar *URI, xmlXPathFunction function); XSLTPUBFUN xmlXPathFunction XSLTCALL xsltExtModuleFunctionLookup (const xmlChar *name, const xmlChar *URI); XSLTPUBFUN int XSLTCALL xsltUnregisterExtModuleFunction (const xmlChar *name, const xmlChar *URI); /* * extension elements */ typedef xsltElemPreCompPtr (*xsltPreComputeFunction) (xsltStylesheetPtr style, xmlNodePtr inst, xsltTransformFunction function); XSLTPUBFUN xsltElemPreCompPtr XSLTCALL xsltNewElemPreComp (xsltStylesheetPtr style, xmlNodePtr inst, xsltTransformFunction function); XSLTPUBFUN void XSLTCALL xsltInitElemPreComp (xsltElemPreCompPtr comp, xsltStylesheetPtr style, xmlNodePtr inst, xsltTransformFunction function, xsltElemPreCompDeallocator freeFunc); XSLTPUBFUN int XSLTCALL xsltRegisterExtModuleElement (const xmlChar *name, const xmlChar *URI, xsltPreComputeFunction precomp, xsltTransformFunction transform); XSLTPUBFUN xsltTransformFunction XSLTCALL xsltExtElementLookup (xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *URI); XSLTPUBFUN xsltTransformFunction XSLTCALL xsltExtModuleElementLookup (const xmlChar *name, const xmlChar *URI); XSLTPUBFUN xsltPreComputeFunction XSLTCALL xsltExtModuleElementPreComputeLookup (const xmlChar *name, const xmlChar *URI); XSLTPUBFUN int XSLTCALL xsltUnregisterExtModuleElement (const xmlChar *name, const xmlChar *URI); /* * top-level elements */ typedef void (*xsltTopLevelFunction) (xsltStylesheetPtr style, xmlNodePtr inst); XSLTPUBFUN int XSLTCALL xsltRegisterExtModuleTopLevel (const xmlChar *name, const xmlChar *URI, xsltTopLevelFunction function); XSLTPUBFUN xsltTopLevelFunction XSLTCALL xsltExtModuleTopLevelLookup (const xmlChar *name, const xmlChar *URI); XSLTPUBFUN int XSLTCALL xsltUnregisterExtModuleTopLevel (const xmlChar *name, const xmlChar *URI); /* These 2 functions are deprecated for use within modules. */ XSLTPUBFUN int XSLTCALL xsltRegisterExtFunction (xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *URI, xmlXPathFunction function); XSLTPUBFUN int XSLTCALL xsltRegisterExtElement (xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *URI, xsltTransformFunction function); /* * Extension Prefix handling API. * Those are used by the XSLT (pre)processor. */ XSLTPUBFUN int XSLTCALL xsltRegisterExtPrefix (xsltStylesheetPtr style, const xmlChar *prefix, const xmlChar *URI); XSLTPUBFUN int XSLTCALL xsltCheckExtPrefix (xsltStylesheetPtr style, const xmlChar *URI); XSLTPUBFUN int XSLTCALL xsltCheckExtURI (xsltStylesheetPtr style, const xmlChar *URI); XSLTPUBFUN int XSLTCALL xsltInitCtxtExts (xsltTransformContextPtr ctxt); XSLTPUBFUN void XSLTCALL xsltFreeCtxtExts (xsltTransformContextPtr ctxt); XSLTPUBFUN void XSLTCALL xsltFreeExts (xsltStylesheetPtr style); XSLTPUBFUN xsltElemPreCompPtr XSLTCALL xsltPreComputeExtModuleElement (xsltStylesheetPtr style, xmlNodePtr inst); /* * Extension Infos access. * Used by exslt initialisation */ XSLTPUBFUN xmlHashTablePtr XSLTCALL xsltGetExtInfo (xsltStylesheetPtr style, const xmlChar *URI); /** * Test module http://xmlsoft.org/XSLT/ */ XSLTPUBFUN void XSLTCALL xsltRegisterTestModule (void); XSLTPUBFUN void XSLTCALL xsltDebugDumpExtensions (FILE * output); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_EXTENSION_H__ */ 070701000623c9000081a40000000000000000000000014f221543000007ce000000b600010002ffffffffffffffff0000002900000000root/usr/local/include/libxslt/pattern.h/* * Summary: interface for the pattern matching used in template matches. * Description: the implementation of the lookup of the right template * for a given node must be really fast in order to keep * decent performances. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_PATTERN_H__ #define __XML_XSLT_PATTERN_H__ #include "xsltInternals.h" #include "xsltexports.h" #ifdef __cplusplus extern "C" { #endif /** * xsltCompMatch: * * Data structure used for the implementation of patterns. * It is kept private (in pattern.c). */ typedef struct _xsltCompMatch xsltCompMatch; typedef xsltCompMatch *xsltCompMatchPtr; /* * Pattern related interfaces. */ XSLTPUBFUN xsltCompMatchPtr XSLTCALL xsltCompilePattern (const xmlChar *pattern, xmlDocPtr doc, xmlNodePtr node, xsltStylesheetPtr style, xsltTransformContextPtr runtime); XSLTPUBFUN void XSLTCALL xsltFreeCompMatchList (xsltCompMatchPtr comp); XSLTPUBFUN int XSLTCALL xsltTestCompMatchList (xsltTransformContextPtr ctxt, xmlNodePtr node, xsltCompMatchPtr comp); XSLTPUBFUN void XSLTCALL xsltNormalizeCompSteps (void *payload, void *data, const xmlChar *name); /* * Template related interfaces. */ XSLTPUBFUN int XSLTCALL xsltAddTemplate (xsltStylesheetPtr style, xsltTemplatePtr cur, const xmlChar *mode, const xmlChar *modeURI); XSLTPUBFUN xsltTemplatePtr XSLTCALL xsltGetTemplate (xsltTransformContextPtr ctxt, xmlNodePtr node, xsltStylesheetPtr style); XSLTPUBFUN void XSLTCALL xsltFreeTemplateHashes (xsltStylesheetPtr style); XSLTPUBFUN void XSLTCALL xsltCleanupTemplates (xsltStylesheetPtr style); #if 0 int xsltMatchPattern (xsltTransformContextPtr ctxt, xmlNodePtr node, const xmlChar *pattern, xmlDocPtr ctxtdoc, xmlNodePtr ctxtnode); #endif #ifdef __cplusplus } #endif #endif /* __XML_XSLT_PATTERN_H__ */ 070701000623ca000081a40000000000000000000000014f22154300000381000000b600010002ffffffffffffffff0000002900000000root/usr/local/include/libxslt/preproc.h/* * Summary: precomputing stylesheets * Description: this is the compilation phase, where most of the * stylesheet is "compiled" into faster to use data. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_PRECOMP_H__ #define __XML_XSLT_PRECOMP_H__ #include #include "xsltexports.h" #include "xsltInternals.h" #ifdef __cplusplus extern "C" { #endif /* * Interfaces */ extern const xmlChar *xsltExtMarker; XSLTPUBFUN xsltElemPreCompPtr XSLTCALL xsltDocumentComp (xsltStylesheetPtr style, xmlNodePtr inst, xsltTransformFunction function); XSLTPUBFUN void XSLTCALL xsltStylePreCompute (xsltStylesheetPtr style, xmlNodePtr inst); XSLTPUBFUN void XSLTCALL xsltFreeStylePreComps (xsltStylesheetPtr style); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_PRECOMP_H__ */ 070701000623d1000081a40000000000000000000000014f22154300000d4e000000b600010002ffffffffffffffff0000002c00000000root/usr/local/include/libxslt/xsltconfig.h/* * Summary: compile-time version informations for the XSLT engine * Description: compile-time version informations for the XSLT engine * this module is autogenerated. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLTCONFIG_H__ #define __XML_XSLTCONFIG_H__ #ifdef __cplusplus extern "C" { #endif /** * LIBXSLT_DOTTED_VERSION: * * the version string like "1.2.3" */ #define LIBXSLT_DOTTED_VERSION "1.1.26" /** * LIBXSLT_VERSION: * * the version number: 1.2.3 value is 10203 */ #define LIBXSLT_VERSION 10126 /** * LIBXSLT_VERSION_STRING: * * the version number string, 1.2.3 value is "10203" */ #define LIBXSLT_VERSION_STRING "10126" /** * LIBXSLT_VERSION_EXTRA: * * extra version information, used to show a CVS compilation */ #define LIBXSLT_VERSION_EXTRA "" /** * WITH_XSLT_DEBUG: * * Activate the compilation of the debug reporting. Speed penalty * is insignifiant and being able to run xsltpoc -v is useful. On * by default unless --without-debug is passed to configure */ #if 1 #define WITH_XSLT_DEBUG #endif #if 0 /** * DEBUG_MEMORY: * * should be activated only when debugging libxslt. It replaces the * allocator with a collect and debug shell to the libc allocator. * Use configure --with-mem-debug to activate it on both library */ #define DEBUG_MEMORY /** * DEBUG_MEMORY_LOCATION: * * should be activated only when debugging libxslt. * DEBUG_MEMORY_LOCATION should be activated only when libxml has * been configured with --with-debug-mem too */ #define DEBUG_MEMORY_LOCATION #endif /** * XSLT_NEED_TRIO: * * should be activated if the existing libc library lacks some of the * string formatting function, in that case reuse the Trio ones already * compiled in the libxml2 library. */ #if 0 #define XSLT_NEED_TRIO #endif #ifdef __VMS #define HAVE_MATH_H 1 #define HAVE_SYS_STAT_H 1 #ifndef XSLT_NEED_TRIO #define XSLT_NEED_TRIO #endif #endif #ifdef XSLT_NEED_TRIO #define TRIO_REPLACE_STDIO #endif /** * WITH_XSLT_DEBUGGER: * * Activate the compilation of the debugger support. Speed penalty * is insignifiant. * On by default unless --without-debugger is passed to configure */ #if 1 #ifndef WITH_DEBUGGER #define WITH_DEBUGGER #endif #endif /** * WITH_MODULES: * * Whether module support is configured into libxslt * Note: no default module path for win32 platforms */ #if 1 #ifndef WITH_MODULES #define WITH_MODULES #endif #define LIBXSLT_DEFAULT_PLUGINS_PATH() "/usr/local/lib/libxslt-plugins" #endif /** * Locale support */ #if 0 #ifndef XSLT_LOCALE_XLOCALE #define XSLT_LOCALE_XLOCALE #endif #elif 0 #ifndef XSLT_LOCALE_WINAPI #define XSLT_LOCALE_WINAPI #endif #endif /** * ATTRIBUTE_UNUSED: * * This macro is used to flag unused function parameters to GCC */ #ifdef __GNUC__ #ifdef HAVE_ANSIDECL_H #include #endif #ifndef ATTRIBUTE_UNUSED #define ATTRIBUTE_UNUSED __attribute__((unused)) #endif #else #define ATTRIBUTE_UNUSED #endif /** * LIBXSLT_PUBLIC: * * This macro is used to declare PUBLIC variables for Cygwin and for MSC on Windows */ #if !defined LIBXSLT_PUBLIC #if (defined(__CYGWIN__) || defined _MSC_VER) && !defined IN_LIBXSLT && !defined LIBXSLT_STATIC #define LIBXSLT_PUBLIC __declspec(dllimport) #else #define LIBXSLT_PUBLIC #endif #endif #ifdef __cplusplus } #endif #endif /* __XML_XSLTCONFIG_H__ */ 070701000623c4000081a40000000000000000000000014f221543000007df000000b600010002ffffffffffffffff0000002b00000000root/usr/local/include/libxslt/functions.h/* * Summary: interface for the XSLT functions not from XPath * Description: a set of extra functions coming from XSLT but not in XPath * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard and Bjorn Reese */ #ifndef __XML_XSLT_FUNCTIONS_H__ #define __XML_XSLT_FUNCTIONS_H__ #include #include #include "xsltexports.h" #include "xsltInternals.h" #ifdef __cplusplus extern "C" { #endif /** * XSLT_REGISTER_FUNCTION_LOOKUP: * * Registering macro, not general purpose at all but used in different modules. */ #define XSLT_REGISTER_FUNCTION_LOOKUP(ctxt) \ xmlXPathRegisterFuncLookup((ctxt)->xpathCtxt, \ (xmlXPathFuncLookupFunc) xsltXPathFunctionLookup, \ (void *)(ctxt->xpathCtxt)); XSLTPUBFUN xmlXPathFunction XSLTCALL xsltXPathFunctionLookup (xmlXPathContextPtr ctxt, const xmlChar *name, const xmlChar *ns_uri); /* * Interfaces for the functions implementations. */ XSLTPUBFUN void XSLTCALL xsltDocumentFunction (xmlXPathParserContextPtr ctxt, int nargs); XSLTPUBFUN void XSLTCALL xsltKeyFunction (xmlXPathParserContextPtr ctxt, int nargs); XSLTPUBFUN void XSLTCALL xsltUnparsedEntityURIFunction (xmlXPathParserContextPtr ctxt, int nargs); XSLTPUBFUN void XSLTCALL xsltFormatNumberFunction (xmlXPathParserContextPtr ctxt, int nargs); XSLTPUBFUN void XSLTCALL xsltGenerateIdFunction (xmlXPathParserContextPtr ctxt, int nargs); XSLTPUBFUN void XSLTCALL xsltSystemPropertyFunction (xmlXPathParserContextPtr ctxt, int nargs); XSLTPUBFUN void XSLTCALL xsltElementAvailableFunction (xmlXPathParserContextPtr ctxt, int nargs); XSLTPUBFUN void XSLTCALL xsltFunctionAvailableFunction (xmlXPathParserContextPtr ctxt, int nargs); /* * And the registration */ XSLTPUBFUN void XSLTCALL xsltRegisterAllFunctions (xmlXPathContextPtr ctxt); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_FUNCTIONS_H__ */ 070701000623d4000081a40000000000000000000000014f22154300002041000000b600010002ffffffffffffffff0000002b00000000root/usr/local/include/libxslt/xsltutils.h/* * Summary: set of utilities for the XSLT engine * Description: interfaces for the utilities module of the XSLT engine. * things like message handling, profiling, and other * generally useful routines. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLTUTILS_H__ #define __XML_XSLTUTILS_H__ #include #ifdef HAVE_STDARG_H #include #endif #include #include #include #include "xsltexports.h" #include "xsltInternals.h" #ifdef __cplusplus extern "C" { #endif /** * XSLT_TODO: * * Macro to flag unimplemented blocks. */ #define XSLT_TODO \ xsltGenericError(xsltGenericErrorContext, \ "Unimplemented block at %s:%d\n", \ __FILE__, __LINE__); /** * XSLT_STRANGE: * * Macro to flag that a problem was detected internally. */ #define XSLT_STRANGE \ xsltGenericError(xsltGenericErrorContext, \ "Internal error at %s:%d\n", \ __FILE__, __LINE__); /** * IS_XSLT_ELEM: * * Checks that the element pertains to XSLT namespace. */ #define IS_XSLT_ELEM(n) \ (((n) != NULL) && ((n)->ns != NULL) && \ (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE))) /** * IS_XSLT_NAME: * * Checks the value of an element in XSLT namespace. */ #define IS_XSLT_NAME(n, val) \ (xmlStrEqual((n)->name, (const xmlChar *) (val))) /** * IS_XSLT_REAL_NODE: * * Check that a node is a 'real' one: document, element, text or attribute. */ #define IS_XSLT_REAL_NODE(n) \ (((n) != NULL) && \ (((n)->type == XML_ELEMENT_NODE) || \ ((n)->type == XML_TEXT_NODE) || \ ((n)->type == XML_CDATA_SECTION_NODE) || \ ((n)->type == XML_ATTRIBUTE_NODE) || \ ((n)->type == XML_DOCUMENT_NODE) || \ ((n)->type == XML_HTML_DOCUMENT_NODE) || \ ((n)->type == XML_COMMENT_NODE) || \ ((n)->type == XML_PI_NODE))) /* * Our own version of namespaced atributes lookup. */ XSLTPUBFUN xmlChar * XSLTCALL xsltGetNsProp (xmlNodePtr node, const xmlChar *name, const xmlChar *nameSpace); XSLTPUBFUN const xmlChar * XSLTCALL xsltGetCNsProp (xsltStylesheetPtr style, xmlNodePtr node, const xmlChar *name, const xmlChar *nameSpace); XSLTPUBFUN int XSLTCALL xsltGetUTF8Char (const unsigned char *utf, int *len); /* * XSLT Debug Tracing Tracing Types */ 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; /** * XSLT_TRACE: * * Control the type of xsl debugtrace messages emitted. */ #define XSLT_TRACE(ctxt,code,call) \ if (ctxt->traceCode && (*(ctxt->traceCode) & code)) \ call XSLTPUBFUN void XSLTCALL xsltDebugSetDefaultTrace(xsltDebugTraceCodes val); XSLTPUBFUN xsltDebugTraceCodes XSLTCALL xsltDebugGetDefaultTrace(void); /* * XSLT specific error and debug reporting functions. */ XSLTPUBVAR xmlGenericErrorFunc xsltGenericError; XSLTPUBVAR void *xsltGenericErrorContext; XSLTPUBVAR xmlGenericErrorFunc xsltGenericDebug; XSLTPUBVAR void *xsltGenericDebugContext; XSLTPUBFUN void XSLTCALL xsltPrintErrorContext (xsltTransformContextPtr ctxt, xsltStylesheetPtr style, xmlNodePtr node); XSLTPUBFUN void XSLTCALL xsltMessage (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst); XSLTPUBFUN void XSLTCALL xsltSetGenericErrorFunc (void *ctx, xmlGenericErrorFunc handler); XSLTPUBFUN void XSLTCALL xsltSetGenericDebugFunc (void *ctx, xmlGenericErrorFunc handler); XSLTPUBFUN void XSLTCALL xsltSetTransformErrorFunc (xsltTransformContextPtr ctxt, void *ctx, xmlGenericErrorFunc handler); XSLTPUBFUN void XSLTCALL xsltTransformError (xsltTransformContextPtr ctxt, xsltStylesheetPtr style, xmlNodePtr node, const char *msg, ...); XSLTPUBFUN int XSLTCALL xsltSetCtxtParseOptions (xsltTransformContextPtr ctxt, int options); /* * Sorting. */ XSLTPUBFUN void XSLTCALL xsltDocumentSortFunction (xmlNodeSetPtr list); XSLTPUBFUN void XSLTCALL xsltSetSortFunc (xsltSortFunc handler); XSLTPUBFUN void XSLTCALL xsltSetCtxtSortFunc (xsltTransformContextPtr ctxt, xsltSortFunc handler); XSLTPUBFUN void XSLTCALL xsltDefaultSortFunction (xsltTransformContextPtr ctxt, xmlNodePtr *sorts, int nbsorts); XSLTPUBFUN void XSLTCALL xsltDoSortFunction (xsltTransformContextPtr ctxt, xmlNodePtr * sorts, int nbsorts); XSLTPUBFUN xmlXPathObjectPtr * XSLTCALL xsltComputeSortResult (xsltTransformContextPtr ctxt, xmlNodePtr sort); /* * QNames handling. */ XSLTPUBFUN const xmlChar * XSLTCALL xsltSplitQName (xmlDictPtr dict, const xmlChar *name, const xmlChar **prefix); XSLTPUBFUN const xmlChar * XSLTCALL xsltGetQNameURI (xmlNodePtr node, xmlChar **name); XSLTPUBFUN const xmlChar * XSLTCALL xsltGetQNameURI2 (xsltStylesheetPtr style, xmlNodePtr node, const xmlChar **name); /* * Output, reuse libxml I/O buffers. */ XSLTPUBFUN int XSLTCALL xsltSaveResultTo (xmlOutputBufferPtr buf, xmlDocPtr result, xsltStylesheetPtr style); XSLTPUBFUN int XSLTCALL xsltSaveResultToFilename (const char *URI, xmlDocPtr result, xsltStylesheetPtr style, int compression); XSLTPUBFUN int XSLTCALL xsltSaveResultToFile (FILE *file, xmlDocPtr result, xsltStylesheetPtr style); XSLTPUBFUN int XSLTCALL xsltSaveResultToFd (int fd, xmlDocPtr result, xsltStylesheetPtr style); XSLTPUBFUN int XSLTCALL xsltSaveResultToString (xmlChar **doc_txt_ptr, int * doc_txt_len, xmlDocPtr result, xsltStylesheetPtr style); /* * XPath interface */ XSLTPUBFUN xmlXPathCompExprPtr XSLTCALL xsltXPathCompile (xsltStylesheetPtr style, const xmlChar *str); /* * Profiling. */ XSLTPUBFUN void XSLTCALL xsltSaveProfiling (xsltTransformContextPtr ctxt, FILE *output); XSLTPUBFUN xmlDocPtr XSLTCALL xsltGetProfileInformation (xsltTransformContextPtr ctxt); XSLTPUBFUN long XSLTCALL xsltTimestamp (void); XSLTPUBFUN void XSLTCALL xsltCalibrateAdjust (long delta); /** * XSLT_TIMESTAMP_TICS_PER_SEC: * * Sampling precision for profiling */ #define XSLT_TIMESTAMP_TICS_PER_SEC 100000l /* * Hooks for the debugger. */ 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; XSLTPUBVAR int xslDebugStatus; typedef void (*xsltHandleDebuggerCallback) (xmlNodePtr cur, xmlNodePtr node, xsltTemplatePtr templ, xsltTransformContextPtr ctxt); typedef int (*xsltAddCallCallback) (xsltTemplatePtr templ, xmlNodePtr source); typedef void (*xsltDropCallCallback) (void); XSLTPUBFUN void XSLTCALL xsltSetDebuggerStatus (int value); XSLTPUBFUN int XSLTCALL xsltGetDebuggerStatus (void); XSLTPUBFUN int XSLTCALL xsltSetDebuggerCallbacks (int no, void *block); XSLTPUBFUN int XSLTCALL xslAddCall (xsltTemplatePtr templ, xmlNodePtr source); XSLTPUBFUN void XSLTCALL xslDropCall (void); #ifdef __cplusplus } #endif #endif /* __XML_XSLTUTILS_H__ */ 070701000623d3000081a40000000000000000000000014f221543000004b5000000b600010002ffffffffffffffff0000002c00000000root/usr/local/include/libxslt/xsltlocale.h/* * Summary: Locale handling * Description: Interfaces for locale handling. Needed for language dependent * sorting. * * Copy: See Copyright for the status of this software. * * Author: Nick Wellnhofer */ #ifndef __XML_XSLTLOCALE_H__ #define __XML_XSLTLOCALE_H__ #include #ifdef XSLT_LOCALE_XLOCALE #include #include #ifdef __GLIBC__ /*locale_t is defined only if _GNU_SOURCE is defined*/ typedef __locale_t xsltLocale; #else typedef locale_t xsltLocale; #endif typedef xmlChar xsltLocaleChar; #elif defined(XSLT_LOCALE_WINAPI) #include #include typedef LCID xsltLocale; typedef wchar_t xsltLocaleChar; #else /* * XSLT_LOCALE_NONE: * Macro indicating that locale are not supported */ #ifndef XSLT_LOCALE_NONE #define XSLT_LOCALE_NONE #endif typedef void *xsltLocale; typedef xmlChar xsltLocaleChar; #endif xsltLocale xsltNewLocale(const xmlChar *langName); void xsltFreeLocale(xsltLocale locale); xsltLocaleChar *xsltStrxfrm(xsltLocale locale, const xmlChar *string); int xsltLocaleStrcmp(xsltLocale locale, const xsltLocaleChar *str1, const xsltLocaleChar *str2); #endif /* __XML_XSLTLOCALE_H__ */ 070701000623c5000081a40000000000000000000000014f2215430000073f000000b600010002ffffffffffffffff0000002900000000root/usr/local/include/libxslt/imports.h/* * Summary: interface for the XSLT import support * Description: macros and fuctions needed to implement and * access the import tree * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_IMPORTS_H__ #define __XML_XSLT_IMPORTS_H__ #include #include "xsltexports.h" #include "xsltInternals.h" #ifdef __cplusplus extern "C" { #endif /** * XSLT_GET_IMPORT_PTR: * * A macro to import pointers from the stylesheet cascading order. */ #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); \ }} /** * XSLT_GET_IMPORT_INT: * * A macro to import intergers from the stylesheet cascading order. */ #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); \ }} /* * Module interfaces */ XSLTPUBFUN int XSLTCALL xsltParseStylesheetImport(xsltStylesheetPtr style, xmlNodePtr cur); XSLTPUBFUN int XSLTCALL xsltParseStylesheetInclude (xsltStylesheetPtr style, xmlNodePtr cur); XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltNextImport (xsltStylesheetPtr style); XSLTPUBFUN int XSLTCALL xsltNeedElemSpaceHandling(xsltTransformContextPtr ctxt); XSLTPUBFUN int XSLTCALL xsltFindElemSpaceHandling(xsltTransformContextPtr ctxt, xmlNodePtr node); XSLTPUBFUN xsltTemplatePtr XSLTCALL xsltFindTemplate (xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *nameURI); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_IMPORTS_H__ */ 070701000623d2000081a40000000000000000000000014f22154300000d62000000b600010002ffffffffffffffff0000002d00000000root/usr/local/include/libxslt/xsltexports.h/* * Summary: macros for marking symbols as exportable/importable. * Description: macros for marking symbols as exportable/importable. * * Copy: See Copyright for the status of this software. * * Author: Igor Zlatkovic */ #ifndef __XSLT_EXPORTS_H__ #define __XSLT_EXPORTS_H__ /** * XSLTPUBFUN: * XSLTPUBFUN, XSLTPUBVAR, XSLTCALL * * Macros which declare an exportable function, an exportable variable and * the calling convention used for functions. * * Please use an extra block for every platform/compiler combination when * modifying this, rather than overlong #ifdef lines. This helps * readability as well as the fact that different compilers on the same * platform might need different definitions. */ /** * XSLTPUBFUN: * * Macros which declare an exportable function */ #define XSLTPUBFUN /** * XSLTPUBVAR: * * Macros which declare an exportable variable */ #define XSLTPUBVAR extern /** * XSLTCALL: * * Macros which declare the called convention for exported functions */ #define XSLTCALL /** DOC_DISABLE */ /* Windows platform with MS compiler */ #if defined(_WIN32) && defined(_MSC_VER) #undef XSLTPUBFUN #undef XSLTPUBVAR #undef XSLTCALL #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC) #define XSLTPUBFUN __declspec(dllexport) #define XSLTPUBVAR __declspec(dllexport) #else #define XSLTPUBFUN #if !defined(LIBXSLT_STATIC) #define XSLTPUBVAR __declspec(dllimport) extern #else #define XSLTPUBVAR extern #endif #endif #define XSLTCALL __cdecl #if !defined _REENTRANT #define _REENTRANT #endif #endif /* Windows platform with Borland compiler */ #if defined(_WIN32) && defined(__BORLANDC__) #undef XSLTPUBFUN #undef XSLTPUBVAR #undef XSLTCALL #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC) #define XSLTPUBFUN __declspec(dllexport) #define XSLTPUBVAR __declspec(dllexport) extern #else #define XSLTPUBFUN #if !defined(LIBXSLT_STATIC) #define XSLTPUBVAR __declspec(dllimport) extern #else #define XSLTPUBVAR extern #endif #endif #define XSLTCALL __cdecl #if !defined _REENTRANT #define _REENTRANT #endif #endif /* Windows platform with GNU compiler (Mingw) */ #if defined(_WIN32) && defined(__MINGW32__) #undef XSLTPUBFUN #undef XSLTPUBVAR #undef XSLTCALL /* #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC) */ #if !defined(LIBXSLT_STATIC) #define XSLTPUBFUN __declspec(dllexport) #define XSLTPUBVAR __declspec(dllexport) extern #else #define XSLTPUBFUN #if !defined(LIBXSLT_STATIC) #define XSLTPUBVAR __declspec(dllimport) extern #else #define XSLTPUBVAR extern #endif #endif #define XSLTCALL __cdecl #if !defined _REENTRANT #define _REENTRANT #endif #endif /* Cygwin platform, GNU compiler */ #if defined(_WIN32) && defined(__CYGWIN__) #undef XSLTPUBFUN #undef XSLTPUBVAR #undef XSLTCALL #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC) #define XSLTPUBFUN __declspec(dllexport) #define XSLTPUBVAR __declspec(dllexport) #else #define XSLTPUBFUN #if !defined(LIBXSLT_STATIC) #define XSLTPUBVAR __declspec(dllimport) extern #else #define XSLTPUBVAR #endif #endif #define XSLTCALL __cdecl #endif /* Compatibility */ #if !defined(LIBXSLT_PUBLIC) #define LIBXSLT_PUBLIC XSLTPUBVAR #endif #endif /* __XSLT_EXPORTS_H__ */ 070701000623c7000081a40000000000000000000000014f22154300000689000000b600010002ffffffffffffffff0000002c00000000root/usr/local/include/libxslt/namespaces.h/* * Summary: interface for the XSLT namespace handling * Description: set of function easing the processing and generation * of namespace nodes in XSLT. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_NAMESPACES_H__ #define __XML_XSLT_NAMESPACES_H__ #include #include "xsltexports.h" #ifdef __cplusplus extern "C" { #endif /* * Used within nsAliases hashtable when the default namespace is required * but it's not been explicitly defined */ /** * UNDEFINED_DEFAULT_NS: * * Special value for undefined namespace, internal */ #define UNDEFINED_DEFAULT_NS (const xmlChar *) -1L XSLTPUBFUN void XSLTCALL xsltNamespaceAlias (xsltStylesheetPtr style, xmlNodePtr node); XSLTPUBFUN xmlNsPtr XSLTCALL xsltGetNamespace (xsltTransformContextPtr ctxt, xmlNodePtr cur, xmlNsPtr ns, xmlNodePtr out); XSLTPUBFUN xmlNsPtr XSLTCALL xsltGetPlainNamespace (xsltTransformContextPtr ctxt, xmlNodePtr cur, xmlNsPtr ns, xmlNodePtr out); XSLTPUBFUN xmlNsPtr XSLTCALL xsltGetSpecialNamespace (xsltTransformContextPtr ctxt, xmlNodePtr cur, const xmlChar *URI, const xmlChar *prefix, xmlNodePtr out); XSLTPUBFUN xmlNsPtr XSLTCALL xsltCopyNamespace (xsltTransformContextPtr ctxt, xmlNodePtr elem, xmlNsPtr ns); XSLTPUBFUN xmlNsPtr XSLTCALL xsltCopyNamespaceList (xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNsPtr cur); XSLTPUBFUN void XSLTCALL xsltFreeNamespaceAliasHashes (xsltStylesheetPtr style); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_NAMESPACES_H__ */ 070701000623ce000081a40000000000000000000000014f22154300000a62000000b600010002ffffffffffffffff0000002b00000000root/usr/local/include/libxslt/variables.h/* * Summary: interface for the variable matching and lookup. * Description: interface for the variable matching and lookup. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XSLT_VARIABLES_H__ #define __XML_XSLT_VARIABLES_H__ #include #include #include "xsltexports.h" #include "xsltInternals.h" #include "functions.h" #ifdef __cplusplus extern "C" { #endif /** * XSLT_REGISTER_VARIABLE_LOOKUP: * * Registering macro, not general purpose at all but used in different modules. */ #define XSLT_REGISTER_VARIABLE_LOOKUP(ctxt) \ xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt, \ xsltXPathVariableLookup, (void *)(ctxt)); \ xsltRegisterAllFunctions((ctxt)->xpathCtxt); \ xsltRegisterAllElement(ctxt); \ (ctxt)->xpathCtxt->extra = ctxt /* * Interfaces for the variable module. */ XSLTPUBFUN int XSLTCALL xsltEvalGlobalVariables (xsltTransformContextPtr ctxt); XSLTPUBFUN int XSLTCALL xsltEvalUserParams (xsltTransformContextPtr ctxt, const char **params); XSLTPUBFUN int XSLTCALL xsltQuoteUserParams (xsltTransformContextPtr ctxt, const char **params); XSLTPUBFUN int XSLTCALL xsltEvalOneUserParam (xsltTransformContextPtr ctxt, const xmlChar * name, const xmlChar * value); XSLTPUBFUN int XSLTCALL xsltQuoteOneUserParam (xsltTransformContextPtr ctxt, const xmlChar * name, const xmlChar * value); XSLTPUBFUN void XSLTCALL xsltParseGlobalVariable (xsltStylesheetPtr style, xmlNodePtr cur); XSLTPUBFUN void XSLTCALL xsltParseGlobalParam (xsltStylesheetPtr style, xmlNodePtr cur); XSLTPUBFUN void XSLTCALL xsltParseStylesheetVariable (xsltTransformContextPtr ctxt, xmlNodePtr cur); XSLTPUBFUN void XSLTCALL xsltParseStylesheetParam (xsltTransformContextPtr ctxt, xmlNodePtr cur); XSLTPUBFUN xsltStackElemPtr XSLTCALL xsltParseStylesheetCallerParam (xsltTransformContextPtr ctxt, xmlNodePtr cur); XSLTPUBFUN int XSLTCALL xsltAddStackElemList (xsltTransformContextPtr ctxt, xsltStackElemPtr elems); XSLTPUBFUN void XSLTCALL xsltFreeGlobalVariables (xsltTransformContextPtr ctxt); XSLTPUBFUN xmlXPathObjectPtr XSLTCALL xsltVariableLookup (xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *ns_uri); XSLTPUBFUN xmlXPathObjectPtr XSLTCALL xsltXPathVariableLookup (void *ctxt, const xmlChar *name, const xmlChar *ns_uri); #ifdef __cplusplus } #endif #endif /* __XML_XSLT_VARIABLES_H__ */ 070701000623bb000041ed0000000000000000000000024f25e6a900000000000000b600010002ffffffffffffffff0000002000000000root/usr/local/include/libexslt070701000623be000081a40000000000000000000000014f22154400000d37000000b600010002ffffffffffffffff0000002f00000000root/usr/local/include/libexslt/exsltexports.h/* * exsltexports.h : macros for marking symbols as exportable/importable. * * See Copyright for the status of this software. * * igor@zlatkovic.com */ #ifndef __EXSLT_EXPORTS_H__ #define __EXSLT_EXPORTS_H__ /** * EXSLTPUBFUN, EXSLTPUBVAR, EXSLTCALL * * Macros which declare an exportable function, an exportable variable and * the calling convention used for functions. * * Please use an extra block for every platform/compiler combination when * modifying this, rather than overlong #ifdef lines. This helps * readability as well as the fact that different compilers on the same * platform might need different definitions. */ /** * EXSLTPUBFUN: * * Macros which declare an exportable function */ #define EXSLTPUBFUN /** * EXSLTPUBVAR: * * Macros which declare an exportable variable */ #define EXSLTPUBVAR extern /** * EXSLTCALL: * * Macros which declare the called convention for exported functions */ #define EXSLTCALL /** DOC_DISABLE */ /* Windows platform with MS compiler */ #if defined(_WIN32) && defined(_MSC_VER) #undef EXSLTPUBFUN #undef EXSLTPUBVAR #undef EXSLTCALL #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC) #define EXSLTPUBFUN __declspec(dllexport) #define EXSLTPUBVAR __declspec(dllexport) #else #define EXSLTPUBFUN #if !defined(LIBEXSLT_STATIC) #define EXSLTPUBVAR __declspec(dllimport) extern #else #define EXSLTPUBVAR extern #endif #endif #define EXSLTCALL __cdecl #if !defined _REENTRANT #define _REENTRANT #endif #endif /* Windows platform with Borland compiler */ #if defined(_WIN32) && defined(__BORLANDC__) #undef EXSLTPUBFUN #undef EXSLTPUBVAR #undef EXSLTCALL #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC) #define EXSLTPUBFUN __declspec(dllexport) #define EXSLTPUBVAR __declspec(dllexport) extern #else #define EXSLTPUBFUN #if !defined(LIBEXSLT_STATIC) #define EXSLTPUBVAR __declspec(dllimport) extern #else #define EXSLTPUBVAR extern #endif #endif #define EXSLTCALL __cdecl #if !defined _REENTRANT #define _REENTRANT #endif #endif /* Windows platform with GNU compiler (Mingw) */ #if defined(_WIN32) && defined(__MINGW32__) #undef EXSLTPUBFUN #undef EXSLTPUBVAR #undef EXSLTCALL /* #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC) */ #if !defined(LIBEXSLT_STATIC) #define EXSLTPUBFUN __declspec(dllexport) #define EXSLTPUBVAR __declspec(dllexport) extern #else #define EXSLTPUBFUN #if !defined(LIBEXSLT_STATIC) #define EXSLTPUBVAR __declspec(dllimport) extern #else #define EXSLTPUBVAR extern #endif #endif #define EXSLTCALL __cdecl #if !defined _REENTRANT #define _REENTRANT #endif #endif /* Cygwin platform, GNU compiler */ #if defined(_WIN32) && defined(__CYGWIN__) #undef EXSLTPUBFUN #undef EXSLTPUBVAR #undef EXSLTCALL #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC) #define EXSLTPUBFUN __declspec(dllexport) #define EXSLTPUBVAR __declspec(dllexport) #else #define EXSLTPUBFUN #if !defined(LIBEXSLT_STATIC) #define EXSLTPUBVAR __declspec(dllimport) extern #else #define EXSLTPUBVAR #endif #endif #define EXSLTCALL __cdecl #endif /* Compatibility */ #if !defined(LIBEXSLT_PUBLIC) #define LIBEXSLT_PUBLIC EXSLTPUBVAR #endif #endif /* __EXSLT_EXPORTS_H__ */ 070701000623bd000081a40000000000000000000000014f221544000004c2000000b600010002ffffffffffffffff0000002e00000000root/usr/local/include/libexslt/exsltconfig.h/* * exsltconfig.h: compile-time version informations for the EXSLT library * * See Copyright for the status of this software. * * daniel@veillard.com */ #ifndef __XML_EXSLTCONFIG_H__ #define __XML_EXSLTCONFIG_H__ #ifdef __cplusplus extern "C" { #endif /** * LIBEXSLT_DOTTED_VERSION: * * the version string like "1.2.3" */ #define LIBEXSLT_DOTTED_VERSION "1.1.26" /** * LIBEXSLT_VERSION: * * the version number: 1.2.3 value is 10203 */ #define LIBEXSLT_VERSION 815 /** * LIBEXSLT_VERSION_STRING: * * the version number string, 1.2.3 value is "10203" */ #define LIBEXSLT_VERSION_STRING "815" /** * LIBEXSLT_VERSION_EXTRA: * * extra version information, used to show a CVS compilation */ #define LIBEXSLT_VERSION_EXTRA "" /** * WITH_CRYPTO: * * Whether crypto support is configured into exslt */ #if 1 #define EXSLT_CRYPTO_ENABLED #endif /** * ATTRIBUTE_UNUSED: * * This macro is used to flag unused function parameters to GCC */ #ifdef __GNUC__ #ifdef HAVE_ANSIDECL_H #include #endif #ifndef ATTRIBUTE_UNUSED #define ATTRIBUTE_UNUSED __attribute__((unused)) #endif #else #define ATTRIBUTE_UNUSED #endif #ifdef __cplusplus } #endif #endif /* __XML_EXSLTCONFIG_H__ */ 070701000623bc000081a40000000000000000000000014f22154400000bca000000b600010002ffffffffffffffff0000002800000000root/usr/local/include/libexslt/exslt.h #ifndef __EXSLT_H__ #define __EXSLT_H__ #include #include #include "exsltexports.h" #include #ifdef __cplusplus extern "C" { #endif EXSLTPUBVAR const char *exsltLibraryVersion; EXSLTPUBVAR const int exsltLibexsltVersion; EXSLTPUBVAR const int exsltLibxsltVersion; EXSLTPUBVAR const int exsltLibxmlVersion; /** * EXSLT_COMMON_NAMESPACE: * * Namespace for EXSLT common functions */ #define EXSLT_COMMON_NAMESPACE ((const xmlChar *) "http://exslt.org/common") /** * EXSLT_CRYPTO_NAMESPACE: * * Namespace for EXSLT crypto functions */ #define EXSLT_CRYPTO_NAMESPACE ((const xmlChar *) "http://exslt.org/crypto") /** * EXSLT_MATH_NAMESPACE: * * Namespace for EXSLT math functions */ #define EXSLT_MATH_NAMESPACE ((const xmlChar *) "http://exslt.org/math") /** * EXSLT_SETS_NAMESPACE: * * Namespace for EXSLT set functions */ #define EXSLT_SETS_NAMESPACE ((const xmlChar *) "http://exslt.org/sets") /** * EXSLT_FUNCTIONS_NAMESPACE: * * Namespace for EXSLT functions extension functions */ #define EXSLT_FUNCTIONS_NAMESPACE ((const xmlChar *) "http://exslt.org/functions") /** * EXSLT_STRINGS_NAMESPACE: * * Namespace for EXSLT strings functions */ #define EXSLT_STRINGS_NAMESPACE ((const xmlChar *) "http://exslt.org/strings") /** * EXSLT_DATE_NAMESPACE: * * Namespace for EXSLT date functions */ #define EXSLT_DATE_NAMESPACE ((const xmlChar *) "http://exslt.org/dates-and-times") /** * EXSLT_DYNAMIC_NAMESPACE: * * Namespace for EXSLT dynamic functions */ #define EXSLT_DYNAMIC_NAMESPACE ((const xmlChar *) "http://exslt.org/dynamic") /** * SAXON_NAMESPACE: * * Namespace for SAXON extensions functions */ #define SAXON_NAMESPACE ((const xmlChar *) "http://icl.com/saxon") EXSLTPUBFUN void EXSLTCALL exsltCommonRegister (void); #ifdef EXSLT_CRYPTO_ENABLED EXSLTPUBFUN void EXSLTCALL exsltCryptoRegister (void); #endif EXSLTPUBFUN void EXSLTCALL exsltMathRegister (void); EXSLTPUBFUN void EXSLTCALL exsltSetsRegister (void); EXSLTPUBFUN void EXSLTCALL exsltFuncRegister (void); EXSLTPUBFUN void EXSLTCALL exsltStrRegister (void); EXSLTPUBFUN void EXSLTCALL exsltDateRegister (void); EXSLTPUBFUN void EXSLTCALL exsltSaxonRegister (void); EXSLTPUBFUN void EXSLTCALL exsltDynRegister(void); EXSLTPUBFUN void EXSLTCALL exsltRegisterAll (void); EXSLTPUBFUN int EXSLTCALL exsltDateXpathCtxtRegister (xmlXPathContextPtr ctxt, const xmlChar *prefix); EXSLTPUBFUN int EXSLTCALL exsltMathXpathCtxtRegister (xmlXPathContextPtr ctxt, const xmlChar *prefix); EXSLTPUBFUN int EXSLTCALL exsltSetsXpathCtxtRegister (xmlXPathContextPtr ctxt, const xmlChar *prefix); EXSLTPUBFUN int EXSLTCALL exsltStrXpathCtxtRegister (xmlXPathContextPtr ctxt, const xmlChar *prefix); #ifdef __cplusplus } #endif #endif /* __EXSLT_H__ */ 070701000623e6000041ed0000000000000000000000054f25e6a900000000000000b600010002ffffffffffffffff0000001500000000root/usr/local/share070701000623e7000041ed0000000000000000000000024f25e6a900000000000000b600010002ffffffffffffffff0000001d00000000root/usr/local/share/aclocal070701000623e8000081a40000000000000000000000014f22154400001fb7000000b600010002ffffffffffffffff0000002800000000root/usr/local/share/aclocal/libxslt.m4# Based on: # Configure paths for LIBXML2 # Toshio Kuratomi 2001-04-21 # Adapted from: # Configure paths for GLIB # Owen Taylor 97-11-3 # # Modified to work with libxslt by Thomas Schraitle 2002/10/25 # Fixed by Edward Rudd 2004/05/12 dnl AM_PATH_XSLT([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) dnl Test for XML, and define XML_CFLAGS and XML_LIBS dnl AC_DEFUN([AM_PATH_XSLT],[ AC_ARG_WITH(xslt-prefix, [ --with-xslt-prefix=PFX Prefix where libxslt is installed (optional)], xslt_config_prefix="$withval", xslt_config_prefix="") AC_ARG_WITH(xslt-exec-prefix, [ --with-xslt-exec-prefix=PFX Exec prefix where libxslt is installed (optional)], xslt_config_exec_prefix="$withval", xslt_config_exec_prefix="") AC_ARG_ENABLE(xslttest, [ --disable-xslttest Do not try to compile and run a test LIBXSLT program],, enable_xslttest=yes) if test x$xslt_config_exec_prefix != x ; then xslt_config_args="$xslt_config_args --exec-prefix=$xslt_config_exec_prefix" if test x${XSLT_CONFIG+set} != xset ; then XSLT_CONFIG=$xslt_config_exec_prefix/bin/xslt-config fi fi if test x$xslt_config_prefix != x ; then xslt_config_args="$xslt_config_args --prefix=$xslt_config_prefix" if test x${XSLT_CONFIG+set} != xset ; then XSLT_CONFIG=$xslt_config_prefix/bin/xslt-config fi fi AC_PATH_PROG(XSLT_CONFIG, xslt-config, no) min_xslt_version=ifelse([$1], ,1.0.0,[$1]) AC_MSG_CHECKING(for libxslt - version >= $min_xslt_version) no_xslt="" if test "$XSLT_CONFIG" = "no" ; then no_xslt=yes else XSLT_CFLAGS=`$XSLT_CONFIG $xslt_config_args --cflags` XSLT_LIBS=`$XSLT_CONFIG $xslt_config_args --libs` xslt_config_major_version=`$XSLT_CONFIG $xslt_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` xslt_config_minor_version=`$XSLT_CONFIG $xslt_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` xslt_config_micro_version=`$XSLT_CONFIG $xslt_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` if test "x$enable_xslttest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $XSLT_CFLAGS" LIBS="$XSLT_LIBS $LIBS" dnl dnl Now check if the installed libxslt is sufficiently new. dnl (Also sanity checks the results of xslt-config to some extent) dnl rm -f conf.xslttest AC_TRY_RUN([ #include #include #include #include #include int main() { int xslt_major_version, xslt_minor_version, xslt_micro_version; int major, minor, micro; char *tmp_version; system("touch conf.xslttest"); /* Capture xslt-config output via autoconf/configure variables */ /* HP/UX 9 (%@#!) writes to sscanf strings */ tmp_version = (char *)strdup("$min_xslt_version"); if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { printf("%s, bad version string from xslt-config\n", "$min_xslt_version"); exit(1); } free(tmp_version); /* Capture the version information from the header files */ tmp_version = (char *)strdup(LIBXSLT_DOTTED_VERSION); if (sscanf(tmp_version, "%d.%d.%d", &xslt_major_version, &xslt_minor_version, &xslt_micro_version) != 3) { printf("%s, bad version string from libxslt includes\n", "LIBXSLT_DOTTED_VERSION"); exit(1); } free(tmp_version); /* Compare xslt-config output to the libxslt headers */ if ((xslt_major_version != $xslt_config_major_version) || (xslt_minor_version != $xslt_config_minor_version) || (xslt_micro_version != $xslt_config_micro_version)) { printf("*** libxslt header files (version %d.%d.%d) do not match\n", xslt_major_version, xslt_minor_version, xslt_micro_version); printf("*** xslt-config (version %d.%d.%d)\n", $xslt_config_major_version, $xslt_config_minor_version, $xslt_config_micro_version); return 1; } /* Compare the headers to the library to make sure we match */ /* Less than ideal -- doesn't provide us with return value feedback, * only exits if there's a serious mismatch between header and library. */ /* copied from LIBXML_TEST_VERSION; */ xmlCheckVersion(LIBXML_VERSION); /* Test that the library is greater than our minimum version */ if ((xslt_major_version > major) || ((xslt_major_version == major) && (xslt_minor_version > minor)) || ((xslt_major_version == major) && (xslt_minor_version == minor) && (xslt_micro_version >= micro))) { return 0; } else { printf("\n*** An old version of libxslt (%d.%d.%d) was found.\n", xslt_major_version, xslt_minor_version, xslt_micro_version); printf("*** You need a version of libxslt newer than %d.%d.%d. The latest version of\n", major, minor, micro); printf("*** libxslt is always available from ftp://ftp.xmlsoft.org.\n"); printf("***\n"); printf("*** If you have already installed a sufficiently new version, this error\n"); printf("*** probably means that the wrong copy of the xslt-config shell script is\n"); printf("*** being found. The easiest way to fix this is to remove the old version\n"); printf("*** of LIBXSLT, but you can also set the XSLT_CONFIG environment to point to the\n"); printf("*** correct copy of xslt-config. (In this case, you will have to\n"); printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); printf("*** so that the correct libraries are found at run-time))\n"); } return 1; } ],, no_xslt=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi fi if test "x$no_xslt" = x ; then AC_MSG_RESULT(yes (version $xslt_config_major_version.$xslt_config_minor_version.$xslt_config_micro_version)) ifelse([$2], , :, [$2]) else AC_MSG_RESULT(no) if test "$XSLT_CONFIG" = "no" ; then echo "*** The xslt-config script installed by LIBXSLT could not be found" echo "*** If libxslt was installed in PREFIX, make sure PREFIX/bin is in" echo "*** your path, or set the XSLT_CONFIG environment variable to the" echo "*** full path to xslt-config." else if test -f conf.xslttest ; then : else echo "*** Could not run libxslt test program, checking why..." CFLAGS="$CFLAGS $XSLT_CFLAGS" LIBS="$LIBS $XSLT_LIBS" AC_TRY_LINK([ #include #include ], [ LIBXSLT_TEST_VERSION; return 0;], [ echo "*** The test program compiled, but did not run. This usually means" echo "*** that the run-time linker is not finding LIBXSLT or finding the wrong" echo "*** version of LIBXSLT. If it is not finding LIBXSLT, you'll need to set your" echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" echo "*** to the installed location Also, make sure you have run ldconfig if that" echo "*** is required on your system" echo "***" echo "*** If you have an old version installed, it is best to remove it, although" echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ], [ echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means LIBXSLT was incorrectly installed" echo "*** or that you have moved LIBXSLT since it was installed. In the latter case, you" echo "*** may want to edit the xslt-config script: $XSLT_CONFIG" ]) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi fi XSLT_CFLAGS="" XSLT_LIBS="" ifelse([$3], , :, [$3]) fi AC_SUBST(XSLT_CFLAGS) AC_SUBST(XSLT_LIBS) rm -f conf.xslttest ]) 070701000623e9000041ed0000000000000000000000044f25e6a900000000000000b600010002ffffffffffffffff0000001900000000root/usr/local/share/doc070701000623ea000041ed0000000000000000000000034f25e6a900000000000000b600010002ffffffffffffffff0000002800000000root/usr/local/share/doc/libxslt-1.1.26070701000623eb000041ed0000000000000000000000064f25e6a900000000000000b600010002ffffffffffffffff0000002d00000000root/usr/local/share/doc/libxslt-1.1.26/html0707010006243a000081a40000000000000000000000014f22154400003e58000000b600010002ffffffffffffffff0000003900000000root/usr/local/share/doc/libxslt-1.1.26/html/python.html Python and bindings
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

Python and bindings

Main Menu
Related links
API Indexes

There is a number of language bindings and wrappers available for libxml2, the list below is not exhaustive. Please contact the xml-bindings@gnome.org (archives) in order to get updates to this list or to discuss the specific topic of libxml2 or libxslt wrappers or bindings:

The libxslt Python module depends on the libxml2 Python module.

The distribution includes a set of Python bindings, which are guaranteed to be maintained as part of the library in the future, though the Python interface have not yet reached the completeness of the C API.

Stéphane Bidoul maintains a Windows port of the Python bindings.

Note to people interested in building bindings, the API is formalized as an XML API description file which allows to automate a large part of the Python bindings, this includes function descriptions, enums, structures, typedefs, etc... The Python script used to build the bindings is python/generator.py in the source distribution.

To install the Python bindings there are 2 options:

  • If you use an RPM based distribution, simply install the libxml2-python RPM and the libxslt-python RPM.
  • Otherwise use the libxml2-python module distribution corresponding to your installed version of libxml2 and libxslt. Note that to install it you will need both libxml2 and libxslt installed and run "python setup.py build install" in the module tree.

The distribution includes a set of examples and regression tests for the python bindings in the python/tests directory. Here are some excepts from those tests:

basic.py:

This is a basic test of XSLT interfaces: loading a stylesheet and a document, transforming the document and saving the result.

import libxml2
import libxslt

styledoc = libxml2.parseFile("test.xsl")
style = libxslt.parseStylesheetDoc(styledoc)
doc = libxml2.parseFile("test.xml")
result = style.applyStylesheet(doc, None)
style.saveResultToFilename("foo", result, 0)
style.freeStylesheet()
doc.freeDoc()
result.freeDoc()

The Python module is called libxslt, you will also need the libxml2 module for the operations on XML trees. Let's have a look at the objects manipulated in that example and how is the processing done:

  • styledoc : is a libxml2 document tree. It is obtained by parsing the XML file "test.xsl" containing the stylesheet.
  • style : this is a precompiled stylesheet ready to be used by the following transformations (note the plural form, multiple transformations can resuse the same stylesheet).
  • doc : this is the document to apply the transformation to. In this case it is simply generated by parsing it from a file but any other processing is possible as long as one get a libxml2 Doc. Note that HTML tree are suitable for XSLT processing in libxslt. This is actually how this page is generated !
  • result : this is a document generated by applying the stylesheet to the document. Note that some of the stylesheet information may be related to the serialization of that document and as in this example a specific saveResultToFilename() method of the stylesheet should be used to save it to a file (in that case to "foo").

Also note the need to explicitely deallocate documents with freeDoc() except for the stylesheet document which is freed when its compiled form is garbage collected.

extfunc.py:

This one is a far more complex test. It shows how to modify the behaviour of an XSLT transformation by passing parameters and how to extend the XSLT engine with functions defined in python:

import libxml2
import libxslt
import string

nodeName = None
def f(ctx, str):
    global nodeName

    #
    # Small check to verify the context is correcly accessed
    #
    try:
        pctxt = libxslt.xpathParserContext(_obj=ctx)
        ctxt = pctxt.context()
        tctxt = ctxt.transformContext()
        nodeName = tctxt.insertNode().name
    except:
        pass

    return string.upper(str)

libxslt.registerExtModuleFunction("foo", "http://example.com/foo", f)

This code defines and register an extension function. Note that the function can be bound to any name (foo) and how the binding is also associated to a namespace name "http://example.com/foo". From an XSLT point of view the function just returns an upper case version of the string passed as a parameter. But the first part of the function also read some contextual information from the current XSLT processing environement, in that case it looks for the current insertion node in the resulting output (either the resulting document or the Result Value Tree being generated), and saves it to a global variable for checking that the access actually worked.

For more information on the xpathParserContext and transformContext objects check the libray internals description. The pctxt is actually an object from a class derived from the libxml2.xpathParserContext() with just a couple more properties including the possibility to look up the XSLT transformation context from the XPath context.

styledoc = libxml2.parseDoc("""
<xsl:stylesheet version='1.0'
  xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
  xmlns:foo='http://example.com/foo'
  xsl:exclude-result-prefixes='foo'>

  <xsl:param name='bar'>failure</xsl:param>
  <xsl:template match='/'>
    <article><xsl:value-of select='foo:foo($bar)'/></article>
  </xsl:template>
</xsl:stylesheet>
""")

Here is a simple example of how to read an XML document from a python string with libxml2. Note how this stylesheet:

  • Uses a global parameter bar
  • Reference the extension function f
  • how the Namespace name "http://example.com/foo" has to be bound to a prefix
  • how that prefix is excluded from the output
  • how the function is called from the select
style = libxslt.parseStylesheetDoc(styledoc)
doc = libxml2.parseDoc("<doc/>")
result = style.applyStylesheet(doc, { "bar": "'success'" })
style.freeStylesheet()
doc.freeDoc()

that part is identical, to the basic example except that the transformation is passed a dictionary of parameters. Note that the string passed "success" had to be quoted, otherwise it is interpreted as an XPath query for the childs of root named "success".

root = result.children
if root.name != "article":
    print "Unexpected root node name"
    sys.exit(1)
if root.content != "SUCCESS":
    print "Unexpected root node content, extension function failed"
    sys.exit(1)
if nodeName != 'article':
    print "The function callback failed to access its context"
    sys.exit(1)

result.freeDoc()

That part just verifies that the transformation worked, that the parameter got properly passed to the engine, that the function f() got called and that it properly accessed the context to find the name of the insertion node.

pyxsltproc.py:

this module is a bit too long to be described there but it is basically a rewrite of the xsltproc command line interface of libxslt in Python. It provides nearly all the functionalities of xsltproc and can be used as a base module to write Python customized XSLT processors. One of the thing to notice are:

libxml2.lineNumbersDefault(1)
libxml2.substituteEntitiesDefault(1)

those two calls in the main() function are needed to force the libxml2 processor to generate DOM trees compliant with the XPath data model.

Daniel Veillard

07070100062439000081a40000000000000000000000014f221544000023f9000000b600010002ffffffffffffffff0000003c00000000root/usr/local/share/doc/libxslt-1.1.26/html/processing.gifGIF87aˆ ÷øøüø¿Ü’6@ žðÒÿ¿@÷9 üðÐÿ¿@|˜,`7îÿ¿´ø´!î!ÿ@¿@¦ =Ð@@`8(86ïîÿÿ¿¿\M@„9ÐÝ @@¤x6±´!Ð,ðð6ÿ¿×VHïÿ@¿  5(AS6Î@\¶Ý ´B`!j@{Dø`ï/ÿ ¿ø×§H\ Vð5Ý( {6@ üS5(h6Ðîÿ@¿\$t7j°Lø{ï/ÿ@¿Xƒ>`AXÎ>*@@V´!@ø´T/!°ðÿ¿!øf@/œtGïî ÿÿü6Òq@$øñ/_ÿ¿X>R(†8±Þž„×Òîÿ@@¿Iž=Òe`@ ´Ðñ!\ÿ¿@$ÐñÝóÿÿ¿@¿´„!ñRÿ)c|øf‚/´!RÐóÿ¿úÐ+óÿ@¿äô ð*ÿ{` ,Ôñïÿÿ¿¿(öñ7ÿ$ ñðà|Ðð`óÿÿ¿¿Q{‚`Ð @48Rˆ|È`îÿ¿ ðÿ¿ÄAðÎÿ¿@Ðäó ¶ÿ*|`¶ ð¶,ˆ þH° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cÊœI³¦Í›8sêÜɳ§ÏŸ@ƒ J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝʵ«×¯`ÊK¶¬Ù³hÓª]˶­Û·fÈKW.Ü»xóê­Y·¯Ý…~ïL¸°a„uQ ≯±c°tùÎ}<6pbʘ±^Þ9³æ¿€;_œ æb­§1Nf˜Ú«è¡¯=+í[qõÄ¿ ]‚¶uwîÑ¥ú¾5vRÞ²aÿθœ5qÏ[þnŽ3ºÅÜÔo?·>p:÷ê̳þ3Ÿü&rä ¦WéÝçz‡Ø¿kï.¿}Ï÷ ñ/=_~¦q‘òÄt«ˆ›]Ãm7àr ªGÚÁHŸƒ ”`€ÅGh¡oþÇ q±Efà‡N¸á‰!Ò7 k_½ØŸb2Žô^‰)¨¢Ž¶¨ã ˜#ˆ<’h¤‡¥q8d’¶éÚŽ?"Ȥ@yЈ>)åŽRvyd”LZ‘“R‘9cx*_“ Viä—E®(䜂h%‹`Ê)!•ªm$’Ryg}Öm9¡pâÙã¡‹þ)œ™TÕx¦FÚ˜fˆ9¶8¨œúɧ¦mb)h¢(&¶)¥™"é§nBdþuJ*—¥š8ëšmI:©Dºê¶æ”ŒÒʪ«WÊú§¡¬žšçœ£n¤ìŠ·¶Š˜±±2+­´Í=›ß¥¡Yæí·ÿ½Té®.þÄ-²q6KlzöUûêµZr§íum:Z.¼pZ›e¨Æª‹­¼ÑæG)€Õ;£Á,É +¿Â®‹¾Ë‚j­²v‡¯³õò¶(Å„¾ên²ÑVè¼ê9K°Ng–²tY!›ï¢h¯›'êáÍþ±ÎÜ*Ôî–†>Hj’-×ÌåÍ0çôÐÐ]ÉQÏ·Ýuy+‹[2Žñ… (´ f»j§`cŠ´Ða¾YªØhÓ›5¦ÛåÖ8smÖoŽí%Üå­³þ€M=¦¹ä;^à„ûì7Œ!.â‡UM“ã…Æ8`'y®“ßyä™û\yP—£ºy›Þ¹ç‰uúZ«^ú™­#ö9lžÅ.$¸¸[VÛëýÙîtêG£³ÿÍ{í%ù¾álŽ)_2ð»O™ó|C”ðŸ%_<¯Ò7õM~¤ßoÏ}÷†ÿv[Ó¢çƒ÷YnÊlÚ³jk‡ÎÀŽi¦TþPWi*&©â¢ïìª×¢Ó¨TÖ¶©5·^7N×fH³…ÕSGOW¥4´;•ÐÒE]|™M}Kï²iܬvW~ʵ(Ñüô­‰.Ó©èElØšö°¯nMo¿\èâp·]ð4¹³Ôe<¹ù4qåîxÁüî=,0ýÒ“¦nt_yë§Iß‚†ì§%xå[É%^¯ÅÉÍqß ÌV)ú¡F¨Iêa3 Qš@.ågdLå(wÇCÖå ¿{ã9±Ê`N1–Ëãs†™¾Æ!þè¬|ËÞäÍ_l2[ä¼ß¶zÎm6$‰“äåÅ6ˆ¯Œ k»›üä^:ùN±«Úãʶ7DÎÕðû²Ýý…eÍkl*ǘ¤¸¸!˜p?}Ì9¸˜×j®Ö¢•æÒßÃqNáw½o2÷rOXøìÉ.ç5«Õ-7”ãÏì.ϳ{šu’ã{áúþ6ÙÞoWýî F÷Ö¥fÏž‰ý†Q§:OÇ^wvRk:fÝ^xN^¡xüà¯îõU7ôém/6‘çŽjÊ+<ïá}Ò9ŸS {tÃB'½ã=ot¸·¾ñÅ„=Óyùsµ3ÞõW½¿ÿwºã~ä¼,xæ_ÿöÑCœõÄ7|ñ#¯|Ý]2!—òíÿräKþÞ„ÿ½Îþï:^=û°wþp8¡Ö{H?òÍ߼챿þîÏ|Öô¸ø¯tÍ3õÜŸþöÕ¯ýn._ô²ä}ä¦ö}ÍvcfGåÇûgx€»g}ùõ~ÿõ~g)ˆ~O³t‹×~úWFÙG}vEŸwúdƒåûqv2f)½Ss¶cp“´É‡‚)ø+`fS-H=—Bˆzù‚ìgr×÷€‡vLXeÄbsMˆqÀ±o#ƒýç‚Løu…\¸‚R×…G€SW\Ø8‚(ø‚ 8yó†n¸UA(Xoè…jc‚KzV‡†XvÖ€îg8aƃ#æƒgÖx‡þxè{F˜~ Øe~8{[8c†Ó‚²¥†Øtˆˆx‚r§‡l‰g‚!ˆE÷(X‰hFˆ˜˜‰Iø‰˜†‡óˆX‚©è?Ú¥‰G8|›³:PG‹¨„¤‰+£‹¯Õ†7†…(H¼Xy¾˜ˆÀx_´¨BÄø+mÈŒ@ØsªÈyØŠ{Ȉ$ØE #`ĈŒÓÈZݸŠ"Š3gHáUPÒw‰åhŽÈóøç˜V V{XrɨŒ÷¨õˆƒEaʵf¶wñ(ψ‹Þ(›˜GóÕtЄ]iÇ@̤;X#‡|Ö9~§…è8©jkwü¨2KNc…T'ëhêÈŠöˆþcáÈvå¸W ¹mdõNÚ´GÃ’0ù‹±g† ’á˜x$yT3O ÕM—Ñ?ùCé“2‰bíT\ã‡CZ Õ1BI ¹ •ø˜ %„JI[¥BaYR –p ŽE™•fy~¬0Ó´–/yƒÎ”1Ù–DI•Á÷véji yÕ”€É‡*·„YXÃF{„h'NM8—¶0Kù—©‡MPl)kjõ”oéÛøG‡)?Wµ—9ú˜3Dp±ø¥)–§9nZ‰@{“™µé•Àñ™ 9“f5›œ¸˜¦©ˆ¸©/Â_þç—-YrÀéjÂunÄé›Î9„È©¼þ%pÅUŠyá°©mÓù‡Ù•q™ŽÁù(žã pðižDhœ¶™€§žíùšï™")Ÿ´IŸ½Éžû•}➢óL.t“_é–Ú ·y àY ú ¡åI–ÏGš¡é9mJ¡í¨?Æå7°øœØ9Jø‰1 ¢©?¡è’èÙ¡)Ê¢žzŸŠš9ˆ¡š¡&ŠŠ*+Š£ñy•; £œyœ?ºž5*¡å„•…Y‡n¨w<*£Ú¤æ7£6ú¤ '\sH¥HzœfR¢ZgŸNj¹gyµ´¤I*aZŸ(J ¿y£DJlyžmʘAu–r¤[Цù4–Sù¦þWª‘&H¦V¤¥4€n5†JÔƒäc¦Sx™k装f¥ÇE…‡¬Do‘ʦ•†|Œ~Ês³¸© Zbž ‘ ZŸ–ˆ¨ìˆ©™j‡ÖV‘9ˆŸZ¥Š*‹}8ªÐ(«:È©^J«‹†pýˆx’ ¬ŒÚ—» h=¬¶ŠbÄÊ¡ô–ª²Ú{ÓÊ—…§r*†ÇŠuÂÚ©,f­Íª­:¦¾ŠhåúZá:¬ßÊ<ÆJ®Ýj®Ï ¬­Z§Xê­ÖzªÔ:®ïªªxª¤ó:°Z¯Þõ¯¨Ò®— …‹k §›¯Åj¯»f € +¯Ûšk©„Û-òª° 믛¬ôJ±¥j°%þ±³:hÑz«&{±¥ö±,»²*+³ëÊ®#³¨Q­${¡»­.{¯ ²€èŽiZPÙŠ±C‹´F{³:»³¨´ vM‹“O+µ([´-ëµ´hµ@ú¤šª¦”¹€¨I©K‹³(¶Lj±Žê´†9=;ŸÖ´¶w·Z;·±Œ'Ьx+‘z»·¢¥ –³Åy·WK¶Ëú«wÙ·÷W†ŽY™“‹¶DÛrek§… ¹ç«Ì ¶[‹¸)kL×§›ë=Ìç¹ Êµÿɺ•ºu븰i¸8Ôª» TÛµlk·—w‹ƒjB´ë°`y»£ º¼›»@Iº¾û»À¼˜Ä˱ºÛ±ÔkÊþ[º¦Û¼œyÑûº¢›¸ß[‹£Hªh¹½{ؽ µà‹¼«k±½QZ}³æë“è[¿”‡4»bÃò§FÙ3¸¾ÆÛºßk½œ¾dû³¹‰»¼|ƒû¶Ïh¿QZ¼» Àkç¼á¶šÞÇw < xÁÍØ¾ì+Á<µûÒa8#&+Uoüº¸èÁk³¢‹•ù«¿ ‚Âeƒ7/õMó•µüÀ|ê¬é½îKÂ{BT'ìYË^<,ýÄ1µ1\k\lÏÂ1Š… KÌÁwçÄIŠ®Q¥3LÃU2óÔv+ÌÂÈÅ®v·A'›wcÜ0ö’ÄJƲ wj|±+ÂÓ ÂC<µþq¬4ÌbÆYL£$˜Ç¥iƒÒ ÅüÇ:û[Àr15lLjEÉ‚zÈ?lŠH(Ä k¸–\bðU.¶r7zS˜[…ŃÈñû˜”G»Ÿ\»™ä³Y*Jª—¯ŠlD7Åi¯l¶T˪Ȝ<Á|~Ü#²<±³ÌͺNj¬«~ì¶$ìo¼ŸÃÌÝÊÃåç¼½ ËQÍŽf=ØŒ³^|tÜ ÎëÆº oÁ5ÎÕËÈ.kÁÝìÍԼξ¦cîÜÇðL̼ª*V°>WVù¼Ïï Íà vý*®{‘l­Ï]Ð0LµS<ÏûµW>ýÐÑ sΚYj+²” ¸ÉüÌÝþÏÆúÑÙ‹ƒè ÑúÁ ÌÏݵëLч«®²÷Ò5-¤'ÝÑÝÓºjÏ8ÓðÚj<Ôuº!ÌÔl½DÎ/\—mšÔ) ®¬Œ#­Õ–»ËþÌÒ—ìÒéêÔ2BöÌœ­ÓfhÕÇûÓtÖà—о\ÕcÝÖnÝ=p×r-·k]×ÌÎ9–×zÖs-Öw}Õ‡]:‚=Ø„Í×tØv}ÏvÖ(—«šûØe ÓA¼@®ÜÈ•ÌŠëØ†ÙMÚ…ƒ¿·‘|”/Ú×ý×å£_K­ß*ÕböjlÝȱMcP8…F ¦­ÙS½Ô~<ч&4RÔ°m_H]ÜŸ[³o$|þcÇʼÌí|¹ýÜІG˜×Ÿ¼¯À-Ü›íº’ÍB7 ÚÔˆ £)´®mÚd-¼ÔwDÑçÜ£=Üä}eñÝNÂ)™×íŸÿ˜Ý3mÔx]–¡)rÿ½ÞíßM™è3‘öVÝFÒ .ÞOLÜð­Ø¦6œ=õŽ¡½àãýÔªØ|s˜gÍnáyzáF.™W“=Î ®âéœßô ;%^•t:â3~ß!^ÚÐ7)/N“â(b)îã,>À}¦2†5„{ãKàέҧ'/n:õÖãRþÚ(ÝáÓ“ã§GŽä+ŽáüÍC^_NÃ4næBÍ¥’“æÒ“åQ^›ÙÕR}hMþàþ-þ¼ žäšas¦‹‹­xk>“Y-Š[]ÞnV蛹çf]çÑ]~•ÉEbKŽþè_ywlîdwù霎àþHžÜm‘•>«>éV•êP´ˆ~âZÖçûæèmˆ'»é-ÝŸæ];ت².é§éœæ•Ýl=æ–ÀíÒ>íÔ^íÖ~í-jìsîììý×þíàþíΟÍÎíý;ážîêê㎵¿„‘ÈA6…lÝæå`¡îø.îìNî?fÊnÃ_-5á^ï€]ù~ðÔ~èÔYM<©“iÓð9©ä„jðÄ^Ñò‡[* ]—;ñð¶þþêæÆñ‡Rê òW÷iõ®#ðAnz/Z¦ò4ÍòŒŽ+*ZŒ#óùÎìæ˜š ä:?Õø‘&d’2ôø®å ÿ¡³^(ÏóI?ô8õ?‰sŠP¿îR?õU~ôÕeö‘õ!/O@Ó0b¨b³i<Òñ\S÷ªöaî¬mê†nöžÕõ‹¥ö9YÔ…(’<@ñRø7lÊŸy¯÷{Ï÷^~`LÃõô.ø;,Qâ0º)Y¯L$S]Ã0Žÿøúù’OóÃ’ÄÇD¢˜¯ð7X%Z!žÍR÷ô¦íTMôZôw³QvOНßîÊ SÆ'ÈBÇC•ø¼þ)»ÏûG>ù=\üb”Þ;9WµÅUŸ4“5áÐýÕÞê|ÇÄÖ¯ñ¡Vµ>ÛïNÜ/ÉÞ¹Í)þãOþNNéçoüÛ´ü9ìU()Ê@4ˆP Â‚ 6d8ðàă,^ĘQãFŽ=~RäH’–D™RåÊ Y¾„3¦K™5mÞÄ™SçNž8O–|h2¨Ë‡ ¶ôT!Å¢BBdhôdS§?•~ä˜UkÖž]Mz;’fX²0Ç–E›VíZ¶/¶û®Ê­uíΉ×ëU½hùöXðàr&ìÑîb®‰I"vÌòld™“)_Æœ9¯cªš+2þÑsÒÑnÿ–yõjÖ˜!ëU9ôì­_·.Û³eܽ}Ãþ˜vhÛÁUòæ¬Ûøræ]o7O;4îçÍ;¾]ûvÕ¹ƒ•θ·wèEÉó4ÿ]ýú›çÙç ¿xüûÇÙwšwO_?ûüûeÆ¿k>ÿâ¯@¹ Tn@÷ëoA–¬Ë·¬ 9 /TpB I‚p«ß4Ü0D)qD¬:lLBWdqÅ[ü Å‚{Fo\­ÆeìˆFr;wäQ#ㆠ2I%ÛBÒDŠ4òÈ%§¤2³&GLPÄ+«ä²K·¼Œ+É-Á$³Ì¯ÌLjLîÔD³M*Ù$N!ݤþ³Îãê̲E9íäK:óÔ³OAûÜs@@a,tPEõKÔ? ltQI¿‹”¾G¬tRM¥tóRL7UL2­òôÓPOEtÔ§J5UWý³ÀN_¥ÃLµ“uÖZwÍPUüþä5XF}ýUWa]3VoUYdŸuŽØb…¶Z»\ÖNg­å¶2e§Õ¶[qGÛöÈ\ 7]×¾µ/\uß=Œ]VG…·^ÀÊ¥±]Añµw\~ÇÓwß~fë_êæ¥–`…£Åᄆ8'ƒm›xÁŠ#®õâÒÆcÛcÊŒÜý¸ä/WY4’Mfù1"S®må–g.ìå”ùÔ˜æAsÖ f‹ÐþÕ9h„lh¡uæ/ŸcÆùhš“VÚç™8nj&žê¹–®ìV« ƺe­áâzêà|”߱îrm¶Ê6˰¯Q²pîîØ.Ùíµàni*ƒþ*ðô¢Š©¥"ºŠ¨Ä; 8,½ñîi¨•-Üqù6©¿ýh?ûµoCÉÝ´$ΰ{ ü\ç–½ .±)5¼ß§ÃбïyR]—"½bpE4"ƒ2HÅ :¥€]4`úδÁ›¹Æ†¤ #£xW9:g‰dÞ–Ù%vñŠc²ÎAþÑÑ„M$ÕýˆB6͸ ¤~¸†Ð}$4ã56Jnü£`öIþeqæ»âиèÅ*ÎÐŒp'5JRÆm78ê£Ñji(rá2€‹¢å.þJËEñ—Š ¦0 ÔK_Êr–Ê V2»’K]BóUÒì 5›fÍŒýH›Û䦫°É“oÊ,œ çNÊÙ±s¢*:Y';Û‰Î$žÀš'=I$ÿAìù\—ƒNÓψý ”1èÙXØ8…%ô „qèþ€H9{Eô¡±hTΕµ‹ÓP:ZF;Š‹.1¤#˜MzR”š“RN$&·DÚRµ$¦1•)MåÙ¬•†m¦:-Ë?A:¼Ÿµ˜/e(ÖŠjÔ½ðt©Az*Sï5g*èž9’j™nuUípucY¥×ÖŽ¹¯2¬Ø¢jTÖ[ž­b­ê€Øª™¨ºµ&[«~æJþW»¶-­Ž\k^9Õ×%á5®þÙ«•;%êժ‚õÑb•ÔXÀ>ö°Ì©«dïWÇʲҬ¨8[YÏ^³¡mU[û›Õµõüë'ÔÚËdöµüŒm‘(D[„Þ¶£•í‡úÃÛÈØÖ·TígÉEБ—3ÇMpu›¯ú‰Ä¹~„n ¤Ë#s9$×…hvYDÙ"ÝÔ¼çEoz½£Î–G¼.Ê­ŒÔ;_úÖ÷¦ÊUÑ{aE6üÒ½/ õ"òNW¸ëUL©3`-ÅWFÝÝèw\x»¦î¡,Ê [˜¿¦ÍÑp'Ìãê7Sö ŠïÕá xÄÐQq_Jü^þƒø=1‹/Tãö’õŨ™±xyLZÄþø«:Þç‡{¬W#›ɽR2‘}lãÈ>ÊÉ¥òzp F+_ùmM6ΖádG9+OÎngcOù²Ë^ö#™ïóT9gWc8ußl1„Ö™u¶Ú3œeœF3õ”Aæ¥(ÁÕ&C чVtR½4ÔD?ÚR؉pZ(ZŸQÚQ–v4F=]S$áy~‹¾4¨S-êLkZ¶Ä4ªßãg読ծV(¬c½éåк֑f.©­¸9žq“©“õ¬Uj'×Ô±'YGW[Ù˾v³­Mêb¿²HD£_œÝ,l¯6ã7wHAþ"›×ƒ-7¹ïµma¯›Ý¤¡»M­Øx¯§\ô®7»ï njW{ß®í7¥æ}ðãL[Ýø·¸ß Ú„û{áø"áQ0ùAtï…á½­¸¼Ïño[r¢Z„a Ý-è»·Ù›šx~[®p’~|¼6ÇîÌiÞ@_7µÒ:ŸIO%ÒžØkCÿ9ЃÏŰ™8`±/LõFË\éK‡˜rT†ùÞWw9Ó³|W®G®ì×;Öo‚b5µýì N»›qÂö·ß ê_»uÔ©õØy½ëG{Þõ.ö%K¬î†¿{•?ø¬Ý[‰÷»Ù)¾xH6¾ð>9<æ!xÊ÷šðR¶{äÑ“ù¶vþ¾òkǯÃܾyÉsÞôxÉ:;ÞÉÖ~ô®½âk"ûQ#·ö¿¿=Üsöݧ^ê¾¾í§*üá3¾ø)£ú¹V/úåS¸ùÄ=Ì¢Ÿ-Ö'øN¾þimÂûóÒÞûç¯>ïv˜¿ê¶£~è•Ï×õŸ>ûcç>n»Ÿþïó»þØ ÷+•é›?ÄS¿ÿ³¿4>³ =› ÀÒC@çS@ÇÛŒø3À,®”»á;ñÙ?ùë¿ Ô@ö£‹Ô? Ô<̹LÀ¤@üÀ ÁdAL º‹ÁÄ@«AD TAlÀëÁ ¼A<›!|¼ ´"4ÂDÂÔP ÜA"tþBä(D>þC?¤Á+ôÁæÒBXªB²ËÁ&Ã'Ã<&\Â2³4´8¼<9C!¼C.“C, „C*œA¡ÛC‘+ ? DU¬¹ú©ì8¹Ù;APä3Q9Ò¤AºE@¤Å¤³–2 êìáÅ^ôÅnÉ£0Y$5šcl±wIÆ0Ñ# aÅÿùB“›â ~šjŒ@o\‹< 6äàpüFq‰Æ B%n„Ag¼9™ÊFiœF×qÇß‚–t”BfdstB~ô8þ‚¥J“ͪGHñGôˆG%b"úI‰ƒC‡ô SÒžë È¹Æ‚¿‚È=ÜȃÁȷ›‹üÈ5éHÉI+É>;IFKIìXI?<IOP-66 ¡¢ äæä &+(ÚÛÙÖÙÚÍÒÔâåáÓÓΟœ}}vìî¡ %#¼¼¹/0,€€uÌÌÂûüùüûømnl áæéßãæñôð××Ö··µ££SWWÏÏdz³«ÏÐÏØÜÝøû÷ÓÓÓÓÖÔžžíðñöúúÌÌÊóööýþüÃľbeeÛßàÃÄ䣛ˆ‡‚³´®àâ߯¯§orpûûú€€€!ùÿ,´Dÿÿ È‘ƒjÁ(\Ȱ¡Ã‡#JœH±¢Å‹3> VÍ£@C äÂB£É“(Sª\‰’‘­° lT('èÜɳ§ÏŸ@ƒ J´¨Ñ£H“ö<¥Î¨„¬¬ˆl¤ð ¥X³jÝʵ+V&O6ØCa^Óª]˶íÎeôø(U€M@81À€ß¿€ LØï€'¸]Ìx릩- 0„ϽPT, ¡†çÏ C‹MZƒ] T n̺õPÓ,q ‘ÏTHx‘D &‚ N¼¸qã¿ï䨑z€b×УSu°!@¥P¼àHž/àËÿO¾¼ù/,ô€›BBÕÏ£·ÝÛ÷p|‡ ÇçZ'ÀXÀ“Pè’„3À°€ úà 7D(!„ i³Ìwh P|ŇP°š|C] /ز9 pbŠ+æÔ•€-;á·€pC0˜²‚$i™†H™†$+¬°É&¡ŒD+­8 …)2ÈI&¿üBˆ  €LÜ!ûédâ”ä †9ä@Is$æe€ ÎdဠIèâéôùg xe C< ‚-cøŒ)¸BM %ˆÑK W‘B ½ˆ©-ðB -aLp®èKHÿãÌhÒ—8²"¸üA:ä°@¢= N q°‘Gy aB›ç€*`Í  † ,`mØj«BZŒî4€.&” #¹¸€‰ ‚ìƒÍ¼ôÖ‹'øzRF@¢‹!†¼Ó¿eâG~¨Ë9 ÀáÀ#7ø0Á7$hÀæ€PÔ‡BTÀC 01… ä¤W›Fü“^ª¼Ó ºhB” %/ 3ÍWd€3¹ å˜ñ ®°eÀƒM)Ù4M)P£#5:ùz‚ :ýlH–ÐÃêøxSgìÄâ ¿` QL‘ƒ 2îE¹(T((DÛÂjÿ†š *d¶ÀºŽZj€'>øß"°ßƒž]áÍõµ@CAó Lx°€º¼¡yMá„°© yâ#U.Žæ°Å Ç qð¨Pµ¾ûòÛ/$—á‡:Nì`È;”ñ *qœGGÌ K,‹ø‹%4ŒÒë/½8‘DÉ=Í„B,Lb‡B(ÄÓÌjD¡C2wÐùBwøö[Z(—CŠó»¶¨-¦Œ.‚úËÁt?;u& ‡p"À‚ ˆa Ÿ[@æ(h|` ]¸Ã0!B夈9s]ÐÜ´€$´ ©¨À J±¯ßeMkž! Ñ… ‚c(ƒ7ÿ ‘{p{Ø Ѐh,â‰OŒE/àP…pb ß肤¥ä`|¼Å$2‰¸"ÐC¶€f}šSH ¢pœá bø ú€=``o  %c u¸@ô°G¼¡ Y€B Ü£ÀDÚÔÈ-(¤$;° T#*Š[P^w.-´ÁOX& †ÃZt^ÀA Þð†/“h€%bÁLêqƒÝàB|P^øl‹Åú¢Bªq‹H(d“°€J€P€k3¨#f… ‚ Ø„:PÇ Œƒ €Ãêÿ„%š8DÌ0Ž B@1ÀÆq°X“hY 4—ŠS@@(GB2`@ 4ÀE °R$xåÜ@‡ÕRkÈ£CúÑ‹2СGŒè`jœá˜{@C xy(cê8G7¨Pó>Ó€² Æ < $Å$ZÁ³kP@!l¸>0‡9(fÈf…ÌÂaAZ 4 F6ÍfñÉ`uÂ,fQ ¢šœ(Í·…<`u|B®‡ ˆ›*Tˆ¹PªR/ÐaÁ ­h“Ç‹<äAtðƒ&âB¸Â¤X-÷p8ÿÀÁ @C²b@TÔ4˜fp3©RU!©P B€†04¡Ž¤3C>Ò PØ@!¡¸EuÀÙš‚|,o+®p …( pƒ0^´Ó €ìŠÂ²à°™”¨æXð;ä- °ƒ2‡@äøž*MºB @)…å=H:Ó­!À. ÐA‡ Ñ C8 J4ˆ†‚ypIJ`80 ,xjq§Ê“h3Õ8îá1|“0Cyk‡L@fœP6!YL0?¸ÅÂP‚ÀùB ®@¾”ÃM˜úÚwÿ½È¯bY€æ5Øf°î¼€[Dy ¬Ò{¨!µ~¨°¢½¡5saN€Ä7hÐ$ü!@C(Xð… JäbЃë`Èñpw\¬€1Èåh¾‘NÈ$ùËR@ó«ò5@ åTH$là‚^ ³æ-/¢ÐŒ:¦â6hA0p×»¤ù͘ÔEb÷k3T[6h²¤0s@PE4¡%|é±Íß(ÒzÁ†301µ:è>ü€‰opU!ÛˆC’HQ“ÚÔ`À±Ž+Æãx1Û\ÃÜá. ÀœȇÈ*Ø )ÐnQ ÈL€œÿ»sÜ ÌÀ¼‡ýF20nh!ãø¦› ;h [sîv;‰‘‹0ă æ ƒ9ºð¹t7xÐæÁ=H¡XÀbNjx>P¡K0ƒ÷ˆ0ñLt¡=ÉhA>‚[E4 ¸D¨G]ê,è!áª&.Ãç†#l“.ø†{ºÀ¡ h à\à (À·P@ä`ƒ^d`0ƒdp<pF€h b,ˆø 0XCä (Ï®9p6¡° ˜À¢Ðõƒ¸Œ¢î¨ß£ °ø)þÀ|?|#g`/ ñp¤˧ :PŽ5 ‡@ÂÿŠ ȽàtG¸ÂW½wž@Áü2&-f  ¡(hÄà 0ÁÉ6PPcÀàñÀz“—L¿Ð9$àHÀO(@3ÀáÀOŒð ` hpAp:S€p G`@ ²– "0 `X¤%µJO·nOp–à ]à ¤„ʧ Ë‚jð“hP €°‚E ${à šÀ¨wswpv‡w g\9¢jà)÷'U:“  ¨pr%N@]0Ð tè ½À ÔNà¹@^ @kLàaàæ($ð ½PPlÿÍ 6pD ˆ3Ž¢Åà%Pcˆ@S­Ðî€5°`8¨Y]´n<àd –ðƒ>˜½pK Ê—oÀ P?ÒÇð hPUx~Www·~zÇ…aL` ` w0`@ I` ˜Ž€¢pÀLàéà0€Q##5@É`ñ˜``æà)ÀLàgÜuÉ0`éN(ÝØ«`y?C|9u^À $`‹$i‹˜Ð À&Œ€ á“2©6x° `~Jÿ´[=@Y˜j[Øp:1¢PŠbza—£ÁAI ".²¶àn/À~q9¦8& t”&кpŽSÀIð¼AõX–[ùÃ;*PI¥Øž!M°Ú2| ‹u*åÌ0ƒ9†i˜oà íYPG7 2™2+  €bÈ2j@€pw>É~Ò¨ø19§¡ #£¹Ð&Ó€"ö;ÙÑ€8„³šª‘B© ž±š~¡´‰›Pà°J¹¦85‚2Àé`5pƒ¯ÓaO@ðop˜Æ°ƒ™ ´á’ÿ9ž1I™° (Æ„ ™œé™yÇjYá2=2óÉ2Dq2m‚ŸAŸ,c”PŽàQ ZÐt}I±aÈ  N€ 0‘î ™ä)™Xà-v h€~£¶œi¨öžíÇôôÙô‘&zø `¶”ö‘¯ÄH@Dà[æ¼ÐM0f!*™Ààpà 8¢ÖÎXcŸ8ªüiœÀI µ‰”­‘šåȪ1ÚÑÏâ–®(Å·£ápDåp6`ÔÀ ¼“‘¤‘©6ª@ ¨€ž{}ìÙ™``c(šn’ó,ÿZ,“ó7›ñ &@2Ò© ”q¢à à 57»©º°!H±¦7ð… nêq:6Pˆ¼ð]zZžü°D`™«j„Ð1°™„j[Õð“Ø'óãn˱^”R©a@\)‡g03àÒ n׋A¦cÀO`$ &Ã0šªºÀ®z ù«÷°e÷0Mzú# Ð÷Ðp™º[2V¢` »€Æš#0Èò*H€ Ðl`nI,Ž2%w"€ž´ÐéÐãÂ@)€/(zq*Û¢ÓYmpPGPìê£ïÿZBPˆ žä™ 0À®Êå׫}7¬Š š@I cI qpà]€n1Š¡ ñ² ÔÕ L`hÁ3 •µ.6¸©šÑ,ûéª ÎP4ëª>ú¦Bðä‰À  š€ Uȯ™)¥$ & »´VŠ1¶0ÆD°l&€Y^d­æ¥>3pe Cˆ²0¸Ï0~¡ GÀw±©ª£0ÛPÎ0³ìz¸vª¤>a Ð € º P cÁº„ÊŠ •À¸ð)š@ fÛ§Q€3Ä27yÀöàÿ°¹ ‘k0™Ä&Ø£«¢ §«ºà(É`/ ­Nç—€ ³   šðPá@³H D€ ¸€‘ üàq¶âb[P[@[£ö¯ˆ[¨ŠP Ï[°/£ $p¶ 1¦+|Ïa/€G V@ñ"G s $xΡ)‹Ÿ*›Y: ŠŠŽ‚ ~·‰0Í ªNPHˆÐ { .kE¨ ¼š0»Î0·t[¹ W‘y€Œüô#5ù«Ž ¬w§¸r ’½)º* "¬õðqó`&0ñ`B`Q€S à bàúS§ÿ 8 ÀŽ”ðÈ”°š·ùȨÑ8šQcS•ƒ£`¤‰`$¢D:«ø§ Å ú²œ@ ¼þ[Å ÀGÐÕ1“_šÐ p “>P ›¼Y€´•°7À´>Ð 1Ô`8ò2*ø0dÐað õHÈ·`‡À,^Àj` ^ °3PuÐIà T›¹±¨!9@ ë¹ H€myÖ`²€6d?ÐP1p“¿ú—„–Ì« ¸Á+¼ ࿳+³z!1¹¤­P À ¡Ð ¨à¥Öž,Ÿ°Ÿ€ ÉܸáÓÌÏÍ5ÿ`°;2G 9 Ѓ¼0.‡œ»E 2;HÐ’PGE J!ø † q Йç( ˜ÊÐQ\h ÑMÑ]€ < 7P ­ x ÒÀ<=€Æ`À¼¼â .­Ì1íÌ ÍPÓn¢˜‹ nˆ2 Xµ(à3 ®PÐðWÐ 1¼6½€ D ÁWpPbð 0Äž\‰¬°r ]W ·°[4° û Ö‚ÛºÜÊÁûViÍ  ÀàÐb°Ê«‰»Á+ý ¯°×0í~2ý×4m.@Ù`%ÿ`‘2Ì ëp š@Ù@NÍ0 Q ¥ƒ- ÍàuC3 ’ ¾€ÚBpãà€<0€Ç]@R\ÊÉh€—€ÛÖaMáUØ\e> ¡1©6(p¨0×<‰´kŒ×ªð <ðÒÑ+7×=ÂÙÝE”QÕƒÀ™­<Ð å`sõ Q ñ—U <ÐcàÉàžD §`bÐW€ƒ€ýÍ훫·þ‡Nàº9ª¿]q DAá« áûºæ«Ð«0 Op ñš Ì=Ìi¬¸•Ý#  Ô½â:ÁÌ~íâ½Yoÿ°¾ÿ Ê7ÞOs øMÙi0WmÈ (-ð&0 ±Ê³Ð -P¦íߢ0qÍÀ¹ P`nÌú¶;¡ªÀpë³õຢºTÐq°^Ò à ’‘çzÆŠÝ[ð #ðìþƃÞâöâ°³ê‹åÝè ÍÌÔ@0qßÐ N¶©ÀaÐ M Œñ„Ðàxh¨Èܾ¼à¶p®aÞÐû{}pgÀ\ðC@•DLPºûz @2v¸Î]×|ݪ0Â0Ò âÒ„>Ó‡.š* ÄÚ¾µ„¼¦î=2¾n: ѾqÿVÐß…Õ @3à&@Õì»í'o¾c‹ÊR^ÜlôÎCðÿCJtëPz¼/–¤6ׇ \ñ&Žñ Ï×Ö]èÕØô‘œ\ò÷^N0sœD ™ zµ+P½à«y®@0õnòã[¾çKôÿ¾1Ì’ô„ ðЧYp}Ðø¥FŽ €ÐY@c&º£0 ’Ðç+°ßõ]ÿõÕÍâbOVÔ€JB™ìx>ŸU@?ø²7bO¾bàwPØ Á s {£Ši‚zÐ" èà&ø A¾Bÿº~ù`FT=à‰¿ø„ÿ €EÐTr ¿ yPE€ £ Kð =` €! +ÝìÏÞõF`ªéHh0ÀàA(ú`Èpµd5Th¨rèÎ# ˆ²!KD‘† Ö”@0daÇz™ÈAb“Æ \dH²€Ò›6¤‚ UY4rô’¡È1SdÚ”©Æƒ4hsã *K–DˆÐÃQ 6mä !S@¿¤HÙRL3x2YyÄ%Sˆ3úÀl§jÄaÂŒÔ2"íF• :Mx²áÃd¶$=‚ÀI¡¡?†\#ÆÉ— AqG"G/Dˆi,ÄÄ„­´’uˆgCTÿ5˜?®TÈ\4$‘St9%~ªÁ¨ÞHe%K*YµF ‚USŒdðÈT*q¬Tc“ªJ&rTZ]@´¥R_¿תe±â‚MÜã"Y5@“fDª!¢6;êÏð1*V"¹'.’ø%‚+ÀÐHŠ&¾©0=šq§„ì ¢¡T‚0ƒ7mÀ@Á¢'^0`Škê8’ë`Q=1ºèpøê—VL‰A‘Z A’8$á! SdÀ%“QF)‚%¶ð 0ÁèSB <°æ€ Ê©ý4:¥…dîè…¡~Èhæ@†¬ ãÅ8%'¦Ð(>Zpÿ¢‹ Pˆç VkÈ2œ`†¡{d‰b ®a¡Lfd±Ï?E0¥!Nniâ(QaŸj(*]´ â`Ð +ôðÕH*¨âNF1481Ž'B€¡•Fä£G6Ø%¾2k9s˜cnbŒoHV¦X@‹`êd‚! âgÔ±Áä$1fØÕHÜpfP€ƒŒ+®A£j€¡®è@0x"bÖb7Â"Ð(gP`â ÞŒ•ÇHânH 0ag+z$&!Ø"Ž8ä¤PB£ŸVb`„LÑã—2Ùÿ%°nÏT,È‚ ´Ðݨ4Èà˜Ò¤…Ðx  2–Ш• RÀxrیЀMÖh!ƒ1@ŽÈèÀ˜¨cœ†Z±aá˜7\è@îÈËIašaÚÄ^€"Vãf5H^˜Ž€áAZq¶]›<¸ˆÀ *x @À²by*ÑC’]ߥ’Wä3óÌ ¶¹/˜@ ¦Ò…¢zòþm¿a*$й%Õ èþÖ ‚š BÐHwâè&®¢!áIäc¼@Âý`r„ d`‘«[é\¦# S¡.nàƒ HaDåðÿAIpP a#ñ‰-ˆ£/¡è™Œ0Ÿç)aUF×À ˜à*ÈÑAX$ÜÃnèÄø0´à@Ä0/4 B8E$âЀDañ„ Ö°+Ä 6¸ÇÆÀ)Ô ƒ&>àph" B'ìñMˆ!÷x†¡ô¢cH,à ML±Šqä7’ ( -Ìa.²½¬!¶ˆÊr0„ WÀC)MyJT¢«d%+¿ðXÆÀ   Z0Á ZhYW§[˜àLˆ‡ \À‹¸# èÅÆÐ Cf $rÁ˜`Èdÿ¤Ã`RЋ^èÑN AîàoDÁ†DÀ#{Ñc–€ éHGz1ˆÁæHÇ7¦@-˜ Ó„§5¿á Àñ8x…)ä@ÙC-Ò= ø Ђœà #%iIMzR”Ž+e)0È… Ľ(×)êÃx2¡É°€œàLø†`ÀNèi2¦€Ð.$Õ˜S}ê.Øb ¨AL0…§’à]0A;{Z(¤z`¨°€SM …H@/ AU›úO5¼@ Í@:’¡ÃdRG 6€:0åÀì‚¢ð9´ÿ“¥le-{YÌf¸Ä=Æà °dðåAN`€hÀ«…M Vû½ÀÐ…\k‹ÈV2ºÐÅV%` 5$! q}Õ ‚Ô®VÐ…\o›ÛÙÊÕæÔÂp50Ú@¿Å-t¯«èB¯jÐ*nŠº:`jDºŽk -Láæè=ÆÀ ü@¿ûåoýûßà×™½pG`š˜·8`0ƒ"€œ`np…!á08ÂÆ5ni`a ¯îÂήnt^WøÃà0ŽP×”FÀr› Ü;5(u¨ßøF}üc YÈA.j¡ÊYÞó¾XÉKÞfr“üä¦`XB x²‰¦° ©}A´Õ¤†YÌc&s™ÉÜ…êæ ºx•‡¡üf8ÇYÎMyI*ñ0¤Kq/Û\ ZЃ&t¡ mèÞª vóœýhH;ey@þqéà Lxð…[üiP‡ZÔ¡Îp£#}jTÇ™  @#.ýj+°"ÁE¢äTçZ×»–ó ¢P‡QBVxu±¹ð)ï%[ÙËfv³ýlhG[ÚÓ–6 ¸Pll¨†°©ýmp‡[Üã&7L‚Q 8âÎÅ;070701000623f9000081a40000000000000000000000014f22154400006ffe000000b600010002ffffffffffffffff0000003c00000000root/usr/local/share/doc/libxslt-1.1.26/html/APIchunk8.html API Alphabetic Index n-o for libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

API Alphabetic Index n-o for libxslt

Main Menu
Related links
API Indexes

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Letter n:

name=
xsltGetProfileInformation
nameURI
xsltFindTemplate
named
xsltFindTemplate
names
_xsltPrincipalStylesheetData
xsltApplyStylesheet
xsltApplyStylesheetUser
xsltProfileStylesheet
xsltQuoteUserParams
xsltRunStylesheet
xsltRunStylesheetUser
xsltSplitQName
namespace-alias
_xsltStylesheet
namespaces
XSLT_ITEM_NSINSCOPE_FIELDS
_xsltCompilerNodeInfo
_xsltKeyDef
_xsltPrincipalStylesheetData
_xsltStylePreComp
_xsltStylesheet
_xsltTemplate
xsltCopyNamespaceList
xsltEvalXPathPredicate
xsltEvalXPathStringNs
xsltFreeNamespaceAliasHashes
xsltRestoreDocumentNamespaces
navigational
XSLT_ITEM_NAVIGATION_FIELDS
necessary
xsltCheckWrite
need
XSLT_ITEM_COMPATIBILITY_FIELDS
_xsltStyleItemDocument
_xsltStylesheet
xsltGetProfileInformation
xsltInitAllDocKeys
xsltLoadStylesheetPI
needed
_xsltEffectiveNs
_xsltStackElem
xsltApplyOneTemplate
xsltCompileAttr
xsltEvalTemplateString
xsltFindTemplate
xsltParseStylesheetImportedDoc
xsltRegisterExtPrefix
xsltXPathFunctionLookup
xsltXPathGetTransformContext
xsltXPathVariableLookup
needs
xsltApplyOneTemplate
xsltEvalUserParams
xsltGetTemplate
negative
xsltCalibrateAdjust
xsltFormatNumberConversion
nested
_xsltStylesheet
newly
xsltCopyTextString
xsltExtensionInstructionResultRegister
xsltNewStylesheet
xsltNewTransformContext
next
XSLT_ITEM_COMPATIBILITY_FIELDS
_xsltEffectiveNs
_xsltElemPreComp
_xsltNsAlias
_xsltNsList
_xsltNsMap
_xsltVarInfo
xsltGetTemplate
xsltNextImport
node-set
xsltDocumentFunction
xsltFunctionNodeSet
xsltKeyFunction
xsltSortFunc
node-set?
xsltDocumentFunction
xsltGenerateIdFunction
node-trees
xsltFreeStyleDocuments
nodes
_xsltTransformContext
xsltApplyOneTemplate
xsltAttrListTemplateProcess
xsltComputeSortResult
xsltDefaultSortFunction
xsltDoSortFunction
xsltParseTemplateContent
xsltSort
nodeset
xsltComputeSortResult
xsltGetKey
non
xsltAttrListTemplateProcess
non-NULL
xsltApplyOneTemplate
xsltCopyNamespaceList
xsltGetTemplate
non-excluded
_xsltTemplate
non-wellformed
xsltApplyStylesheet
xsltRunStylesheet
xsltRunStylesheetUser
none
xsltGetDefaultSecurityPrefs
xsltGetNamespace
xsltGetSpecialNamespace
nor
xsltSetGenericErrorFunc
normal
xsltExtensionInstructionResultFinalize
normalize
xsltNormalizeCompSteps
normally
xsltEvalOneUserParam
xsltQuoteOneUserParam
nothing
xsltApplyAttributeSet
now
XML_CAST_FPTR
XSLT_REFACTORED_KEYCOMP
nowhere
_xsltStyleItemDocument
ns-decl
_xsltNsMap
ns-declaration
xsltGetNamespace
xsltGetSpecialNamespace
ns-declarations
xsltCopyNamespaceList
ns-name
xsltGetNamespace
xsltGetSpecialNamespace
ns-prefix
xsltGetNamespace
xsltGetSpecialNamespace
ns-prefixes
xsltGetSpecialNamespace
null
xsltEvalOneUserParam
xsltQuoteOneUserParam

Letter o:

object
XML_CAST_FPTR
xsltDocumentFunction
xsltExtensionInstructionResultRegister
xsltKeyFunction
xsltSystemPropertyFunction
xsltXPathCompile
obsolete
xsltApplyOneTemplate
xsltDocumentSortFunction
obtained
xsltSaveResultTo
xsltSaveResultToFd
xsltSaveResultToFile
xsltSaveResultToFilename
xsltSaveResultToString
occcur
xslHandleDebugger
occurences
_xsltFormatNumberInfo
off
_xsltCompilerCtxt
xslDropCall
xsltGetCNsProp
xsltGetNsProp
old
_xsltCompilerCtxt
xsltGetQNameURI
xsltRegisterExtPrefix
on-demand
XSLT_REFACTORED_KEYCOMP
once
xsltLoadStylesheetPI
one
xsltAttrTemplateProcess
xsltCheckExtPrefix
xsltCheckExtURI
xsltExtensionInstructionResultRegister
xsltGetTemplate
xsltGetUTF8Char
xsltNextImport
xsltNumberFormat
xsltRunStylesheet
xsltRunStylesheetUser
xsltTestCompMatchList
one:
IS_XSLT_REAL_NODE
ones
xsltCleanupTemplates
only
XSLT_REFACTORED_KEYCOMP
_xsltCompilerCtxt
xsltCheckExtPrefix
xsltCheckExtURI
xsltCopyNamespaceList
xsltEvalGlobalVariables
xsltExtElementLookup
xsltGetSpecialNamespace
xsltRegisterTmpRVT
xsltRunStylesheet
xsltRunStylesheetUser
onto
xsltAddStackElemList
xsltLocalVariablePush
opaque
xsltNewLocale
open
xsltSaveResultToFd
xsltSaveResultToFile
operation
xsltSecurityAllow
xsltSecurityForbid
optimization
XSLT_REFACTORED_XPATHCOMP
_xsltTransformContext
option
xsltGetSecurityPrefs
xsltSetCtxtParseOptions
xsltSetSecurityPrefs
optional
xsltRegisterExtPrefix
options
XSLT_PARSE_OPTIONS
xsltCheckRead
xsltCheckWrite
xsltDocLoaderFunc
xsltSetCtxtParseOptions
order
XSLT_GET_IMPORT_INT
XSLT_GET_IMPORT_PTR
_xsltCompilerCtxt
xsltDocumentSortFunction
xsltExtensionInstructionResultRegister
ordered
_xsltStylesheet
xsltComputeSortResult
original
_xsltNsMap
xsltGetUTF8Char
other
xsltFormatNumberConversion
otherwise
xslAddCall
xsltAddTemplate
xsltCheckExtPrefix
xsltCheckExtURI
xsltEvalXPathPredicate
xsltExtModuleElementLookup
xsltExtModuleElementPreComputeLookup
xsltExtModuleFunctionLookup
xsltExtModuleTopLevelLookup
xsltGetSecurityPrefs
xsltGetXIncludeDefault
xsltIsBlank
xsltSetCtxtSecurityPrefs
xsltSetSecurityPrefs
ouput
xsltFormatNumberConversion
out
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
xsltSetTransformErrorFunc
output
_xsltStylesheet
_xsltTransformContext
xsltApplyStylesheet
xsltApplyStylesheetUser
xsltDebugDumpExtensions
xsltGetNamespace
xsltParseStylesheetOutput
xsltProfileStylesheet
xsltRunStylesheet
xsltRunStylesheetUser
xsltSaveResultTo
outside
xsltAttrTemplateValueProcessNode
over
xsltAttrListTemplateProcess
xsltAttrTemplateProcess
overhead
xsltRegisterTmpRVT
own
xsltApplyStylesheetUser
owning
_xsltCompilerNodeInfo

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Daniel Veillard

070701000623ef000081a40000000000000000000000014f2215440000c3d8000000b600010002ffffffffffffffff0000003d00000000root/usr/local/share/doc/libxslt-1.1.26/html/APIchunk10.html API Alphabetic Index q-s for libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

API Alphabetic Index q-s for libxslt

Main Menu
Related links
API Indexes

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Letter q:

query
xsltGetKey
quick
IS_XSLT_ATTR_FAST
IS_XSLT_ELEM_FAST
quote
xsltFormatNumberConversion

Letter r:

raise
xsltApplyOneTemplate
rank=
xsltGetProfileInformation
read
xsltCheckRead
xsltRunStylesheet
xsltRunStylesheetUser
read:
_xsltStyleItemDocument
ready
xsltAllocateExtraCtxt
real
IS_XSLT_REAL_NODE
really
XSLT_ITEM_COMPATIBILITY_FIELDS
_xsltEffectiveNs
record
xsltParseGlobalParam
xsltParseStylesheetOutput
recorded
xsltParseStylesheetCallerParam
recursive
_xsltTransformContext
refactored
XSLT_REFACTORED_VARS
_xsltStylesheet
_xsltTemplate
xsltCopyNamespaceList
xsltGetNamespace
xsltInitCtxtKeys
reference
xsltParseStylesheetDoc
references
xsltAttrListTemplateProcess
xsltResolveStylesheetAttributeSet
referencing
xsltLoadStylesheetPI
reflect
XSLT_ITEM_COMPATIBILITY_FIELDS
reflected
xsltParseStylesheetDoc
register
xsltExtensionInstructionResultRegister
xsltNamespaceAlias
registered
xsltDebugDumpExtensions
xsltDocLoaderFunc
xsltFreeRVTs
xsltInitCtxtExts
xsltRegisterExtPrefix
registers
xsltInit
xsltParseGlobalVariable
related
_xsltStylesheet
xsltParseStylesheetOutput
remain
xsltLocalVariablePop
remove
xsltParseSequenceConstructor
reorder
xsltComputeSortResult
xsltDefaultSortFunction
xsltDoSortFunction
xsltDocumentSortFunction
replace
xsltGetQNameURI
replacement
_xsltTemplate
report
xsltApplyOneTemplate
reports
_xsltCompilerCtxt
xsltGetSpecialNamespace
represented
xsltFreeStyleDocuments
representing
xsltFreeStyleDocuments
requested
xsltFormatNumberConversion
xsltGetNamespace
xsltGetSpecialNamespace
required
xsltDocLoaderFunc
requirement
xsltComputeSortResult
xsltDefaultSortFunction
xsltDoSortFunction
requires
xsltNeedElemSpaceHandling
reset
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
xsltSetSortFunc
xsltSetTransformErrorFunc
resets
xsltSetLoaderFunc
resolve
xsltResolveStylesheetAttributeSet
resource
xsltCheckRead
xsltCheckWrite
xsltRunStylesheet
xsltRunStylesheetUser
respect
xsltFindElemSpaceHandling
restored
xsltApplyOneTemplate
restricts
_xsltStylesheet
result-prefix
xsltNamespaceAlias
result-tree
xsltFunctionNodeSet
resulting
_xsltTransformContext
xsltEvalTemplateString
xsltGetKey
xsltLoadStylesheetPI
xsltXPathCompile
results
xsltParseTemplateContent
retrieve
xsltXPathGetTransformContext
return
CHECK_STOPPED
CHECK_STOPPED0
xsltAllocateExtra
xsltAllocateExtraCtxt
xsltAttrTemplateValueProcess
xsltAttrTemplateValueProcessNode
xsltEvalAVT
xsltSplitQName
returned
xsltExtensionInstructionResultFinalize
xsltGetProfileInformation
xsltGetQNameURI
xsltParseStylesheetDoc
reuse
xsltApplyOneTemplate
xsltReleaseRVT
rid
_xsltPrincipalStylesheetData
_xsltStylesheet
right
xsltParseStylesheetProcess
root
_xsltCompilerCtxt
_xsltCompilerNodeInfo
xsltApplyStripSpaces
routine
_xsltRuntimeExtra
xsltLocalVariablePush
routines
xsltSetDebuggerCallbacks
rule
xsltFindTemplate
rules
XML_CAST_FPTR
_xsltCompilerCtxt
run
_xsltTransformContext
run-time
xsltAllocateExtraCtxt
xsltCompilePattern
running
xsltSetTransformErrorFunc
runtime
_xsltTransformContext
xsltAllocateExtra
xsltAllocateExtraCtxt
xsltDocLoaderFunc

Letter s:

s390
XML_CAST_FPTR
same
xsltFindTemplate
xsltGetPlainNamespace
xsltGetQNameURI
sane
xsltFindTemplate
saving
xsltSaveProfiling
saxon
xsltFunctionNodeSet
scanner
xsltNormalizeCompSteps
scope
_xsltKeyDef
_xsltStylePreComp
_xsltStylesheet
xsltApplyOneTemplate
xsltEvalXPathPredicate
xsltGetQNameURI
xsltGetTemplate
seaches
xsltGetQNameURI
search
xsltExtElementLookup
section
_xsltStylesheet
security
_xsltTransformContext
xsltCheckRead
xsltCheckWrite
xsltFreeSecurityPrefs
xsltGetDefaultSecurityPrefs
xsltGetSecurityPrefs
xsltNewSecurityPrefs
xsltSecurityAllow
xsltSecurityForbid
xsltSetCtxtSecurityPrefs
xsltSetDefaultSecurityPrefs
xsltSetSecurityPrefs
see
xsltEvalOneUserParam
semantic
xsltGetCNsProp
xsltGetNsProp
separates
xsltFormatNumberConversion
separator
xsltFormatNumberConversion
sequence
_xsltStackElem
xsltApplyOneTemplate
xsltEvalTemplateString
xsltGetUTF8Char
xsltParseSequenceConstructor
set
NODE_IS_KEYED
XSLT_MARK_RES_TREE_FRAG
XSLT_PARSE_OPTIONS
_xsltStylesheet
xsltApplyOneTemplate
xsltCleanupGlobals
xsltComputeSortResult
xsltDefaultSortFunction
xsltDoSortFunction
xsltDocLoaderFunc
xsltDocumentSortFunction
xsltExtensionInstructionResultFinalize
xsltInitCtxtExts
xsltSetCtxtSortFunc
xsltSetDebuggerStatus
xsltShutdownCtxtExts
xsltShutdownExts
sets
_xsltStylesheet
xsltAttrTemplateProcess
xsltFreeAttributeSetsHashes
xsltResolveStylesheetAttributeSet
xsltSetDebuggerStatus
setting
xsltGetQNameURI
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
shared
_xsltStylesheet
_xsltTransformContext
sheet
_xsltStylesheet
xsltLoadStyleDocument
xsltNewStyleDocument
should
CHECK_STOPPED
CHECK_STOPPED0
CHECK_STOPPEDE
_xsltStylesheet
_xsltTransformContext
xsltCopyTextString
xsltDocumentSortFunction
xsltFindElemSpaceHandling
xsltFreeRVTs
xsltGetProfileInformation
xsltLocalVariablePop
xsltLocalVariablePush
xsltNeedElemSpaceHandling
xsltQuoteUserParams
xsltRegisterExtElement
xsltRegisterExtFunction
xsltSetXIncludeDefault
xsltSort
show
xsltFormatNumberConversion
shows
xsltFormatNumberConversion
shutdown
xsltExtShutdownFunction
xsltRegisterExtModule
xsltRegisterExtModuleFull
xsltStyleExtShutdownFunction
sibling
XSLT_ITEM_COMPATIBILITY_FIELDS
side
xsltApplyOneTemplate
signalled
xsltGetQNameURI
signature
xsltDocLoaderFunc
similar
xsltGetQNameURI2
simplified
_xsltCompilerCtxt
simply
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
xsltSetTransformErrorFunc
since
xsltAttrListTemplateProcess
xsltRegisterTmpRVT
xsltRunStylesheet
xsltRunStylesheetUser
xsltTimestamp
single
xsltEvalOneUserParam
xsltQuoteOneUserParam
size
_xsltStylesheet
_xsltTransformContext
xsltPointerListAddSize
xsltPointerListCreate
slightly
xsltGetCNsProp
xsltGetNsProp
slot
xsltAllocateExtra
xsltAllocateExtraCtxt
slow
xsltDocumentSortFunction
some
xsltCheckWrite
xsltCompileAttr
something
xsltParseStylesheetProcess
sorted
_xsltTemplate
sorting
xsltComputeSortResult
xsltDefaultSortFunction
xsltDoSortFunction
xsltLocaleStrcmp
xsltSetCtxtSortFunc
xsltSetSortFunc
xsltSortFunc
sorts
xsltDefaultSortFunction
xsltDoSortFunction
xsltLocaleStrcmp
xsltSortFunc
space
_xsltStylesheet
xsltFindElemSpaceHandling
xsltFreeDocuments
xsltNeedElemSpaceHandling
spaces
xsltApplyStripSpaces
spec
_xsltCompilerCtxt
special
_xsltCompilerCtxt
xsltFormatNumberConversion
specialCharacters
xsltFormatNumberConversion
specific
XSLT_LIBXSLT_NAMESPACE
_xsltTransformContext
xsltDoSortFunction
xsltExtInitFunction
xsltSetCtxtSecurityPrefs
xsltSetTransformErrorFunc
xsltStyleExtInitFunction
xsltTransformError
specification
XSLT_NAMESPACE
specified
XSLT_MAX_SORT
_xsltCompilerCtxt
xsltDoSortFunction
xsltFindTemplate
xsltGetCNsProp
xsltGetNsProp
xsltRunStylesheet
xsltRunStylesheetUser
xsltSetCtxtSortFunc
specify
xsltRunStylesheet
xsltRunStylesheetUser
spent
_xsltTemplate
stack
_xsltTransformContext
xslAddCall
xslDropCall
xsltAddStackElemList
xsltApplyOneTemplate
xsltFreeStackElemList
xsltLocalVariablePop
xsltLocalVariablePush
standalone
_xsltStylesheet
start
xsltApplyOneTemplate
xsltEvalGlobalVariables
start-node
xsltParseSequenceConstructor
starting
xsltEvalUserParams
xsltQuoteUserParams
state
xslHandleDebugger
xsltCleanupTemplates
xsltExtensionInstructionResultFinalize
xsltGetXIncludeDefault
states
xsltApplyOneTemplate
static
xsltEvalStaticAttrValueTemplate
statically
xsltAllocateExtra
status
_xsltTransformContext
stderr
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
stdout
xsltDebugDumpExtensions
steps
xsltNormalizeCompSteps
still
xsltExtensionInstructionResultRegister
stopped
CHECK_STOPPED
CHECK_STOPPED0
CHECK_STOPPEDE
storage
XSLT_ITEM_COMPATIBILITY_FIELDS
_xsltDocument
_xsltEffectiveNs
store
xsltInitElemPreComp
stored
XSLT_RUNTIME_EXTRA
XSLT_RUNTIME_EXTRA_FREE
XSLT_RUNTIME_EXTRA_LST
_xsltStylesheet
xsltEvalOneUserParam
xsltEvalUserParams
xsltPointerListAddSize
xsltQuoteOneUserParam
stores
xsltReleaseRVT
str1
xsltLocaleStrcmp
str2
xsltLocaleStrcmp
strict
_xsltCompilerCtxt
string?
xsltFormatNumberFunction
strings
_xsltStylesheet
_xsltTransformContext
xsltLocaleStrcmp
strip-space
_xsltStylesheet
xsltFindElemSpaceHandling
stripped
xsltFindElemSpaceHandling
xsltNeedElemSpaceHandling
stripping
xsltNeedElemSpaceHandling
struct
xsltInitElemPreComp
structure
XSLT_ITEM_COMPATIBILITY_FIELDS
_xsltNsMap
xsltDocumentComp
xsltElemPreCompDeallocator
xsltInitElemPreComp
xsltLoadStylesheetPI
xsltParseStylesheetDoc
xsltParseStylesheetFile
xsltParseStylesheetImportedDoc
xsltPointerListAddSize
xsltPointerListCreate
xsltPointerListFree
structured
_xsltCompilerCtxt
structures
xsltCompileAttr
xsltFreeAVTList
xsltFreeStyleDocuments
xsltParseStylesheetDoc
xsltParseStylesheetImportedDoc
xsltParseStylesheetProcess
stuff
_xsltStylesheet
style
_xsltStylesheet
xsltGetTemplate
xsltLoadStyleDocument
xsltNewStyleDocument
xsltRunStylesheet
xsltRunStylesheetUser
stylesheet-level
xsltFreeStyleDocuments
xsltParseStylesheetProcess
stylesheet-modules
xsltFreeStyleDocuments
stylesheet-prefix
xsltNamespaceAlias
stylesheets
xsltEvalUserParams
xsltQuoteUserParams
subpattern
xsltFormatNumberConversion
subpattern{
xsltFormatNumberConversion
subpattern}
xsltFormatNumberConversion
subsequent
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
xsltSetTransformErrorFunc
subsidiary
_xsltDocument
substituted
xsltEvalAttrValueTemplate
substitution
xsltGetCNsProp
xsltGetNsProp
subtree
xsltLoadStylesheetPI
success
xsltAddKey
xsltAddStackElemList
xsltEvalGlobalVariables
xsltEvalOneUserParam
xsltEvalUserParams
xsltExtensionInstructionResultFinalize
xsltExtensionInstructionResultRegister
xsltInitAllDocKeys
xsltInitCtxtKey
xsltLocalVariablePush
xsltParseStylesheetImport
xsltParseStylesheetInclude
xsltQuoteOneUserParam
xsltQuoteUserParams
xsltRegisterExtElement
xsltRegisterExtFunction
xsltRegisterExtPrefix
xsltRegisterLocalRVT
xsltRegisterPersistRVT
xsltRegisterTmpRVT
xsltRestoreDocumentNamespaces
xsltSaveResultToString
xsltSetDebuggerCallbacks
successful
xsltRegisterExtModuleElement
xsltRegisterExtModuleFunction
xsltRegisterExtModuleTopLevel
xsltUnregisterExtModuleElement
xsltUnregisterExtModuleFunction
xsltUnregisterExtModuleTopLevel
sucess
xslAddCall
sucessful
xsltRegisterExtModule
xsltRegisterExtModuleFull
xsltUnregisterExtModule
such
XSLT_ITEM_COMPATIBILITY_FIELDS
suffix
_xsltFormatNumberInfo
xsltFormatNumberConversion
suggested
xsltGetSpecialNamespace
suitable
xsltCompilePattern
sun
xsltFormatNumberConversion
supported
XSLT_DEFAULT_VERSION
XSLT_LOCALE_NONE
sure
xsltAllocateExtraCtxt
system
xsltNewLocale
system-property
xsltSystemPropertyFunction

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Daniel Veillard

07070100062413000081a40000000000000000000000014f22154400001864000000b600010002ffffffffffffffff0000003700000000root/usr/local/share/doc/libxslt-1.1.26/html/docs.html Documentation
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

Documentation

Main Menu
Related links
API Indexes

There are some on-line resources about using libxslt:

  1. Check the API documentation automatically extracted from code comments (using the program apibuild.py, developed for libxml, together with the xsl script 'newapi.xsl' and the libxslt xsltproc program).
  2. Look at the mailing-list archive.
  3. Of course since libxslt is based on libxml, it's a good idea to at least read libxml description

Daniel Veillard

070701000623fc000081a40000000000000000000000014f2215440000e481000000b600010002ffffffffffffffff0000003b00000000root/usr/local/share/doc/libxslt-1.1.26/html/APIfiles.html List of Symbols per Module for libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

List of Symbols per Module for libxslt

Main Menu
Related links
API Indexes

Module attributes:

xsltApplyAttributeSet
xsltFreeAttributeSetsHashes
xsltParseStylesheetAttributeSet
xsltResolveStylesheetAttributeSet

Module documents:

XSLT_LOAD_DOCUMENT
XSLT_LOAD_START
XSLT_LOAD_STYLESHEET
xsltDocDefaultLoader
xsltDocLoaderFunc
xsltFindDocument
xsltFreeDocuments
xsltFreeStyleDocuments
xsltLoadDocument
xsltLoadStyleDocument
xsltLoadType
xsltNewDocument
xsltNewStyleDocument
xsltSetLoaderFunc

Module extensions:

xsltCheckExtPrefix
xsltCheckExtURI
xsltDebugDumpExtensions
xsltExtElementLookup
xsltExtInitFunction
xsltExtModuleElementLookup
xsltExtModuleElementPreComputeLookup
xsltExtModuleFunctionLookup
xsltExtModuleTopLevelLookup
xsltExtShutdownFunction
xsltFreeCtxtExts
xsltFreeExts
xsltGetExtData
xsltGetExtInfo
xsltInitCtxtExts
xsltInitElemPreComp
xsltInitGlobals
xsltNewElemPreComp
xsltPreComputeExtModuleElement
xsltPreComputeFunction
xsltRegisterExtElement
xsltRegisterExtFunction
xsltRegisterExtModule
xsltRegisterExtModuleElement
xsltRegisterExtModuleFull
xsltRegisterExtModuleFunction
xsltRegisterExtModuleTopLevel
xsltRegisterExtPrefix
xsltRegisterTestModule
xsltShutdownCtxtExts
xsltShutdownExts
xsltStyleExtInitFunction
xsltStyleExtShutdownFunction
xsltStyleGetExtData
xsltStyleStylesheetLevelGetExtData
xsltTopLevelFunction
xsltUnregisterExtModule
xsltUnregisterExtModuleElement
xsltUnregisterExtModuleFunction
xsltUnregisterExtModuleTopLevel
xsltXPathGetTransformContext

Module extra:

XSLT_LIBXSLT_NAMESPACE
XSLT_NORM_SAXON_NAMESPACE
XSLT_SAXON_NAMESPACE
XSLT_XALAN_NAMESPACE
XSLT_XT_NAMESPACE
xsltDebug
xsltFunctionNodeSet
xsltRegisterAllExtras
xsltRegisterExtras

Module functions:

XSLT_REGISTER_FUNCTION_LOOKUP
xsltDocumentFunction
xsltElementAvailableFunction
xsltFormatNumberFunction
xsltFunctionAvailableFunction
xsltGenerateIdFunction
xsltKeyFunction
xsltRegisterAllFunctions
xsltSystemPropertyFunction
xsltUnparsedEntityURIFunction
xsltXPathFunctionLookup

Module imports:

XSLT_GET_IMPORT_INT
XSLT_GET_IMPORT_PTR
xsltFindElemSpaceHandling
xsltFindTemplate
xsltNeedElemSpaceHandling
xsltNextImport
xsltParseStylesheetImport
xsltParseStylesheetInclude

Module keys:

NODE_IS_KEYED
xsltAddKey
xsltFreeDocumentKeys
xsltFreeKeys
xsltGetKey
xsltInitCtxtKeys

Module namespaces:

UNDEFINED_DEFAULT_NS
xsltCopyNamespace
xsltCopyNamespaceList
xsltFreeNamespaceAliasHashes
xsltGetNamespace
xsltGetPlainNamespace
xsltGetSpecialNamespace
xsltNamespaceAlias

Module numbersInternals:

_xsltFormatNumberInfo
_xsltNumberData
xsltFormatNumberInfo
xsltFormatNumberInfoPtr
xsltNumberData
xsltNumberDataPtr

Module pattern:

xsltAddTemplate
xsltCleanupTemplates
xsltCompMatch
xsltCompMatchPtr
xsltCompilePattern
xsltFreeCompMatchList
xsltFreeTemplateHashes
xsltGetTemplate
xsltMatchPattern
xsltNormalizeCompSteps
xsltTestCompMatchList

Module preproc:

xsltDocumentComp
xsltExtMarker
xsltFreeStylePreComps
xsltStylePreCompute

Module security:

XSLT_SECPREF_CREATE_DIRECTORY
XSLT_SECPREF_READ_FILE
XSLT_SECPREF_READ_NETWORK
XSLT_SECPREF_WRITE_FILE
XSLT_SECPREF_WRITE_NETWORK
xsltCheckRead
xsltCheckWrite
xsltFreeSecurityPrefs
xsltGetDefaultSecurityPrefs
xsltGetSecurityPrefs
xsltNewSecurityPrefs
xsltSecurityAllow
xsltSecurityCheck
xsltSecurityForbid
xsltSecurityOption
xsltSecurityPrefs
xsltSecurityPrefsPtr
xsltSetCtxtSecurityPrefs
xsltSetDefaultSecurityPrefs
xsltSetSecurityPrefs

Module templates:

xsltAttrListTemplateProcess
xsltAttrTemplateProcess
xsltAttrTemplateValueProcess
xsltAttrTemplateValueProcessNode
xsltEvalAttrValueTemplate
xsltEvalStaticAttrValueTemplate
xsltEvalTemplateString
xsltEvalXPathPredicate
xsltEvalXPathString
xsltEvalXPathStringNs
xsltTemplateProcess

Module transform:

xslHandleDebugger
xsltApplyImports
xsltApplyOneTemplate
xsltApplyStripSpaces
xsltApplyStylesheet
xsltApplyStylesheetUser
xsltApplyTemplates
xsltAttribute
xsltCallTemplate
xsltChoose
xsltComment
xsltCopy
xsltCopyOf
xsltCopyTextString
xsltDocumentElem
xsltElement
xsltForEach
xsltFreeTransformContext
xsltGetXIncludeDefault
xsltIf
xsltLocalVariablePop
xsltLocalVariablePush
xsltNewTransformContext
xsltNumber
xsltProcessOneNode
xsltProcessingInstruction
xsltProfileStylesheet
xsltRegisterAllElement
xsltRunStylesheet
xsltRunStylesheetUser
xsltSetXIncludeDefault
xsltSort
xsltText
xsltValueOf

Module variables:

XSLT_REGISTER_VARIABLE_LOOKUP
xsltAddStackElemList
xsltEvalGlobalVariables
xsltEvalOneUserParam
xsltEvalUserParams
xsltFreeGlobalVariables
xsltParseGlobalParam
xsltParseGlobalVariable
xsltParseStylesheetCallerParam
xsltParseStylesheetParam
xsltParseStylesheetVariable
xsltQuoteOneUserParam
xsltQuoteUserParams
xsltVariableLookup
xsltXPathVariableLookup

Module xslt:

XSLT_DEFAULT_URL
XSLT_DEFAULT_VENDOR
XSLT_DEFAULT_VERSION
XSLT_NAMESPACE
XSLT_PARSE_OPTIONS
xsltCleanupGlobals
xsltEngineVersion
xsltInit
xsltLibxmlVersion
xsltLibxsltVersion
xsltMaxDepth

Module xsltInternals:

CHECK_STOPPED
CHECK_STOPPED0
CHECK_STOPPEDE
IS_XSLT_ATTR_FAST
IS_XSLT_ELEM_FAST
XML_CAST_FPTR
XSLT_CCTXT
XSLT_ERROR_SEVERITY_ERROR
XSLT_ERROR_SEVERITY_WARNING
XSLT_FAST_IF
XSLT_FUNC_APPLYIMPORTS
XSLT_FUNC_APPLYTEMPLATES
XSLT_FUNC_ATTRIBUTE
XSLT_FUNC_ATTRSET
XSLT_FUNC_CALLTEMPLATE
XSLT_FUNC_CHOOSE
XSLT_FUNC_COMMENT
XSLT_FUNC_COPY
XSLT_FUNC_COPYOF
XSLT_FUNC_DOCUMENT
XSLT_FUNC_ELEMENT
XSLT_FUNC_EXTENSION
XSLT_FUNC_FALLBACK
XSLT_FUNC_FOREACH
XSLT_FUNC_IF
XSLT_FUNC_INCLUDE
XSLT_FUNC_LITERAL_RESULT_ELEMENT
XSLT_FUNC_MESSAGE
XSLT_FUNC_NUMBER
XSLT_FUNC_OTHERWISE
XSLT_FUNC_PARAM
XSLT_FUNC_PI
XSLT_FUNC_SORT
XSLT_FUNC_TEXT
XSLT_FUNC_UNKOWN_FORWARDS_COMPAT
XSLT_FUNC_VALUEOF
XSLT_FUNC_VARIABLE
XSLT_FUNC_WHEN
XSLT_FUNC_WITHPARAM
XSLT_GET_INTERNAL_NSMAP
XSLT_HAS_INTERNAL_NSMAP
XSLT_IS_RES_TREE_FRAG
XSLT_IS_TEXT_NODE
XSLT_ITEM_COMMON_FIELDS
XSLT_ITEM_COMPATIBILITY_FIELDS
XSLT_ITEM_NAVIGATION_FIELDS
XSLT_ITEM_NSINSCOPE_FIELDS
XSLT_MARK_RES_TREE_FRAG
XSLT_MAX_SORT
XSLT_OUTPUT_HTML
XSLT_OUTPUT_TEXT
XSLT_OUTPUT_XML
XSLT_PAT_NO_PRIORITY
XSLT_REFACTORED_KEYCOMP
XSLT_REFACTORED_VARS
XSLT_REFACTORED_XPATHCOMP
XSLT_RUNTIME_EXTRA
XSLT_RUNTIME_EXTRA_FREE
XSLT_RUNTIME_EXTRA_LST
XSLT_STATE_ERROR
XSLT_STATE_OK
XSLT_STATE_STOPPED
_xsltCompilerCtxt
_xsltCompilerNodeInfo
_xsltDecimalFormat
_xsltDocument
_xsltEffectiveNs
_xsltElemPreComp
_xsltKeyDef
_xsltKeyTable
_xsltNsAlias
_xsltNsList
_xsltNsListContainer
_xsltNsMap
_xsltPointerList
_xsltPrincipalStylesheetData
_xsltRuntimeExtra
_xsltStackElem
_xsltStyleBasicEmptyItem
_xsltStyleBasicExpressionItem
_xsltStyleBasicItemVariable
_xsltStyleItemApplyTemplates
_xsltStyleItemAttribute
_xsltStyleItemCallTemplate
_xsltStyleItemCopy
_xsltStyleItemDocument
_xsltStyleItemElement
_xsltStyleItemExtElement
_xsltStyleItemIf
_xsltStyleItemInclude
_xsltStyleItemLRElementInfo
_xsltStyleItemMessage
_xsltStyleItemNumber
_xsltStyleItemOtherwise
_xsltStyleItemPI
_xsltStyleItemParam
_xsltStyleItemSort
_xsltStyleItemText
_xsltStyleItemUknown
_xsltStyleItemValueOf
_xsltStyleItemWhen
_xsltStylePreComp
_xsltStylesheet
_xsltTemplate
_xsltTransformCache
_xsltTransformContext
_xsltVarInfo
xsltAllocateExtra
xsltAllocateExtraCtxt
xsltCompileAttr
xsltCompilerCtxt
xsltCompilerCtxtPtr
xsltCompilerNodeInfo
xsltCompilerNodeInfoPtr
xsltConstNamespaceNameXSLT
xsltCreateRVT
xsltDecimalFormat
xsltDecimalFormatGetByName
xsltDecimalFormatPtr
xsltDocument
xsltDocumentPtr
xsltEffectiveNs
xsltEffectiveNsPtr
xsltElemPreComp
xsltElemPreCompDeallocator
xsltElemPreCompPtr
xsltErrorSeverityType
xsltEvalAVT
xsltExtensionInstructionResultFinalize
xsltExtensionInstructionResultRegister
xsltFormatNumberConversion
xsltFreeAVTList
xsltFreeRVTs
xsltFreeStackElemList
xsltFreeStylesheet
xsltInitAllDocKeys
xsltInitCtxtKey
xsltIsBlank
xsltKeyDef
xsltKeyDefPtr
xsltKeyTable
xsltKeyTablePtr
xsltLoadStylesheetPI
xsltNewStylesheet
xsltNsAlias
xsltNsAliasPtr
xsltNsList
xsltNsListContainer
xsltNsListContainerPtr
xsltNsListPtr
xsltNsMap
xsltNsMapPtr
xsltNumberFormat
xsltOutputType
xsltParseAnyXSLTElem
xsltParseSequenceConstructor
xsltParseStylesheetDoc
xsltParseStylesheetFile
xsltParseStylesheetImportedDoc
xsltParseStylesheetOutput
xsltParseStylesheetProcess
xsltParseTemplateContent
xsltPointerList
xsltPointerListAddSize
xsltPointerListClear
xsltPointerListCreate
xsltPointerListFree
xsltPointerListPtr
xsltPrincipalStylesheetData
xsltPrincipalStylesheetDataPtr
xsltRegisterLocalRVT
xsltRegisterPersistRVT
xsltRegisterTmpRVT
xsltReleaseRVT
xsltRestoreDocumentNamespaces
xsltRuntimeExtra
xsltRuntimeExtraPtr
xsltSortFunc
xsltStackElem
xsltStackElemPtr
xsltStyleBasicEmptyItem
xsltStyleBasicEmptyItemPtr
xsltStyleBasicExpressionItem
xsltStyleBasicExpressionItemPtr
xsltStyleBasicItemVariable
xsltStyleBasicItemVariablePtr
xsltStyleItemApplyImports
xsltStyleItemApplyImportsPtr
xsltStyleItemApplyTemplates
xsltStyleItemApplyTemplatesPtr
xsltStyleItemAttribute
xsltStyleItemAttributePtr
xsltStyleItemCallTemplate
xsltStyleItemCallTemplatePtr
xsltStyleItemChoose
xsltStyleItemChoosePtr
xsltStyleItemComment
xsltStyleItemCommentPtr
xsltStyleItemCopy
xsltStyleItemCopyOf
xsltStyleItemCopyOfPtr
xsltStyleItemCopyPtr
xsltStyleItemDocument
xsltStyleItemDocumentPtr
xsltStyleItemElement
xsltStyleItemElementPtr
xsltStyleItemExtElement
xsltStyleItemExtElementPtr
xsltStyleItemFallback
xsltStyleItemFallbackPtr
xsltStyleItemForEach
xsltStyleItemForEachPtr
xsltStyleItemIf
xsltStyleItemIfPtr
xsltStyleItemInclude
xsltStyleItemIncludePtr
xsltStyleItemLRElementInfo
xsltStyleItemLRElementInfoPtr
xsltStyleItemMessage
xsltStyleItemMessagePtr
xsltStyleItemNumber
xsltStyleItemNumberPtr
xsltStyleItemOtherwise
xsltStyleItemOtherwisePtr
xsltStyleItemPI
xsltStyleItemPIPtr
xsltStyleItemParam
xsltStyleItemParamPtr
xsltStyleItemSort
xsltStyleItemSortPtr
xsltStyleItemText
xsltStyleItemTextPtr
xsltStyleItemUknown
xsltStyleItemUknownPtr
xsltStyleItemValueOf
xsltStyleItemValueOfPtr
xsltStyleItemVariable
xsltStyleItemVariablePtr
xsltStyleItemWhen
xsltStyleItemWhenPtr
xsltStyleItemWithParam
xsltStyleItemWithParamPtr
xsltStylePreComp
xsltStylePreCompPtr
xsltStyleType
xsltStylesheet
xsltStylesheetPtr
xsltTemplate
xsltTemplatePtr
xsltTransStorageAdd
xsltTransStorageRemove
xsltTransformCache
xsltTransformCachePtr
xsltTransformContext
xsltTransformContextPtr
xsltTransformFunction
xsltTransformState
xsltUninit
xsltVarInfo
xsltVarInfoPtr
xsltXSLTAttrMarker

Module xsltexports:

LIBXSLT_PUBLIC
XSLTCALL
XSLTPUBFUN
XSLTPUBVAR
_REENTRANT

Module xsltlocale:

XSLT_LOCALE_NONE
xsltFreeLocale
xsltLocale
xsltLocaleChar
xsltLocaleStrcmp
xsltNewLocale
xsltStrxfrm

Module xsltutils:

IS_XSLT_ELEM
IS_XSLT_NAME
IS_XSLT_REAL_NODE
XSLT_DEBUG_CONT
XSLT_DEBUG_INIT
XSLT_DEBUG_NEXT
XSLT_DEBUG_NONE
XSLT_DEBUG_QUIT
XSLT_DEBUG_RUN
XSLT_DEBUG_RUN_RESTART
XSLT_DEBUG_STEP
XSLT_DEBUG_STEPOUT
XSLT_DEBUG_STOP
XSLT_STRANGE
XSLT_TIMESTAMP_TICS_PER_SEC
XSLT_TODO
XSLT_TRACE
XSLT_TRACE_ALL
XSLT_TRACE_APPLY_TEMPLATE
XSLT_TRACE_APPLY_TEMPLATES
XSLT_TRACE_CALL_TEMPLATE
XSLT_TRACE_CHOOSE
XSLT_TRACE_COMMENT
XSLT_TRACE_COPY
XSLT_TRACE_COPY_OF
XSLT_TRACE_COPY_TEXT
XSLT_TRACE_FOR_EACH
XSLT_TRACE_IF
XSLT_TRACE_KEYS
XSLT_TRACE_NONE
XSLT_TRACE_PI
XSLT_TRACE_PROCESS_NODE
XSLT_TRACE_STRIP_SPACES
XSLT_TRACE_TEMPLATES
XSLT_TRACE_VALUE_OF
XSLT_TRACE_VARIABLES
xslAddCall
xslDebugStatus
xslDropCall
xsltAddCallCallback
xsltCalibrateAdjust
xsltComputeSortResult
xsltDebugGetDefaultTrace
xsltDebugSetDefaultTrace
xsltDebugStatusCodes
xsltDebugTraceCodes
xsltDefaultSortFunction
xsltDoSortFunction
xsltDocumentSortFunction
xsltDropCallCallback
xsltGenericDebug
xsltGenericDebugContext
xsltGenericError
xsltGenericErrorContext
xsltGetCNsProp
xsltGetDebuggerStatus
xsltGetNsProp
xsltGetProfileInformation
xsltGetQNameURI
xsltGetQNameURI2
xsltGetUTF8Char
xsltHandleDebuggerCallback
xsltMessage
xsltPrintErrorContext
xsltSaveProfiling
xsltSaveResultTo
xsltSaveResultToFd
xsltSaveResultToFile
xsltSaveResultToFilename
xsltSaveResultToString
xsltSetCtxtParseOptions
xsltSetCtxtSortFunc
xsltSetDebuggerCallbacks
xsltSetDebuggerStatus
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
xsltSetSortFunc
xsltSetTransformErrorFunc
xsltSplitQName
xsltTimestamp
xsltTransformError
xsltXPathCompile

Daniel Veillard

07070100062435000081a40000000000000000000000014f2215440000194b000000b600010002ffffffffffffffff0000003800000000root/usr/local/share/doc/libxslt-1.1.26/html/intro.html Introduction
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

Introduction

Main Menu
Related links
API Indexes

This document describes libxslt, the XSLT C library developed for the GNOME project.

Here are some key points about libxslt:

  • Libxslt is a C implementation
  • Libxslt is based on libxml for XML parsing, tree manipulation and XPath support
  • It is written in plain C, making as few assumptions as possible, and sticking closely to ANSI C/POSIX for easy embedding. Should works on Linux/Unix/Windows.
  • This library is released under the MIT Licence
  • Though not designed primarily with performances in mind, libxslt seems to be a relatively fast processor.

Daniel Veillard

0707010006243d000081a40000000000000000000000014f22154400001b8a000000b600010002ffffffffffffffff0000003c00000000root/usr/local/share/doc/libxslt-1.1.26/html/stylesheet.gifGIF87aæð÷øøüø¿àÜ’‰6@@ žðÒÿ¿@÷9 üðÐÿ¿@|Ô,`7îÿ¿´ø´!î!ÿ@¿@¦ =Ð@@œ8(86ïîÿÿ¿¿\M@„9ÐÝ @@¤x6±´!Ð,ðð6ÿ¿×THïÿ@¿  5(AQ6Î@\¶Ý B`Ðj@{Øø`7/ ø´§!\¦Tð=ÿÝ {@ (Q56(h6Ðîÿ@¿\$t7j°Lø{ï/ÿ@¿Xƒ>`AXÎ>*T´!øR/ïÿ¿°ðÿ¿!fœtGî ÿ¿ü6Òq@$øñ/_ÿ¿áÀw2d†8±Þ„×îÿ@¿Iè=6e` Ðñ\ÿ$ÐñÐóÿÿ¿@¿€„À6ñ2ÿ@¿cÐ|¼f‚6œÀï2ÿÐóÿ¿úÐ+óÿ@¿äô ð*ÿ{` ,Ôñïÿÿ¿¿(öñ7ÿ$ ñðà|Ðð`óÿÿ¿¿Q{‚`Ð @pÀ82@æ|È`îÿ¿ð ðÿ¿ÄAðÎÿ¿@Ðäó ¶ÿ*|`¶ ð¶,æðþH° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cÊœI³¦Í›8sêÜɳ§ÏŸ@ƒ J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝʵ«×¯`ÊK¶¬Ù³hÓª]˶­Û·pãÊK·®Ý»xóêÝË·¯ß¿€   °áÈ+^̸±ãÇ#'L.€¶—+k¾h¸`çÌ;Cí´ZÓ›SG,Lµ×aÇF½‘öYÛªs+„-Û4îÖ¿Ê®H;8aÝ (_μ¹óçÐOƒ>ºAë ±.޹BèàÃþƒ­)éÏ—§«/¾X zà¼ÓWÏ<ü0|úö«w÷ŽP¼ÿÿî!&U|äà}ž©×Ú ²æ ‚ùèÚ„ø]·ý§áx*öÔƒ Η`oë5Xá|¢h"‚"RgœX/æ¶áŒÍÝ×ÞRçÕg[ŽÀ¹'"yŒ%ø£déqçSŒ !™L0âcI‘èn¢‘h „;Z¹¢×ÉSy#)¹Y“4v ÙQ¤uøãAŽØã•n2ˆe—lz¹]‘ë•…' f’=¥ÉÙŸqŠDæŒu:†f‘>^É—:N©æ š8eop6*zŒ:Úi›FH( ŠÉШoz¨†Â5fþ ÊI š•Ê b¬žªÈ'–òiº„}òØ"¨™¢djK¨¾ˆêš·*«­zXTޏæ‡'jÂv˜§{â·-Š—.8Ѭ“ÂÙ¹Ëvt,K£þ™n±›:û¬Ù)ÝNëæj­ð¢›oFÿbDm¨k¶éíd@šËc¥‘^z0nóÒ[¯½·}I¬ÁJJ§­Èº„±¾û‚Œ©¾·;+¨Ä±x ‰aX/ã”ïÇ '¬Ÿ¿{ü)}̆hë‰)[«âœàöXÞÊá…Ö0aï®4s¬gúžÈª°F§:4³)ZzcÁ+z4ÒÑ…†P̶|q§+Ælm•{:“”Zo­0ÉYjLtþÝrªLösX šönk_u5À‘ö¼u┞s±Öýwµ >¸…ãþ“æÍ~ʱgŸÛ½k㟧ù2Û~OÎ\i–_îëv†ë<,Õ!ÓʵžŒ>žð®¼§®ºrI¶>øºhCÅyæÛv{ ê6+¬ükžŽî'‹åôûê!ŸöñVÕ4K×/¦öÞiþù觯¾÷@…q¸OåOóÜFW8Ê-ËR—ºì¦\M©%óô-?"w5é%Ë?ö8£.S+ݹ¼ZÌûJwmH¼ëE Þÿú¬_ü’¯ÍúËÒжžÎŽÀza³Æözƒ¬„Á%X¢–î¨ñ5gVÎ+ÙÎõSmrûðïGU¶ZØÄt¥YÍ`”a̹x®§r"uO2CAe+U‘‹¯‰Q¦äÛôX?–Ší !mQTƪ£S×lÉéîdŽž¸x=ÿÑÅô@%½GPÖÏ´ß°½ÓMâúŸÔ~ªïÈí{²{ æž#½ßIð©ùû ?'Çgñ5’|ü9>ÙLG¬b)Ÿ•æ›pù±~M´þ¯—è×fú¤Þ ÷mˆ}ŒŒ_&ç¿‹÷M ¾ç›w"é÷aù/ÿÀ¡±þtYrÛO}ŸÚ ø7ú'0à7n%â~³5€œQ€“#{èo( Ø,ø7˜ê£€¬UÄq·(D"AHZógØ9h=%ØY'X)H³G‚ýgmx1 (qÛt-XY/H1øb„nqƒã’ƒHãDøƒ<×x5È[=xQL(KH{QGSUX[qç„áWyWQY]8gKe8„cÈi¨H^¨oøym8ÕvØû&oÔ)ô5aFe •ÚhäøfжŽã¸xQŠ´ŽBREâREEkÎ…Žéˆ8U;Œfþeq¾È3›¸n77^CUƒecI?ü؃ÂH‚l«¦icD79¶(^öe¿áww8»%x¥c&óEtZÖ\)’BWþ3 ‰G¶˜yV:’V|†kñÈAš´‘º“1ù‘M9ú¸ÈUV&i.-Ög F¿ò„f745JMy*ØØ‘ÄH”8Vrœx\/%ky;RÕePvˆ5XL–V„ï%gË"ŒB9”zBWÆMSYiiiewIhjw¡¤v{w7ëˆV]“оø’å`Ó“hV“`õkló^¾±1†¦DP™w©fs!y–s¶/ÇB—¦æ?µÄ•ÿ“u´–d­ò&3i)ø…§<¥¹‹ûG˜†IcÄè”_‰TŒYŒåŒyçE8.PVr‰—!5— vyÄù$ÉX„¶c‚),ù›—þäœ.Ùyã3œ¤xœI=‹'™…v™ö“™Wˆ¨l°§ï)ƒÞÉŒÞö}“†Ÿnõ¦ŸÄ5z@VŸì·žO˜›û¹’Ò§‚þIŸ×fŸŠŸj  Z 2ˆ›¹6G z8 ÈŸù ¡Q™z½|{‹ªWú¡ÒtL'uŸh¢%Ú¡/:¡)J›@¹z#ª•ú 1*£¸×Œ³Ô - £.:¤Bºaz¢§¥š8 ¤·£ê¤êá”A„†%Ø4”¥ÚŒGÊ¥Þø¥Ðd¥ ˜šˆ¤ ˜£RútuÉrä‰0e¦ˆ¦ˆ£¦JJmjv4G¤:ª§•ƒs*‰îÓoɧþOJ¨‰rkj{á[ ¥—¨Š:¦~ƒZ¤{Š©\©’:©j&nw©™:ªªløÖ©ís¥Ã¨¥r¥¶©n¨šª”‘¢ZªšZ¨ iƒ±*«ŸÚ’Ái«¤Š«¹º€uê»Çªpú×Åj¬7ªa­ú¨Žš]ÍŠgÕÊ{ÏʋɊƒÑúªu­ÎJ©Êº­GØ­ÞÚJ]ÊÇÚ¨†*­®=·«›—­ËH®›Â®ïš®˜¥¯~H¯o:­qj¯¬Ã¯ÃJëj®ã °ß Tòª+°”ˆ° {Nyñ° Ë­K­[±þªž[®«±#µÛ®g²«T|Q²·êþªÀJB[}Á²Áê²ÂÊB³@Ø$„ î)¨?ËoÞ¦³2¯b‡—¦uѰh—7DKfKk´+6oRKZU‹pOK‹H›´ WWKŠIöµ†ô´LkûT¶¯(¶A™µIª=hkö$n£R´j[Ǩ¶]ÑŠð¨~)U•Ö–Kx›·z+bK+llœ 7xKIo+Îø¸ÐÕ›šI%B4¸H™¶v÷§’%®š>Ù´l»¶‘‹¹Ô›ì\)¹ dº¼4{¬«LNk9塚±»¯œZ¸1'€ž{©ä£¤·«µ÷‹vC½KcÚQ§ÁK­®k­h´¼¨D¹auXÅ ½•þ3º—Hœ[•Ø’)&½ä}Öëµ…y‰º8Q¨«úIãe?‡œæ;-m;er:-ǾÍdØ»t¦Ò¾¯iU8’¿¼•óÃ)t™î¨s{›Œ’I›J{)aP³¾¹gQK]Û«KËFS`&š-–»éE ì¿bu›&µ”'ãÀÑc“Ó¥Y$ìV2;‘j¥c;ù”ÝÇW I1,Ÿ3œ™Ì“7¼9 ,VîËÃ^¥‘o œY)ÂǵEË£kyWõ!¹v>ôµ9\Yd™+sìñ3»»ÁûÂLµÅ¼¿M\nNüŸý9g÷¸Y }WƒmhýÓ¦¤ŒNÆLV4ÔD]Õ5ÒIíV—kÔóœB`MÔ„ÜÕJ§ÓSݘZM«;Åi½Öh=È8k¸o½0 Ó9ÏuÍ’Å5½¹Ǻ»×¦*ÐtídJÌ‘fÝË ÐñØÅU·‚}½©Îà»nÙv=Ùct–ª˜=±áëØ¯ÄÇ?-ÚŸŒmÚ`«Ú­ËÚ§ÍÓóKÚÜxÙ/ÉØ¯½Ã/-Û}§ÛùjÛ·ÝÆ½íÚ…ÇÛ©ÕˆêFÄÀÂΛ}ܤÛÜ JÙþœØAÌ‘«mlÒmÐ’›Ý¶9sÐ ÍðÚÜ`mÜÇ-KëWÔ]ݵ ¦ì>C ¦ ¹Q¿‹5{5:ßüË=D»Jé­«ª,÷Šß;x³N¥¢.àh³ô£˜à¾( ~‰K3J]¡§œ,~ËîJEØIÁR›@´í×.»sœ¦ZWà î¥!ÞßÀìËsê5qùg‰ÒÞì]«#¾iÌöâ¦5ÉBã>NÞ‘ýk:þ¢cÞA»‚,>¼33äå+YŽ´¢îtI®ä ûcÄæá'TÝÍS~ªËf¤åû6Hź n“]îåýÛ‡XzãMm>›lÀkŒ÷çp[¦ÒXçv.çþ$zŒP¾ç·LÍ?>èxÚ€>àÐJçZ~èÐE^o>献áÚšç‹é’þ¯»šnéÛT¯V®éÏÉéŽé¢øl¶À†®ç¢Žè"~V·&ÁG©ê©¾êGm'FÜ4l´üMë|ž§/¶˜Sáê¼Þé¾dO^k¬tßÅîÇNŸ ­ì).ëÍ^ë6~E~Ïî1^í ¾Äki–W>í•îí .ÔRÌ<Ù½ëæ®áéì— Õííní/*Àì>ï"x̾z$òŽïÎ.ÙgïÌîï8®èFðHè ¿Ü€†ð0äNì¿tndC·éOx\ÌOŸñø²ÉõñïñrUþØÁÃuåNò(×\ŽS˜Vò0U:ò*/ïéìÄOí3óûþ¿äø`j{ï;òμd9)ò?ôËîc2§,?ë¯ô„ñ`DŠ N´˜QãFŽ=~RäH’1–D™’áI•-]¾„SæLš#YÖÄYñfNž=}þ4åN¡@‰òõ¼éá’7¨œ=fývß”(üÐ$ûÐ#p?MrÏ"õ¦s쉪›p@ ±ƒÐ¾ã³N<ìdƒêÃó<”0ºl¬?²ô"Dó¥a¤Ñ Ó0Fq¤ñÄsìðÁ}DÑ0ÃâkÈu¬1Æ ó«ðG¡2G}|rDo<²È¥ºü*°*/²ÒÀ2_´òÂ-Éäð <ð͹ôþ²20½Z,À8ß4³I%¥„3P&ÙT(Ë2çä³ÎÄîL#õ ”È5!eòÄŸ4°Ð8å”QE}ò«$M´QÎ3eŒ²Í)AœïR ãk’ÊU;4ÔOs²Õ*$•ËèLu2;?K6SUõ¬4ÕbMíõÖED¯ÄfE UTO­RZ2ñ›ÑÉkµ ’G"í+תÌ]›Ô%—&v¯qÛ-Z§ºí]zã²°yÃ|t_ÂôýR`ƒùë÷`…Lxa‡Wkøa‰ç"X©Š'ÆØ£‹…Ú8cŒøc‘ãýmd“à ùd• .ye—³Jùe™‘Šyf›/kùfiÎygŸq‡v­ãŸ3ú§¢‡–øèž”Fza¦qm:j•žÆ‰j©éµÚÝ«·)k ¹ûºšÃ&»Ð±ËFÀ³ÓFÛë³Ø†¼µãÛí˜ì¦9¼_Ú;ïàúÞËoÁŸZp¿ GÌð¸Õd¼qLJ libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

libxslt

Main Menu
Related links
API Indexes

Libxslt is the XSLT C library developed for the GNOME project. XSLT itself is a an XML language to define transformation for XML. Libxslt is based on libxml2 the XML C library developed for the GNOME project. It also implements most of the EXSLT set of processor-portable extensions functions and some of Saxon's evaluate and expressions extensions.

People can either embed the library in their application or use xsltproc the command line processing tool. This library is free software and can be reused in commercial applications (see the intro)

External documents:

Logo designed by Marc Liyanage.

Daniel Veillard

0707010006240e000081a40000000000000000000000014f22154400000bdb000000b600010002ffffffffffffffff0000004400000000root/usr/local/share/doc/libxslt-1.1.26/html/Libxslt-Logo-90x34.gifGIF89aZ"÷ÿòóòñòñKML==<¹¹µÆÆÁÜÝÚKSSèéèÉÊÅUUR¨©¥¥¥¢”•‘íîìyyvµµ±::8[[ZéêéÍÍÈž™%&%mmi‰Š†qrn¢£ž‘’ŽuxuëìêÿÿÿÕÖÔ]^\›œ—ààÞ``^çèç ðñðîïîklgU\[aa`èèæƒ…óôóïðïìíìABAvwtóôòáâáÑÒÐêëê@@@ÚÛØŠ..-ïðîqtrÁÁ¾^cbŸ ±²®ÓÔÑZ`_774SXVØØÖ552z{y<<:ÞßÞFFE{|z­­©Ö×Õ~€}kpo}~|ìíêÌÍÆ|}znrqƒ~îîíåæäÝÞÜóóò‹‰“”ÔÕÒQQNö÷õÈÉÁttq**)ÞßÜDDAÐÑÏafeßÞ߯ÆÅ©ª¨ÛÜÚäåäÊËÉ887ððîæç溻º½½¸…‡ƒÎÎÌfjhççä¾À»âãàäåâØØÑjjhimkÄÅ¿ÑÒËlml››™ãäâÑÒÎÙÚØqrq\\Zêëè(('HHFÚÚÖv{y egeŽÙÙÖÖ×ÓâãâÇÈÃrvtËÌÇÕÖÎY^]inl’’‘chg›œšÀÀ»ÐÑÍÔÕÐ ØÙØÚÛÙÓÓÎŽŒ––”ÕÖÒ¦§¥ñõõ;;:òòñõõócdaúûùÂÂÁ—˜“œ«¬«¾¾½ÓÓÌCC@àáßÏÐÊÖÖÑNPN@@>ÜÝ×221352äçæØÙÔ??> ÜÝÜW]\OXXddb¦©¨Ãþ·¸µ÷ø÷WXV'+*ËÐÐËÌÂBFC ;>=?FHòñòóòóòòò\`` ìíîywtÜÜØìëìÓÔÍËËÌÇÊÈÌÍË6:71;;pppòóôÄÄÀÕÚÚ‰‰‰,,,//.CJMðïîñò𬮭¯°¬ÑÒÌ,20ÙÚÔÛÛÔ…‰ˆÕÖѾÁÀ €€€!ùÿ,Z"ÿÿ 4±(Z€ƒ*\Ȱ¡Ã‡#¢XdB @'–a £Ç CŠI²¤É“7„,™àDà»@NÊœI³æÉ züKÔĦϟ@O2¢ÍÇQS–QXÊ´©Óe&býiC€\ªÎ”•Å s øöíšGh¥EÛVÜ4f i„‡)®NPµÄxí@P‘â$ƒox— ‚_hÙó¢Ä¡6LD‰xS®Þ€>Þˆ4EP— 3dðåk#†\bs‰A;+l œ)ž*l¼.yÐ#¢kB(_¾Ûò3CÌ-gG-€G.)¦(Á¢!ƒU¨ÿð!‚]2ÆÛU!üx¼ŠA ‡M€p¶ð Œ^ïÇâé°+!¨C[ ahG:¯„ÀF Jl’Ê„!ìc]G6ÈàD|L0=(1‚$ŒàkX1G,8Ñ#$Ò#2‚(sÓ@‚ ¡ÇŽX|cŠ(:1Gjþu Á˜¡L)¤+jDrÃ.¬£@;›ôK¨㌅ÙàƒtqAŒŒÁË75<€'xPCß8Pœ<±ÌKXÐÝ}ð€)_”€J˜0BF}zÁ„3$ À’:Ô +ñÄa+gP°ÝÌ#׋@r‡6òÿufUäKct8pp¥`€+ÄH‡î` ¸òqh¢‹b£d´RŠ$ZT ¦Mp!à a¼b Ø‚ añ xQGXD¬6¨A ØA Ї €´€ ñGSàr ø’ÒÊ-¸Rɯ€ðL,JK:dàbE(Aˆ !q›ÄðJ"P„à ›˜ÐŠt`ÀûñÎûXLÄ(^Ü"C|Ò@t,ò)¾ºÅ´ˆÎq‹`Ìƨ°°rŸ ¡EaÛÆªƒ)psBâô9Ÿ%´L¥Ô1Eαÿ!Pœq!”˜#D2 gÃ!;€ "|ñ8;²’bÎoˆ`‹etr@â;ŒAD Xz©Úfè!Ç/¿Èአ¹Ó@0XñÁ:{$Cz” E9¸ÁÄ7Èq‚¶Ø¢Ç ZزÅ%Øb<õËÛrCfHˆrƒ9œ` ¶À‡Ü‚H˜š‘•,@Ä ñ ÄX(ñðúˆ¾5Â|+9A{f‚¼yP€8˜D‚ÏÛ fƒ5¸A‚É`B ä@²’©­t‚ ˆ1,d`ÃÍ¢àˆ\!}€|°APqˆÿ ‹@°€¶8¬b)&:Ñ*ôÁ7"pƒ 4Ðy pÝë<¢ƒ]$ã *\À´2‚€èÝ®  0“²8‹ƒ Á}Àˆ°…÷ÑDYè®D@ Ž"K„ŸÚ0T°á ÖAPàd<€­àŸÿ4á‡ôMT8, Ф,¸ÅÂq¯Qò5­© >ËøЀJ0Ò(ª1!UÁ!tÀ (@2SÕ«&!«ðÁbIäÔÏ ÅàRXà`€ ø¸¨o`A •h„-îz‰ÿ¨"+@LùSè༃AºPta…}@j臈j£-€G߬zËŠ >°OÄŠÏŠ€À,ä@P€Pp`%˜ë j+ßu@¡u½ Fêà„)`á Ãî ]Œ@.`À.Òb¡Õ˜®e…7ØaG8Ýg0‰Ûá“ÀÖª€€=8à!/n;_»æ²£ðcÚ<ŒfÀëVÐÅ (à‹^€ÐHÂ"vQ ?88 ˆpU!PÝè æîg«‹a}0o`шH€XD.ùp[ XÀÅXÀ!úÙ[HDãÿkü@1ŒÀ0 –¡`b´ÉÅÀE›\‰&¸á[…ÒÛp7½L8€¾…6 €y„8ú(€î-” H˜”©; 0b/# p‚HPœ #èvÔ̳xgûÛÛN¾ö¬îí,Ÿ* K å=€ Úƒb•(i‘ßtÉKÚ™œ¸ã"¾Ïùŧd%-±AP‘Ò›þô¨oÈD*"€;070701000623ff000041ed0000000000000000000000024f25e6a900000000000000b600010002ffffffffffffffff0000003300000000root/usr/local/share/doc/libxslt-1.1.26/html/EXSLT07070100062408000081a40000000000000000000000014f22154400002798000000b600010002ffffffffffffffff0000003e00000000root/usr/local/share/doc/libxslt-1.1.26/html/EXSLT/exslt.html The EXSLT C library for Gnome

The EXSLT C library for Gnome

libexslt

Libexslt is the EXSLT C library developed for libxslt (a part of the Gnome project). Much of the initial work on the library was done by Thomas Broyer. EXSLT itself is a community initiative to provide extensions to XSLT.

This library is free software and can be reused in commercial applications (see the intro)

Logo designed by Marc Liyanage.

Introduction

This document describes libxslt, the XSLT C library developed for the Gnome project.

Here are some key points about libxslt:

  • Libxslt is a C implementation
  • Libxslt is based on libxml for XML parsing, tree manipulation and XPath support
  • It is written in plain C, making as few assumptions as possible, and sticking closely to ANSI C/POSIX for easy embedding. Should works on Linux/Unix/Windows.
  • This library is released under the MIT Licence
  • Though not designed primarily with performances in mind, libxslt seems to be a relatively fast processor.

Documentation

There are some on-line resources about using libxslt:

  1. Check the API documentation automatically extracted from code comments (using the program apibuild.py, developed for libxml, together with the xsl script 'newapi.xsl' and the libxslt xsltproc program).
  2. Look at the mailing-list archive.
  3. Of course since libxslt is based on libxml, it's a good idea to at least read libxml description

Reporting bugs and getting help

Well, bugs or missing features are always possible, and I will make a point of fixing them in a timely fashion. The best way to report a bug is to use the Gnome bug tracking database (make sure to use the "libxslt" module name). I look at reports there regularly and it's good to have a reminder when a bug is still open. Be sure to specify that the bug is for the package libxslt.

For small problems you can try to get help on IRC, the #xml channel on irc.gnome.org (port 6667) usually have a few person subscribed which may help (but there is no guarantee and if a real issue is raised it should go on the mailing-list for archival).

There is also a mailing-list xslt@gnome.org for libxslt, with an on-line archive. To subscribe to this list, please visit the associated Web page and follow the instructions.

Alternatively, you can just send the bug to the xslt@gnome.org list, if it's really libxslt related I will approve it.. Please do not send me mail directly especially for portability problem, it makes things really harder to track and in some cases I'm not the best person to answer a given question, ask the list instead. Do not send code, I won't debug it (but patches are really appreciated!).

Check the following too before posting:

  • use the search engine to get informations related to your problem.
  • make sure you are using a recent version, and that the problem still shows up in those
  • check the list archives to see if the problem was reported already, in this case there is probably a fix available, similarly check the registered open bugs
  • make sure you can reproduce the bug with xsltproc, a very useful thing to do is run the transformation with -v argument and redirect the standard error to a file, then search in this file for the transformation logs just preceding the possible problem
  • Please send the command showing the error as well as the input and stylesheet (as an attachment)

Then send the bug with associated informations to reproduce it to the xslt@gnome.org list; if it's really libxslt related I will approve it. Please do not send mail to me directly, it makes things really hard to track and in some cases I am not the best person to answer a given question, ask on the list.

To be really clear about support:

  • Support or help request MUST be sent to the list or on bugzilla in case of problems, so that the Question and Answers can be shared publicly. Failing to do so carries the implicit message "I want free support but I don't want to share the benefits with others" and is not welcome. I will automatically Carbon-Copy the xslt@gnome.org mailing list for any technical reply made about libxml2 or libxslt.
  • There is no garantee for support, if your question remains unanswered after a week, repost it, making sure you gave all the detail needed and the informations requested.
  • Failing to provide informations as requested or double checking first for prior feedback also carries the implicit message "the time of the library maintainers is less valuable than my time" and might not be welcome.

Of course, bugs reports with a suggested patch for fixing them will probably be processed faster.

If you're looking for help, a quick look at the list archive may actually provide the answer, I usually send source samples when answering libxslt usage questions. The auto-generated documentation is not as polished as I would like (I need to learn more about Docbook), but it's a good starting point.

How to help

You can help the project in various ways, the best thing to do first is to subscribe to the mailing-list as explained before, check the archives and the Gnome bug database::

  1. provide patches when you find problems
  2. provide the diffs when you port libxslt to a new platform. They may not be integrated in all cases but help pinpointing portability problems and
  3. provide documentation fixes (either as patches to the code comments or as HTML diffs).
  4. provide new documentations pieces (translations, examples, etc ...)
  5. Check the TODO file and try to close one of the items
  6. take one of the points raised in the archive or the bug database and provide a fix. Get in touch with me before to avoid synchronization problems and check that the suggested fix will fit in nicely :-)

Downloads

The latest versions of libxslt can be found on xmlsoft.org (Seattle, France) or on the Gnome FTP server as a source archive, Antonin Sprinzl also provides a mirror in Austria. (NOTE that you need the libxml2, libxml2-devel, libxslt and libxslt-devel packages installed to compile applications using libxslt.) Igor Zlatkovic is now the maintainer of the Windows port, he provides binaries. Gary Pennington provides Solaris binaries. Steve Ball provides Mac Os X binaries.

Contribs:

I do accept external contributions, especially if compiling on another platform, get in touch with me to upload the package. I will keep them in the contrib directory

Libxslt is also available from CVS:

Daniel Veillard

07070100062407000081a40000000000000000000000014f22154400001b4d000000b600010002ffffffffffffffff0000004200000000root/usr/local/share/doc/libxslt-1.1.26/html/EXSLT/downloads.html Downloads
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for Gnome

Downloads

Main Menu
Related links
API Indexes

The latest versions of libxslt can be found on xmlsoft.org (Seattle, France) or on the Gnome FTP server as a source archive, Antonin Sprinzl also provides a mirror in Austria. (NOTE that you need the libxml2, libxml2-devel, libxslt and libxslt-devel packages installed to compile applications using libxslt.) Igor Zlatkovic is now the maintainer of the Windows port, he provides binaries. Gary Pennington provides Solaris binaries. Steve Ball provides Mac Os X binaries.

Contribs:

I do accept external contributions, especially if compiling on another platform, get in touch with me to upload the package. I will keep them in the contrib directory

Libxslt is also available from CVS:

Daniel Veillard

07070100062405000081a40000000000000000000000014f221544000024be000000b600010002ffffffffffffffff0000003d00000000root/usr/local/share/doc/libxslt-1.1.26/html/EXSLT/bugs.html Reporting bugs and getting help
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for Gnome

Reporting bugs and getting help

Main Menu
Related links
API Indexes

Well, bugs or missing features are always possible, and I will make a point of fixing them in a timely fashion. The best way to report a bug is to use the Gnome bug tracking database (make sure to use the "libxslt" module name). I look at reports there regularly and it's good to have a reminder when a bug is still open. Be sure to specify that the bug is for the package libxslt.

For small problems you can try to get help on IRC, the #xml channel on irc.gnome.org (port 6667) usually have a few person subscribed which may help (but there is no guarantee and if a real issue is raised it should go on the mailing-list for archival).

There is also a mailing-list xslt@gnome.org for libxslt, with an on-line archive. To subscribe to this list, please visit the associated Web page and follow the instructions.

Alternatively, you can just send the bug to the xslt@gnome.org list, if it's really libxslt related I will approve it.. Please do not send me mail directly especially for portability problem, it makes things really harder to track and in some cases I'm not the best person to answer a given question, ask the list instead. Do not send code, I won't debug it (but patches are really appreciated!).

Check the following too before posting:

  • use the search engine to get informations related to your problem.
  • make sure you are using a recent version, and that the problem still shows up in those
  • check the list archives to see if the problem was reported already, in this case there is probably a fix available, similarly check the registered open bugs
  • make sure you can reproduce the bug with xsltproc, a very useful thing to do is run the transformation with -v argument and redirect the standard error to a file, then search in this file for the transformation logs just preceding the possible problem
  • Please send the command showing the error as well as the input and stylesheet (as an attachment)

Then send the bug with associated informations to reproduce it to the xslt@gnome.org list; if it's really libxslt related I will approve it. Please do not send mail to me directly, it makes things really hard to track and in some cases I am not the best person to answer a given question, ask on the list.

To be really clear about support:

  • Support or help request MUST be sent to the list or on bugzilla in case of problems, so that the Question and Answers can be shared publicly. Failing to do so carries the implicit message "I want free support but I don't want to share the benefits with others" and is not welcome. I will automatically Carbon-Copy the xslt@gnome.org mailing list for any technical reply made about libxml2 or libxslt.
  • There is no garantee for support, if your question remains unanswered after a week, repost it, making sure you gave all the detail needed and the informations requested.
  • Failing to provide informations as requested or double checking first for prior feedback also carries the implicit message "the time of the library maintainers is less valuable than my time" and might not be welcome.

Of course, bugs reports with a suggested patch for fixing them will probably be processed faster.

If you're looking for help, a quick look at the list archive may actually provide the answer, I usually send source samples when answering libxslt usage questions. The auto-generated documentation is not as polished as I would like (I need to learn more about Docbook), but it's a good starting point.

Daniel Veillard

07070100062404000081a40000000000000000000000014f22154400001ecc000000b600010002ffffffffffffffff0000004300000000root/usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIsymbols.html Alphabetic List of Symbols in libexslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for Gnome

Alphabetic List of Symbols in libexslt

Main Menu
Related links
API Indexes

Letter E:

EXSLTCALL
EXSLTPUBFUN
EXSLTPUBVAR
EXSLT_COMMON_NAMESPACE
EXSLT_CRYPTO_NAMESPACE
EXSLT_DATE_NAMESPACE
EXSLT_DYNAMIC_NAMESPACE
EXSLT_FUNCTIONS_NAMESPACE
EXSLT_MATH_NAMESPACE
EXSLT_SETS_NAMESPACE
EXSLT_STRINGS_NAMESPACE

Letter L:

LIBEXSLT_PUBLIC

Letter S:

SAXON_NAMESPACE

Letter _:

_REENTRANT

Letter e:

exsltCommonRegister
exsltCryptoRegister
exsltDateRegister
exsltDateXpathCtxtRegister
exsltDynRegister
exsltFuncRegister
exsltLibexsltVersion
exsltLibraryVersion
exsltLibxmlVersion
exsltLibxsltVersion
exsltMathRegister
exsltMathXpathCtxtRegister
exsltRegisterAll
exsltSaxonRegister
exsltSetsRegister
exsltSetsXpathCtxtRegister
exsltStrRegister
exsltStrXpathCtxtRegister

Daniel Veillard

07070100062402000081a40000000000000000000000014f22154400001ede000000b600010002ffffffffffffffff0000004100000000root/usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIfiles.html List of Symbols per Module for libexslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for Gnome

List of Symbols per Module for libexslt

Main Menu
Related links
API Indexes

Module exslt:

EXSLT_COMMON_NAMESPACE
EXSLT_CRYPTO_NAMESPACE
EXSLT_DATE_NAMESPACE
EXSLT_DYNAMIC_NAMESPACE
EXSLT_FUNCTIONS_NAMESPACE
EXSLT_MATH_NAMESPACE
EXSLT_SETS_NAMESPACE
EXSLT_STRINGS_NAMESPACE
SAXON_NAMESPACE
exsltCommonRegister
exsltCryptoRegister
exsltDateRegister
exsltDateXpathCtxtRegister
exsltDynRegister
exsltFuncRegister
exsltLibexsltVersion
exsltLibraryVersion
exsltLibxmlVersion
exsltLibxsltVersion
exsltMathRegister
exsltMathXpathCtxtRegister
exsltRegisterAll
exsltSaxonRegister
exsltSetsRegister
exsltSetsXpathCtxtRegister
exsltStrRegister
exsltStrXpathCtxtRegister

Module exsltexports:

EXSLTCALL
EXSLTPUBFUN
EXSLTPUBVAR
LIBEXSLT_PUBLIC
_REENTRANT

Daniel Veillard

07070100062409000081a40000000000000000000000014f22154400001772000000b600010002ffffffffffffffff0000003d00000000root/usr/local/share/doc/libxslt-1.1.26/html/EXSLT/help.html How to help
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for Gnome

How to help

Main Menu
Related links
API Indexes

You can help the project in various ways, the best thing to do first is to subscribe to the mailing-list as explained before, check the archives and the Gnome bug database::

  1. provide patches when you find problems
  2. provide the diffs when you port libxslt to a new platform. They may not be integrated in all cases but help pinpointing portability problems and
  3. provide documentation fixes (either as patches to the code comments or as HTML diffs).
  4. provide new documentations pieces (translations, examples, etc ...)
  5. Check the TODO file and try to close one of the items
  6. take one of the points raised in the archive or the bug database and provide a fix. Get in touch with me before to avoid synchronization problems and check that the suggested fix will fit in nicely :-)

Daniel Veillard

07070100062403000081a40000000000000000000000014f22154400001715000000b600010002ffffffffffffffff0000004500000000root/usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIfunctions.html List of function manipulating types in libexslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for Gnome

List of function manipulating types in libexslt

Main Menu
Related links
API Indexes

Type const xmlChar *:

exsltDateXpathCtxtRegister
exsltMathXpathCtxtRegister
exsltSetsXpathCtxtRegister
exsltStrXpathCtxtRegister

Type xmlXPathContextPtr:

exsltDateXpathCtxtRegister
exsltMathXpathCtxtRegister
exsltSetsXpathCtxtRegister
exsltStrXpathCtxtRegister

Daniel Veillard

0707010006240b000081a40000000000000000000000014f221544000016a1000000b600010002ffffffffffffffff0000003e00000000root/usr/local/share/doc/libxslt-1.1.26/html/EXSLT/intro.html Introduction
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for Gnome

Introduction

Main Menu
Related links
API Indexes

This document describes libxslt, the XSLT C library developed for the Gnome project.

Here are some key points about libxslt:

  • Libxslt is a C implementation
  • Libxslt is based on libxml for XML parsing, tree manipulation and XPath support
  • It is written in plain C, making as few assumptions as possible, and sticking closely to ANSI C/POSIX for easy embedding. Should works on Linux/Unix/Windows.
  • This library is released under the MIT Licence
  • Though not designed primarily with performances in mind, libxslt seems to be a relatively fast processor.

Daniel Veillard

07070100062406000081a40000000000000000000000014f221544000015bf000000b600010002ffffffffffffffff0000003d00000000root/usr/local/share/doc/libxslt-1.1.26/html/EXSLT/docs.html Documentation
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for Gnome

Documentation

Main Menu
Related links
API Indexes

There are some on-line resources about using libxslt:

  1. Check the API documentation automatically extracted from code comments (using the program apibuild.py, developed for libxml, together with the xsl script 'newapi.xsl' and the libxslt xsltproc program).
  2. Look at the mailing-list archive.
  3. Of course since libxslt is based on libxml, it's a good idea to at least read libxml description

Daniel Veillard

07070100062401000081a40000000000000000000000014f22154400001398000000b600010002ffffffffffffffff0000004800000000root/usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIconstructors.html List of constructors for libexslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for Gnome

List of constructors for libexslt

Main Menu
Related links
API Indexes

Daniel Veillard

0707010006240a000081a40000000000000000000000014f2215440000154b000000b600010002ffffffffffffffff0000003e00000000root/usr/local/share/doc/libxslt-1.1.26/html/EXSLT/index.html libexslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for Gnome

libexslt

Main Menu
Related links
API Indexes

Libexslt is the EXSLT C library developed for libxslt (a part of the Gnome project). Much of the initial work on the library was done by Thomas Broyer. EXSLT itself is a community initiative to provide extensions to XSLT.

This library is free software and can be reused in commercial applications (see the intro)

Logo designed by Marc Liyanage.

Daniel Veillard

07070100062400000081a40000000000000000000000014f2215440000429e000000b600010002ffffffffffffffff0000004200000000root/usr/local/share/doc/libxslt-1.1.26/html/EXSLT/APIchunk0.html API Alphabetic Index C-u for libexslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for Gnome

API Alphabetic Index C-u for libexslt

Main Menu
Related links
API Indexes

C-u

Letter C:

Common
exsltCommonRegister
Crypto
exsltCryptoRegister

Letter D:

Dates
exsltDateRegister
exsltDateXpathCtxtRegister
Dynamic
exsltDynRegister

Letter E:

EXSLT
EXSLT_COMMON_NAMESPACE
EXSLT_CRYPTO_NAMESPACE
EXSLT_DATE_NAMESPACE
EXSLT_DYNAMIC_NAMESPACE
EXSLT_FUNCTIONS_NAMESPACE
EXSLT_MATH_NAMESPACE
EXSLT_SETS_NAMESPACE
EXSLT_STRINGS_NAMESPACE
exsltCommonRegister
exsltCryptoRegister
exsltDateRegister
exsltDateXpathCtxtRegister
exsltDynRegister
exsltFuncRegister
exsltMathRegister
exsltMathXpathCtxtRegister
exsltRegisterAll
exsltSetsRegister
exsltSetsXpathCtxtRegister
exsltStrRegister
exsltStrXpathCtxtRegister

Letter F:

Functions
exsltFuncRegister

Letter M:

Math
exsltMathRegister
exsltMathXpathCtxtRegister

Letter N:

Namespace
EXSLT_COMMON_NAMESPACE
EXSLT_CRYPTO_NAMESPACE
EXSLT_DATE_NAMESPACE
EXSLT_DYNAMIC_NAMESPACE
EXSLT_FUNCTIONS_NAMESPACE
EXSLT_MATH_NAMESPACE
EXSLT_SETS_NAMESPACE
EXSLT_STRINGS_NAMESPACE
SAXON_NAMESPACE

Letter R:

Registers
exsltCommonRegister
exsltCryptoRegister
exsltDateRegister
exsltDateXpathCtxtRegister
exsltDynRegister
exsltFuncRegister
exsltMathRegister
exsltMathXpathCtxtRegister
exsltRegisterAll
exsltSaxonRegister
exsltSetsRegister
exsltSetsXpathCtxtRegister
exsltStrRegister
exsltStrXpathCtxtRegister

Letter S:

SAXON
SAXON_NAMESPACE
exsltSaxonRegister
Sets
exsltSetsRegister
exsltSetsXpathCtxtRegister
Strings
exsltStrRegister
exsltStrXpathCtxtRegister

Letter T:

Times
exsltDateRegister
exsltDateXpathCtxtRegister

Letter X:

XSLT
exsltDateXpathCtxtRegister
exsltMathXpathCtxtRegister
exsltSetsXpathCtxtRegister
exsltStrXpathCtxtRegister

Letter a:

all
exsltRegisterAll
available
exsltRegisterAll

Letter c:

common
EXSLT_COMMON_NAMESPACE
crypto
EXSLT_CRYPTO_NAMESPACE

Letter d:

date
EXSLT_DATE_NAMESPACE
dynamic
EXSLT_DYNAMIC_NAMESPACE

Letter e:

extension
EXSLT_FUNCTIONS_NAMESPACE
exsltSaxonRegister
extensions
SAXON_NAMESPACE
exsltRegisterAll

Letter f:

for
EXSLT_COMMON_NAMESPACE
EXSLT_CRYPTO_NAMESPACE
EXSLT_DATE_NAMESPACE
EXSLT_DYNAMIC_NAMESPACE
EXSLT_FUNCTIONS_NAMESPACE
EXSLT_MATH_NAMESPACE
EXSLT_SETS_NAMESPACE
EXSLT_STRINGS_NAMESPACE
SAXON_NAMESPACE
exsltDateXpathCtxtRegister
exsltMathXpathCtxtRegister
exsltSetsXpathCtxtRegister
exsltStrXpathCtxtRegister
functions
EXSLT_COMMON_NAMESPACE
EXSLT_CRYPTO_NAMESPACE
EXSLT_DATE_NAMESPACE
EXSLT_DYNAMIC_NAMESPACE
EXSLT_FUNCTIONS_NAMESPACE
EXSLT_MATH_NAMESPACE
EXSLT_SETS_NAMESPACE
EXSLT_STRINGS_NAMESPACE
SAXON_NAMESPACE

Letter m:

math
EXSLT_MATH_NAMESPACE
module
exsltCommonRegister
exsltCryptoRegister
exsltDateRegister
exsltDateXpathCtxtRegister
exsltDynRegister
exsltFuncRegister
exsltMathRegister
exsltMathXpathCtxtRegister
exsltSaxonRegister
exsltSetsRegister
exsltSetsXpathCtxtRegister
exsltStrRegister
exsltStrXpathCtxtRegister

Letter o:

outside
exsltDateXpathCtxtRegister
exsltMathXpathCtxtRegister
exsltSetsXpathCtxtRegister
exsltStrXpathCtxtRegister

Letter s:

set
EXSLT_SETS_NAMESPACE
strings
EXSLT_STRINGS_NAMESPACE

Letter u:

use
exsltDateXpathCtxtRegister
exsltMathXpathCtxtRegister
exsltSetsXpathCtxtRegister
exsltStrXpathCtxtRegister

C-u

Daniel Veillard

070701000623f5000081a40000000000000000000000014f22154400008fe5000000b600010002ffffffffffffffff0000003c00000000root/usr/local/share/doc/libxslt-1.1.26/html/APIchunk4.html API Alphabetic Index d-e for libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

API Alphabetic Index d-e for libxslt

Main Menu
Related links
API Indexes

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Letter d:

data
_xsltRuntimeExtra
_xsltStylesheet
_xsltTransformContext
xslHandleDebugger
xsltDocumentComp
xsltExtInitFunction
xsltExtShutdownFunction
xsltExtensionInstructionResultFinalize
xsltFreeCtxtExts
xsltFreeGlobalVariables
xsltGetExtData
xsltInitCtxtExts
xsltInitElemPreComp
xsltNumberFormat
xsltPreComputeExtModuleElement
xsltStyleExtInitFunction
xsltStyleExtShutdownFunction
xsltStyleGetExtData
xsltStyleStylesheetLevelGetExtData
xsltTimestamp
xsltXPathGetTransformContext
deallocated
xsltAttrTemplateValueProcess
xsltAttrTemplateValueProcessNode
xsltEvalAVT
xsltEvalAttrValueTemplate
xsltEvalStaticAttrValueTemplate
xsltEvalXPathString
xsltEvalXPathStringNs
deallocation
_xsltRuntimeExtra
deallocator
_xsltElemPreComp
xsltInitElemPreComp
dealy
xsltCalibrateAdjust
debug
_xsltTransformContext
xsltDebug
xsltDebugGetDefaultTrace
xsltDebugSetDefaultTrace
debugger
xsltSetDebuggerCallbacks
debugging
xslHandleDebugger
debugtrace
XSLT_TRACE
decimal
_xsltFormatNumberInfo
xsltFormatNumberConversion
decimal-format
xsltDecimalFormatGetByName
declaration
xsltCopyNamespace
xsltGetCNsProp
xsltGetNamespace
xsltGetNsProp
xsltGetPlainNamespace
xsltGetSpecialNamespace
xsltParseGlobalParam
xsltParseGlobalVariable
xsltParseStylesheetParam
declared
xsltCheckExtPrefix
xsltCheckExtURI
xsltCopyNamespace
declaring
xsltGetSpecialNamespace
default
XSLT_DEFAULT_VERSION
_xsltStylesheet
xsltDebugGetDefaultTrace
xsltDebugSetDefaultTrace
xsltFormatNumberConversion
xsltGetCNsProp
xsltGetDefaultSecurityPrefs
xsltGetNsProp
xsltGetSpecialNamespace
xsltGetXIncludeDefault
xsltRegisterAllElement
xsltRegisterAllFunctions
xsltSetCtxtParseOptions
xsltSetDefaultSecurityPrefs
xsltSetLoaderFunc
xsltSetSortFunc
xsltSetXIncludeDefault
define
XML_CAST_FPTR
XSLT_FAST_IF
XSLT_REFACTORED_KEYCOMP
XSLT_REFACTORED_VARS
XSLT_REFACTORED_XPATHCOMP
XSLT_RUNTIME_EXTRA
defined
_xsltTransformContext
xslAddCall
xsltGetQNameURI
definition
xsltAddKey
xsltInitCtxtKey
definitions
_xsltStylesheet
dependent
xsltNewLocale
deprecated
xsltRegisterExtras
depth
_xsltCompilerCtxt
_xsltStackElem
_xsltVarInfo
xsltLocalVariablePop
derived
xsltInitElemPreComp
description
xsltEvalOneUserParam
descriptions
_xsltStylesheet
descriptor
xsltSaveResultToFd
desired
xsltFindDocument
xsltGetExtInfo
details
xsltEvalOneUserParam
detected
XSLT_STRANGE
dict
xsltFindTemplate
dictionary
xsltDocLoaderFunc
xsltGetCNsProp
xsltGetQNameURI2
xsltSplitQName
dictionary:
_xsltStylesheet
_xsltTransformContext
different
XSLT_REGISTER_FUNCTION_LOOKUP
XSLT_REGISTER_VARIABLE_LOOKUP
xsltGetCNsProp
xsltGetNsProp
digit
xsltFormatNumberConversion
directly
xsltSort
directories
xsltCheckWrite
disable-escaping
xsltCopyTextString
disabled
XML_CAST_FPTR
disattached
xsltAttrListTemplateProcess
discard
xsltGetUTF8Char
display
_xsltFormatNumberInfo
xsltTransformError
distinct
_xsltStylesheet
xsltApplyOneTemplate
doc
xsltGetKey
xsltLoadStylesheetPI
xsltParseStylesheetDoc
docs
_xsltTransformContext
xsltFormatNumberConversion
doctype-public
_xsltStylesheet
doctype-system
_xsltStylesheet
documents
_xsltDocument
_xsltStylesheet
_xsltTransformContext
xsltFreeDocuments
xsltParseStylesheetImportedDoc
does
XSLT_ITEM_COMPATIBILITY_FIELDS
xsltApplyOneTemplate
xsltAttrTemplateProcess
xsltEvalStaticAttrValueTemplate
xsltGetCNsProp
xsltGetNsProp
xsltPointerListClear
xsltPointerListFree
xsltSaveResultToFd
xsltSaveResultToFile
doesn
xsltTestCompMatchList
done
_xsltDocument
_xsltStackElem
_xsltStylesheet
xsltCompilePattern
xsltEvalUserParams
xsltFindTemplate
xsltGetKey
xsltInitCtxtKeys
xsltLoadStylesheetPI
xsltQuoteUserParams
dump
xsltProfileStylesheet
dunno
_xsltEffectiveNs
during
_xsltStylesheet
xsltRegisterExtPrefix
xsltSortFunc

Letter e:

eclared
_xsltEffectiveNs
effect
_xsltCompilerCtxt
either
xslHandleDebugger
xsltDocLoaderFunc
xsltFormatNumberConversion
element-available
xsltElementAvailableFunction
elements
_xsltCompilerNodeInfo
_xsltStylesheet
_xsltTransformContext
xsltDebugDumpExtensions
xsltExtElementLookup
xsltFreeCompMatchList
xsltParseSequenceConstructor
xsltRegisterAllElement
xsltTransformFunction
else
xsltGetExtInfo
emitted
XSLT_TRACE
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
empty
XSLT_ITEM_NAVIGATION_FIELDS
enable
XSLT_FAST_IF
XSLT_REFACTORED_KEYCOMP
XSLT_REFACTORED_VARS
XSLT_REFACTORED_XPATHCOMP
enabled
_xsltCompilerNodeInfo
encoded
xsltGetUTF8Char
encoding
_xsltStylesheet
xsltRunStylesheet
xsltRunStylesheetUser
encountering
XML_CAST_FPTR
end
_xsltElemPreComp
engine
xsltDocLoaderFunc
xsltSetCtxtParseOptions
entity
xsltGetCNsProp
xsltGetNsProp
entry
xsltGetQNameURI2
xsltNormalizeCompSteps
xsltXPathFunctionLookup
xsltXPathVariableLookup
episode
_xsltCompilerCtxt
equal
xsltLocaleStrcmp
error:
CHECK_STOPPEDE
errors
_xsltCompilerCtxt
_xsltStylesheet
xsltApplyOneTemplate
xsltCopyTextString
xsltCreateRVT
xsltExtensionInstructionResultFinalize
xsltGetNamespace
xsltGetPlainNamespace
xsltParseAnyXSLTElem
xsltRegisterLocalRVT
xsltRegisterTmpRVT
establish
xsltCompileAttr
etc
xsltInit
eval
_xsltStackElem
evaluate
xsltEvalXPathPredicate
evaluated
xsltEvalOneUserParam
xsltEvalUserParams
xsltQuoteUserParams
evaluates
xsltAttrListTemplateProcess
xsltParseStylesheetParam
xsltParseStylesheetVariable
evaluation
_xsltStackElem
everything
xsltFindElemSpaceHandling
xsltParseAnyXSLTElem
xsltParseStylesheetProcess
example
xsltDocLoaderFunc
xsltXPathGetTransformContext
except
xsltFormatNumberConversion
xsltParseStylesheetImportedDoc
excluded
_xsltCompilerNodeInfo
_xsltStylesheet
excluded-result-prefixes
_xsltPrincipalStylesheetData
exctract
xsltApplyAttributeSet
executed
xslHandleDebugger
execution
_xsltStylesheet
exension
xsltGetExtData
xsltStyleGetExtData
xsltStyleStylesheetLevelGetExtData
existent
xsltCopyTextString
existing
xsltInitElemPreComp
exists
xsltParseStylesheetImportedDoc
exit
xsltRegisterTmpRVT
exiting
xsltApplyOneTemplate
exits
_xsltTransformContext
xsltApplyOneTemplate
xsltExtensionInstructionResultFinalize
xsltExtensionInstructionResultRegister
xsltRegisterLocalRVT
xsltRegisterTmpRVT
expect
xsltApplyOneTemplate
expressed
XSLT_PAT_NO_PRIORITY
expression
_xsltStyleBasicExpressionItem
_xsltStyleItemApplyTemplates
_xsltStyleItemIf
_xsltStyleItemSort
_xsltStyleItemValueOf
_xsltStylePreComp
xsltEvalOneUserParam
xsltEvalUserParams
xsltEvalXPathPredicate
xsltEvalXPathString
xsltEvalXPathStringNs
xsltXPathCompile
expressions
XSLT_REFACTORED_XPATHCOMP
_xsltStylesheet
xsltEvalAttrValueTemplate
xsltEvalStaticAttrValueTemplate
xsltQuoteUserParams
exsl:function
xsltApplyOneTemplate
exslt:function
xsltApplyOneTemplate
exsltFuncFunctionFunction
xsltApplyOneTemplate
xsltParseStylesheetCallerParam
extInfos
xsltGetExtInfo
extending
xsltInitElemPreComp
extension-element-prefixes
_xsltPrincipalStylesheetData
extensions
XSLT_LIBXSLT_NAMESPACE
XSLT_NORM_SAXON_NAMESPACE
XSLT_SAXON_NAMESPACE
XSLT_XALAN_NAMESPACE
XSLT_XT_NAMESPACE
xsltCheckExtPrefix
xsltCheckExtURI
xsltFreeExts
xsltInit
xsltInitGlobals
xsltRegisterAllExtras
xsltRegisterExtras
external
xsltLoadStylesheetPI
extra
XSLT_RUNTIME_EXTRA
XSLT_RUNTIME_EXTRA_FREE
XSLT_RUNTIME_EXTRA_LST
_xsltRuntimeExtra
_xsltTransformContext
xsltAllocateExtra
xsltAllocateExtraCtxt
xsltProcessOneNode
xsltTransformError
extract
xsltGetProfileInformation
xsltLoadStylesheetPI
extras
_xsltTransformContext

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Daniel Veillard

07070100062443000041ed0000000000000000000000024f25e6a900000000000000b600010002ffffffffffffffff0000003700000000root/usr/local/share/doc/libxslt-1.1.26/html/tutorial207070100062445000081a40000000000000000000000014f22154400008a24000000b600010002ffffffffffffffff0000004a00000000root/usr/local/share/doc/libxslt-1.1.26/html/tutorial2/libxslt_pipes.htmllibxslt: An Extended Tutorial

libxslt: An Extended Tutorial

Panos Louridas

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Introduction

The Extensible Stylesheet Language Transformations (XSLT) specification defines an XML template language for transforming XML documents. An XSLT engine reads an XSLT file and an XML document and transforms the document accordingly.

We want to perform a series of XSLT transformations to a series of documents. An obvious solution is to use the operating system's pipe mechanism and start a series of transformation processes, each one taking as input the output of the previous transformation. It would be interesting, though, and perhaps more efficient if we could do our job within a single process.

libxslt is a library for doing XSLT transformations. It is built on libxml, which is a library for handling XML documents. libxml and libxslt are used by the GNOME project. Although developed in the *NIX world, both libxml and libxslt have been ported to the MS-Windows platform. In principle an application using libxslt should be easily portable between the two systems. In practice, however, there arise various wrinkles. These do not have anything to do with libxml or libxslt per se, but rather with the different compilation and linking procedures of each system.

The presented solution is an extension of John Fleck's libxslt tutorial, but the present tutorial tries to be self-contained. It develops a minimal libxslt application (libxslt_pipes) that can perform a series of transformations to a series of files in a pipe-like manner. An invocation might be:

libxslt_pipes --out results.xml foo.xsl bar.xsl doc1.xml doc2.xml

The foo.xsl stylesheet will be applied to doc1.xml and the bar.xsl stylesheet will be applied to the resulting document; then the two stylesheets will be applied in the same sequence to bar.xsl. The results are sent to results.xml (if no output is specified they are sent to standard output).

The application is compiled in both *NIX systems and MS-Windows, where by *NIX systems we mean Linux, BSD, and other members of the family. The gcc suite is used in the *NIX platform and the Microsoft compiler and linker are used in the MS-Windows platform.

Setting the Scene

We need to include the necessary libraries:

  
  #include <stdio.h>
  #include <string.h>
  #include <stdlib.h>
  
  #include <libxslt/transform.h>
  #include <libxslt/xsltutils.h>
  

The first group of include directives includes general C libraries. The libraries we need to make libxslt work are in the second group. The transform.h header file declares the API that does the bulk of the actual processing. The xsltutils.h header file declares the API for some generic utility functions of the XSLT engine; among other things, saving to a file, which is what we need it for.

If our input files contain entities through external subsets, we need to tell libxslt to load them. The global variable xmlLoadExtDtdDefaultValue, defined in libxml/globals.h, is responsible for that. As the variable is defined outside our program we must specify external linkage:

    extern int xmlLoadExtDtdDefaultValue;
  

The program is called from the command line. We anticipate that the user may not call it the right way, so we define a function for describing its usage:

  static void usage(const char *name) {
      printf("Usage: %s [options] stylesheet [stylesheet ...] file [file ...]\n",
          name);
      printf("      --out file: send output to file\n");
      printf("      --param name value: pass a (parameter,value) pair\n");
  }

Program Start

We need to define a few variables that are used throughout the program:

    int main(int argc, char **argv) {
        int arg_indx;
	const char *params[16 + 1];
	int params_indx = 0;
	int stylesheet_indx = 0;
	int file_indx = 0;
	int i, j, k;
	FILE *output_file = stdout;
	xsltStylesheetPtr *stylesheets = 
	    (xsltStylesheetPtr *) calloc(argc, sizeof(xsltStylesheetPtr));
	    xmlDocPtr *files = (xmlDocPtr *) calloc(argc, sizeof(xmlDocPtr));
	int return_value = 0;

The arg_indx integer is an index used to iterate over the program arguments. The params string array is used to collect the XSLT parameters. In XSLT, additional information may be passed to the processor via parameters. The user of the program specifies these in key-value pairs in the command line following the --param command line argument. We accept up to 8 such key-value pairs, which we track with the params_indx integer. libxslt expects the parameters array to be null-terminated, so we have to allocate one extra place (16 + 1) for it. The file_indx is an index to iterate over the files to be processed. The i, j, k integers are additional indices for iteration purposes, and return_value is the value the program returns to the operating system. We expect the result of the transformation to be the standard output in most cases, but the user may wish otherwise via the --out command line option, so we need to keep track of the situation with the output_file file pointer.

In libxslt, XSLT stylesheets are internally stored in xsltStylesheet structures; similarly, in libxml XML documents are stored in xmlDoc structures. xsltStylesheetPtr and xmlDocPtr are simply typedefs of pointers to them. The user may specify any number of stylesheets that will be applied to the documents one after the other. To save time we parse the stylesheets and the documents as we read them from the command line and keep the parsed representation of them. The parsed results are kept in arrays. These are dynamically allocated and sized to the number of arguments; this wastes some space, but not much (the size of xmlStyleSheetPtr and xmlDocPtr is the size of a pointer) and simplifies code later on. The array memory is allocated with calloc to ensure contents are initialised to zero.

Arguments Collection

If the program gets no arguments at all, we print the usage description, set the program return value to 1 and exit. Instead of returning directly we go to (literally) to the end of the program text where some housekeeping takes place.

  
    if (argc <= 1) {
        usage(argv[0]);
        return_value = 1;
        goto finish;
    }
        
    /* Collect arguments */
    for (arg_indx = 1; arg_indx < argc; arg_indx++) {
        if (argv[arg_indx][0] != '-')
            break;
        if ((!strcmp(argv[arg_indx], "-param"))
                || (!strcmp(argv[arg_indx], "--param"))) {
            arg_indx++;
            params[params_indx++] = argv[arg_indx++];
            params[params_indx++] = argv[arg_indx];
            if (params_indx >= 16) {
                fprintf(stderr, "too many params\n");
                return_value = 1;
                goto finish;
            }
        }  else if ((!strcmp(argv[arg_indx], "-o"))
                || (!strcmp(argv[arg_indx], "--out"))) {
            arg_indx++;
            output_file = fopen(argv[arg_indx], "w");
        } else {
            fprintf(stderr, "Unknown option %s\n", argv[arg_indx]);
            usage(argv[0]);
            return_value = 1;
            goto finish;
        }
    }
    params[params_indx] = 0;
    

If the user passes arguments we have to collect them. This is a matter of iterating over the program argument list while we encounter arguments starting with a dash. The XSLT parameters are put into the params array and the output_file is set to the user request, if any. After processing all the parameter key-value pairs we set the last element of the params array to null.

Parsing

The rest of the argument list is taken to be stylesheets and files to be transformed. Stylesheets are identified by their suffix, which is expected to be xsl (case sensitive). All other files are assumed to be XML documents, regardless of suffix.

  
    /* Collect and parse stylesheets and files to be transformed */
    for (; arg_indx < argc; arg_indx++) {
        char *argument =
            (char *) malloc(sizeof(char) * (strlen(argv[arg_indx]) + 1));
        strcpy(argument, argv[arg_indx]);
        if (strtok(argument, ".")) {
            char *suffix = strtok(0, ".");
            if (suffix && !strcmp(suffix, "xsl")) {
                stylesheets[stylesheet_indx++] =
                    xsltParseStylesheetFile((const xmlChar *)argv[arg_indx]);;
            } else {
                files[file_indx++] = xmlParseFile(argv[arg_indx]);
            }
        } else {
            files[file_indx++] = xmlParseFile(argv[arg_indx]);
        }
        free(argument);
    }
  

Stylesheets are parsed using the xsltParseStylesheetFile function. xsltParseStylesheetFile takes as argument a pointer to an xmlChar, a typedef of an unsigned char; in effect, the filename of the stylesheet. The resulting xsltStylesheetPtr is placed in the stylesheets array. In the same vein, XML files are parsed using the xmlParseFile function that takes as argument the file's name; the resulting xmlDocPtr is placed in the files array.

File Processing

All stylesheets are applied to each file one after the other. Stylesheets are applied with the xsltApplyStylesheet function that takes as argument the stylesheet to be applied, the file to be transformed and any parameters we have collected. The in-memory representation of an XML document takes space, which we free using the xmlFreeDoc function. The file is then saved to the specified output.

  
    /* Process files */
    for (i = 0; files[i]; i++) {
        doc = files[i];
        res = doc;
        for (j = 0; stylesheets[j]; j++) {
            res = xsltApplyStylesheet(stylesheets[j], doc, params);
            xmlFreeDoc(doc);
            doc = res;
        }

        if (stylesheets[0]) {
            xsltSaveResultToFile(output_file, res, stylesheets[j-1]);
        } else {
            xmlDocDump(output_file, res);
        }
        xmlFreeDoc(res);
    }

    fclose(output_file);

    for (k = 0; stylesheets[k]; k++) {
        xsltFreeStylesheet(stylesheets[k]);
    }

    xsltCleanupGlobals();
    xmlCleanupParser();

 finish:
    free(stylesheets);
    free(files);
    return(return_value);
    

To output an XML document we have in memory we use the xlstSaveResultToFile function, where we specify the destination, the document and the stylesheet that has been applied to it. The stylesheet is required so that output-related information contained in the stylesheet, such as the encoding to be used, is used in output. If no transformation has taken place, which will happen when the user specifies no stylesheets at all in the command line, we use the xmlDocDump libxml function that saves the source document to the file without further ado.

As parsed stylesheets take up space in memory, we take care to free that memory after use with a call to xmlFreeStyleSheet. When all work is done, we clean up all global variables used by the XSLT library using xsltCleanupGlobals. Likewise, all global memory allocated for the XML parser is reclaimed by a call to xmlCleanupParser. Before returning we deallocate the memory allocated for the holding the pointers to the XML documents and stylesheets.

*NIX Compiling and Linking

Compiling and linking in a *NIX environment is easy, as the required libraries are almost certain to be already in place (remember that libxml and libxslt are used by the GNOME project, so they are present in most installations). The program can be dynamically linked so that its footprint is minimized, or statically linked, so that it stands by itself, carrying all required code.

For dynamic linking the following one liner will do:

gcc -o libxslt_pipes -Wall -I/usr/include/libxml2 -lxslt -lxml2 -L/usr/lib libxslt_pipes.c

We assume that the necessary header files are in /usr/include/libxml2 and that the required libraries (libxslt.so, libxml2.so) are in /usr/lib.

In general, a program may need to link to additional libraries, depending on the processing it actually performs. A good way to start is to use the xslt-config script. The --help option displays usage information. Running

xslt-config --cflags

we get compile flags, while running

xslt-config --libs

we get the library settings for the linker.

For static linking we must list more libraries than we did for dynamic linking, as the libraries on which the libxsl and libxslt libraries depend are also needed. Using xslt-config on a particular installation we create the following one-liner:

gcc -o libxslt_pipes -Wall -I/usr/include/libxml2 libxslt_pipes.c -static -L/usr/lib -lxslt -lxml2 -lz -lpthread -lm

If we get warnings to the effect that some function in statically linked applications requires at runtime the shared libraries used from the glibc version used for linking, that means that the binary is not completely static. Although we statically linked against the GNU C runtime library glibc, glibc uses external libraries to perform some of its functions. Same version libraries must be present on the system we want the application to run. One way to avoid this it to use an alternative C runtime, for example uClibc, which requires obtaining and building a uClibc toolchain first (if the reason for trying to get a statically linked version of the program is to embed it somewhere, using uClibc might be a good idea anyway).

MS-Windows Compiling and Linking

Compiling and linking in MS-Windows requires some attention. First, the MS-Windows ports must be downloaded and installed in the programming workstation. The ports are available in Igor Zlatković's site. We need the ports for iconv, zlib, libxml, and libxslt. In contrast to *NIX environments, we cannot assume that the libraries needed will be present in other computers where the program will be used. One solution is to distribute the program along with the necessary dynamic libraries. Another solution is to statically link the program so that only a single executable file will have to be distributed.

We assume that we have decompressed the downloaded ports and have placed the required contents of their include directories in an include directory in our file system. The required contents include everything apart from the libexslt directory of the libxslt port, as we are not using EXLST (an initiative to provide extensions to XSLT) in this project. In order to compile the program we have to make sure that all necessary header files are included. When using the Microsoft compiler this translates to adding the required /I switches in the command line. If using a Visual Studio product the same effect is attained by specifying additional include directories in the compilation options. In the end, if the headers have been copied in C:\include the command line must contain /I"C:\include" /I"C:\include\libslt" /I"C:\include\libxml".

This being a C program, it needs to be compiled against an implementation of the C libraries. Microsoft provides various implementations. The ports, however, have been compiled against the msvcrt.dll implementation, so it is wise to use the same runtime in our project, lest we wish to come against unexpected runtime crashes. The msvcrt.dll is a multi-threaded implementation and is specified by giving /MD as a compiler option. Unfortunately, the correspondence between the /MD switch and msvcrt.dll breaks after version 6 of the Microsoft compiler. In version 7 and later (i.e., Visual Studio .NET), /MD links against a different DLL; in version 7.1 this is msvcrt71.dll. The end result of this bit of esoterica is that if you try to dynamically link your application with a compiler whose version is greater than 6, your program is likely to crash unexpectedly. Alternatively, you may wish to compile all iconv, zlib, libxml and libxslt yourself, using the new runtime library. This is not a tall order, and some details are given below.

There are three kinds of libraries in MS-Windows. Dynamically Linked Libraries (DLLs), like msvcrt.dll we met above, are used for dynamic linking; an application links to them at runtime, so the application does not include the code contained in them. Static libraries are used for static linking; an application adds the libraries' code to its own code at link time. Import libraries are used when building an application that uses DLLs. For the application to be built, the linker must somehow find the definitions of the functions that will be provided in runtime by the DLLs, otherwise it will complain about unresolved references. Import libraries contain function stubs that, for each DLL function we want to call, know where to look for it in the DLL. In essence, in order to use a DLL we must link against its corresponding import library. DLLs have a .dll suffix; static and import libraries both have a .lib suffix. In the MS-Windows ports of libxml and libxslt static libraries are distinguished by their name ending in _a.lib, while in the zlib port the import library is zdll.lib and the static library is zlib.lib. In what follows we assume we have a lib directory in our filesystem where we place the libraries we need for linking.

If we want to link dynamically we must make sure the lib directory contains iconv.lib, libxslt.lib, libxml2.lib, and zdll.lib. When using the Microsoft linker this translates to adding the required /LIBPATH switch and the necessary libraries in the command line. In Visual Studio we must specify an additional library directory for lib and put the necessary libraries in the additional dependencies. In the end, the command line must include /LIBPATH:"C:\lib" "lib\iconv.lib" "lib\libxslt.lib" "lib\libxml2.lib" "lib\zdll.lib", provided the libraries' directory is C:\lib. In order for the resulting executable to run, the ports DLLs must be present; one way is to place all DLLs contained in the ports in the home directory of our application, and make sure they are distributed together.

If we want to link statically we must make sure the lib directory contains iconv_a.lib, libxslt_a.lib, libxml2_a.lib, and zlib.lib. Adding lib as a library directory and putting the necessary libraries in the additional dependencies, we get a command line that should include /LIBPATH:"C:\lib" "lib\iconv_a.lib" "lib\libxslt_a.lib" "lib\libxml2_a.lib" "lib\zlib.lib". The resulting executable is much bigger than if we linked dynamically; it is, however, self-contained and can be distributed more easily, in theory at least. In practice, however, the executable is not completely static. We saw that the ports are compiled against msvcrt.dll, so the program does require that DLL at runtime. Moreover, since when using a version of Microsoft developer tools with a version number greater than 6, we are no longer using msvcrt.dll, but another runtime like msvcrt71.dll, and we then need that DLL. In contrast to msvcrt.dll it may not be present on the target computer, so we may have to copy it along.

Building the Ports in MS-Windows

The source code of the ports is readily available on the web, one has to check the ports sites. Each port can be built without problems in an MS-Windows environment using Microsoft development tools. The necessary command line tools (compiler, linker, nmake) must be available. This means running a batch file called vcvars32.bat that comes with Visual Studio (its exact location in the directory tree may vary depending on the version of Visual Studio, but a file search will find it anyway). Makefiles for the Microsoft tools are found in all ports. They are distinguished by their suffix, e.g., Makefile.msvc or Makefile.msc. To build zlib it suffices to run nmake against Makefile.msc (i.e., with the /F option); similarly, to build iconv it suffices to run nmake against Makefile.msvc. Building libxml and libxslt requires an extra configuration step; we must run the configure.js configuration script with the cscript command. configure.js is found in the win32 directory in the distributions. It is written in JScript, Microsoft's implementation of the ECMA 262 language specification (ECMAScript Edition 3), a JavaScript offspring. The configuration string takes a number of parameters detailing our environment and needs; cscript configure.js help documents them.

It is wise to read all documentation files in the source distributions before starting; moreover, pay attention to the dependencies between the ports. If we configure libxml and libxslt to use iconv and zlib we must build these two first and make sure their headers and libraries can be found by the compiler and the linker when building libxml and libxslt.

zlib, iconv and All That

We saw that libxml and libxslt depend on various other libraries, for instance zlib, iconv, and so forth. Taking a look into them gives us clues on the capabilities of libxml and libxslt.

zlib is a free general purpose lossless data compression library. It is a venerable workhorse; more than 500 applications (both commercial and open source) seem to use the library. libxml uses zlib so that it can read from or write to compressed files directly. The xmlParseFile function can transparently parse a compressed document to produce an xmlDoc. If we want to create a compressed document with libxml we can use an xmlTextWriterPtr (obtained through xmlNewTextWriterDoc), or another related structure from libxml/xmlwriter.h, with compression enabled.

XML allows documents to use a variety of different character encodings. iconv is a free library for converting between different character encodings. libxml provides a set of default converters for some encodings: UTF-8, UTF-16 (little endian and big endian), ISO-8859-1, ASCII, and HTML (a specific handler for the conversion of UTF-8 to ASCII with HTML predefined entities like &copy; for the copyright sign). However, when compiled with iconv support, libxml and libxslt can handle the full range of encodings provided by iconv; these should cover most needs.

libxml and libxslt can be used in multi-threaded applications. In MS-Windows they are linked against MSVCRT.DLL (or one of its descendants, as we saw above). In *NIX the pthreads (POSIX threads) library is used.

The Complete Program

The complete program listing is given below. The program is also available online.

/*
 * libxslt_pipes.c: a program for performing a series of XSLT
 * transformations
 *
 * 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.
 *
 */ 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#include <libxslt/transform.h>
#include <libxslt/xsltutils.h>

extern int xmlLoadExtDtdDefaultValue;

static void usage(const char *name) {
    printf("Usage: %s [options] stylesheet [stylesheet ...] file [file ...]\n",
            name);
    printf("      --out file: send output to file\n");
    printf("      --param name value: pass a (parameter,value) pair\n");
}

int main(int argc, char **argv) {
    int arg_indx;
    const char *params[16 + 1];
    int params_indx = 0;
    int stylesheet_indx = 0;
    int file_indx = 0;
    int i, j, k;
    FILE *output_file = stdout;
    xsltStylesheetPtr *stylesheets = 
        (xsltStylesheetPtr *) calloc(argc, sizeof(xsltStylesheetPtr));
    xmlDocPtr *files = (xmlDocPtr *) calloc(argc, sizeof(xmlDocPtr));
    xmlDocPtr doc, res;
    int return_value = 0;
        
    if (argc <= 1) {
        usage(argv[0]);
        return_value = 1;
        goto finish;
    }
        
    /* Collect arguments */
    for (arg_indx = 1; arg_indx < argc; arg_indx++) {
        if (argv[arg_indx][0] != '-')
            break;
        if ((!strcmp(argv[arg_indx], "-param"))
                || (!strcmp(argv[arg_indx], "--param"))) {
            arg_indx++;
            params[params_indx++] = argv[arg_indx++];
            params[params_indx++] = argv[arg_indx];
            if (params_indx >= 16) {
                fprintf(stderr, "too many params\n");
                return_value = 1;
                goto finish;
            }
        }  else if ((!strcmp(argv[arg_indx], "-o"))
                || (!strcmp(argv[arg_indx], "--out"))) {
            arg_indx++;
            output_file = fopen(argv[arg_indx], "w");
        } else {
            fprintf(stderr, "Unknown option %s\n", argv[arg_indx]);
            usage(argv[0]);
            return_value = 1;
            goto finish;
        }
    }
    params[params_indx] = 0;

    /* Collect and parse stylesheets and files to be transformed */
    for (; arg_indx < argc; arg_indx++) {
        char *argument =
            (char *) malloc(sizeof(char) * (strlen(argv[arg_indx]) + 1));
        strcpy(argument, argv[arg_indx]);
        if (strtok(argument, ".")) {
            char *suffix = strtok(0, ".");
            if (suffix && !strcmp(suffix, "xsl")) {
                stylesheets[stylesheet_indx++] =
                    xsltParseStylesheetFile((const xmlChar *)argv[arg_indx]);;
            } else {
                files[file_indx++] = xmlParseFile(argv[arg_indx]);
            }
        } else {
            files[file_indx++] = xmlParseFile(argv[arg_indx]);
        }
        free(argument);
    }

    xmlSubstituteEntitiesDefault(1);
    xmlLoadExtDtdDefaultValue = 1;

    /* Process files */
    for (i = 0; files[i]; i++) {
        doc = files[i];
        res = doc;
        for (j = 0; stylesheets[j]; j++) {
            res = xsltApplyStylesheet(stylesheets[j], doc, params);
            xmlFreeDoc(doc);
            doc = res;
        }

        if (stylesheets[0]) {
            xsltSaveResultToFile(output_file, res, stylesheets[j-1]);
        } else {
            xmlDocDump(output_file, res);
        }
        xmlFreeDoc(res);
    }

    fclose(output_file);

    for (k = 0; stylesheets[k]; k++) {
        xsltFreeStylesheet(stylesheets[k]);
    }

    xsltCleanupGlobals();
    xmlCleanupParser();

 finish:
    free(stylesheets);
    free(files);
    return(return_value);
}

07070100062444000081a40000000000000000000000014f221544000010f4000000b600010002ffffffffffffffff0000004700000000root/usr/local/share/doc/libxslt-1.1.26/html/tutorial2/libxslt_pipes.c/* * libxslt_pipes.c: a program for performing a series of XSLT * transformations * * 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. * */ #include #include #include #include #include extern int xmlLoadExtDtdDefaultValue; static void usage(const char *name) { printf("Usage: %s [options] stylesheet [stylesheet ...] file [file ...]\n", name); printf(" --out file: send output to file\n"); printf(" --param name value: pass a (parameter,value) pair\n"); } int main(int argc, char **argv) { int arg_indx; const char *params[16 + 1]; int params_indx = 0; int stylesheet_indx = 0; int file_indx = 0; int i, j, k; FILE *output_file = stdout; xsltStylesheetPtr *stylesheets = (xsltStylesheetPtr *) calloc(argc, sizeof(xsltStylesheetPtr)); xmlDocPtr *files = (xmlDocPtr *) calloc(argc, sizeof(xmlDocPtr)); xmlDocPtr doc, res; int return_value = 0; if (argc <= 1) { usage(argv[0]); return_value = 1; goto finish; } /* Collect arguments */ for (arg_indx = 1; arg_indx < argc; arg_indx++) { if (argv[arg_indx][0] != '-') break; if ((!strcmp(argv[arg_indx], "-param")) || (!strcmp(argv[arg_indx], "--param"))) { arg_indx++; params[params_indx++] = argv[arg_indx++]; params[params_indx++] = argv[arg_indx]; if (params_indx >= 16) { fprintf(stderr, "too many params\n"); return_value = 1; goto finish; } } else if ((!strcmp(argv[arg_indx], "-o")) || (!strcmp(argv[arg_indx], "--out"))) { arg_indx++; output_file = fopen(argv[arg_indx], "w"); } else { fprintf(stderr, "Unknown option %s\n", argv[arg_indx]); usage(argv[0]); return_value = 1; goto finish; } } params[params_indx] = 0; /* Collect and parse stylesheets and files to be transformed */ for (; arg_indx < argc; arg_indx++) { char *argument = (char *) malloc(sizeof(char) * (strlen(argv[arg_indx]) + 1)); strcpy(argument, argv[arg_indx]); if (strtok(argument, ".")) { char *suffix = strtok(0, "."); if (suffix && !strcmp(suffix, "xsl")) { stylesheets[stylesheet_indx++] = xsltParseStylesheetFile((const xmlChar *)argv[arg_indx]);; } else { files[file_indx++] = xmlParseFile(argv[arg_indx]); } } else { files[file_indx++] = xmlParseFile(argv[arg_indx]); } free(argument); } xmlSubstituteEntitiesDefault(1); xmlLoadExtDtdDefaultValue = 1; /* Process files */ for (i = 0; files[i]; i++) { doc = files[i]; res = doc; for (j = 0; stylesheets[j]; j++) { res = xsltApplyStylesheet(stylesheets[j], doc, params); xmlFreeDoc(doc); doc = res; } if (stylesheets[0]) { xsltSaveResultToFile(output_file, res, stylesheets[j-1]); } else { xmlDocDump(output_file, res); } xmlFreeDoc(res); } fclose(output_file); for (k = 0; stylesheets[k]; k++) { xsltFreeStylesheet(stylesheets[k]); } xsltCleanupGlobals(); xmlCleanupParser(); finish: free(stylesheets); free(files); return(return_value); } 07070100062446000081a40000000000000000000000014f22154400006e22000000b600010002ffffffffffffffff0000004900000000root/usr/local/share/doc/libxslt-1.1.26/html/tutorial2/libxslt_pipes.xml
PanosLouridas 2004 Panagiotis Louridas Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. libxslt: An Extended Tutorial Introduction The Extensible Stylesheet Language Transformations (XSLT) specification defines an XML template language for transforming XML documents. An XSLT engine reads an XSLT file and an XML document and transforms the document accordingly. We want to perform a series of XSLT transformations to a series of documents. An obvious solution is to use the operating system's pipe mechanism and start a series of transformation processes, each one taking as input the output of the previous transformation. It would be interesting, though, and perhaps more efficient if we could do our job within a single process. libxslt is a library for doing XSLT transformations. It is built on libxml, which is a library for handling XML documents. libxml and libxslt are used by the GNOME project. Although developed in the *NIX world, both libxml and libxslt have been ported to the MS-Windows platform. In principle an application using libxslt should be easily portable between the two systems. In practice, however, there arise various wrinkles. These do not have anything to do with libxml or libxslt per se, but rather with the different compilation and linking procedures of each system. The presented solution is an extension of John Fleck's libxslt tutorial, but the present tutorial tries to be self-contained. It develops a minimal libxslt application (libxslt_pipes) that can perform a series of transformations to a series of files in a pipe-like manner. An invocation might be: libxslt_pipes --out results.xml foo.xsl bar.xsl doc1.xml doc2.xml The foo.xsl stylesheet will be applied to doc1.xml and the bar.xsl stylesheet will be applied to the resulting document; then the two stylesheets will be applied in the same sequence to bar.xsl. The results are sent to results.xml (if no output is specified they are sent to standard output). The application is compiled in both *NIX systems and MS-Windows, where by *NIX systems we mean Linux, BSD, and other members of the family. The gcc suite is used in the *NIX platform and the Microsoft compiler and linker are used in the MS-Windows platform. Setting the Scene We need to include the necessary libraries: #include #include #include #include ]]> The first group of include directives includes general C libraries. The libraries we need to make libxslt work are in the second group. The transform.h header file declares the API that does the bulk of the actual processing. The xsltutils.h header file declares the API for some generic utility functions of the XSLT engine; among other things, saving to a file, which is what we need it for. If our input files contain entities through external subsets, we need to tell libxslt to load them. The global variable xmlLoadExtDtdDefaultValue, defined in libxml/globals.h, is responsible for that. As the variable is defined outside our program we must specify external linkage: extern int xmlLoadExtDtdDefaultValue; The program is called from the command line. We anticipate that the user may not call it the right way, so we define a function for describing its usage: static void usage(const char *name) { printf("Usage: %s [options] stylesheet [stylesheet ...] file [file ...]\n", name); printf(" --out file: send output to file\n"); printf(" --param name value: pass a (parameter,value) pair\n"); } Program Start We need to define a few variables that are used throughout the program: int main(int argc, char **argv) { int arg_indx; const char *params[16 + 1]; int params_indx = 0; int stylesheet_indx = 0; int file_indx = 0; int i, j, k; FILE *output_file = stdout; xsltStylesheetPtr *stylesheets = (xsltStylesheetPtr *) calloc(argc, sizeof(xsltStylesheetPtr)); xmlDocPtr *files = (xmlDocPtr *) calloc(argc, sizeof(xmlDocPtr)); int return_value = 0; The arg_indx integer is an index used to iterate over the program arguments. The params string array is used to collect the XSLT parameters. In XSLT, additional information may be passed to the processor via parameters. The user of the program specifies these in key-value pairs in the command line following the --param command line argument. We accept up to 8 such key-value pairs, which we track with the params_indx integer. libxslt expects the parameters array to be null-terminated, so we have to allocate one extra place (16 + 1) for it. The file_indx is an index to iterate over the files to be processed. The i, j, k integers are additional indices for iteration purposes, and return_value is the value the program returns to the operating system. We expect the result of the transformation to be the standard output in most cases, but the user may wish otherwise via the command line option, so we need to keep track of the situation with the output_file file pointer. In libxslt, XSLT stylesheets are internally stored in xsltStylesheet structures; similarly, in libxml XML documents are stored in xmlDoc structures. xsltStylesheetPtr and xmlDocPtr are simply typedefs of pointers to them. The user may specify any number of stylesheets that will be applied to the documents one after the other. To save time we parse the stylesheets and the documents as we read them from the command line and keep the parsed representation of them. The parsed results are kept in arrays. These are dynamically allocated and sized to the number of arguments; this wastes some space, but not much (the size of xmlStyleSheetPtr and xmlDocPtr is the size of a pointer) and simplifies code later on. The array memory is allocated with calloc to ensure contents are initialised to zero. Arguments Collection If the program gets no arguments at all, we print the usage description, set the program return value to 1 and exit. Instead of returning directly we go to (literally) to the end of the program text where some housekeeping takes place. = 16) { fprintf(stderr, "too many params\n"); return_value = 1; goto finish; } } else if ((!strcmp(argv[arg_indx], "-o")) || (!strcmp(argv[arg_indx], "--out"))) { arg_indx++; output_file = fopen(argv[arg_indx], "w"); } else { fprintf(stderr, "Unknown option %s\n", argv[arg_indx]); usage(argv[0]); return_value = 1; goto finish; } } params[params_indx] = 0; ]]> If the user passes arguments we have to collect them. This is a matter of iterating over the program argument list while we encounter arguments starting with a dash. The XSLT parameters are put into the params array and the output_file is set to the user request, if any. After processing all the parameter key-value pairs we set the last element of the params array to null. Parsing The rest of the argument list is taken to be stylesheets and files to be transformed. Stylesheets are identified by their suffix, which is expected to be xsl (case sensitive). All other files are assumed to be XML documents, regardless of suffix. Stylesheets are parsed using the xsltParseStylesheetFile function. xsltParseStylesheetFile takes as argument a pointer to an xmlChar, a typedef of an unsigned char; in effect, the filename of the stylesheet. The resulting xsltStylesheetPtr is placed in the stylesheets array. In the same vein, XML files are parsed using the xmlParseFile function that takes as argument the file's name; the resulting xmlDocPtr is placed in the files array. File Processing All stylesheets are applied to each file one after the other. Stylesheets are applied with the xsltApplyStylesheet function that takes as argument the stylesheet to be applied, the file to be transformed and any parameters we have collected. The in-memory representation of an XML document takes space, which we free using the xmlFreeDoc function. The file is then saved to the specified output. To output an XML document we have in memory we use the xlstSaveResultToFile function, where we specify the destination, the document and the stylesheet that has been applied to it. The stylesheet is required so that output-related information contained in the stylesheet, such as the encoding to be used, is used in output. If no transformation has taken place, which will happen when the user specifies no stylesheets at all in the command line, we use the xmlDocDump libxml function that saves the source document to the file without further ado. As parsed stylesheets take up space in memory, we take care to free that memory after use with a call to xmlFreeStyleSheet. When all work is done, we clean up all global variables used by the XSLT library using xsltCleanupGlobals. Likewise, all global memory allocated for the XML parser is reclaimed by a call to xmlCleanupParser. Before returning we deallocate the memory allocated for the holding the pointers to the XML documents and stylesheets. *NIX Compiling and Linking Compiling and linking in a *NIX environment is easy, as the required libraries are almost certain to be already in place (remember that libxml and libxslt are used by the GNOME project, so they are present in most installations). The program can be dynamically linked so that its footprint is minimized, or statically linked, so that it stands by itself, carrying all required code. For dynamic linking the following one liner will do: gcc -o libxslt_pipes -Wall -I/usr/include/libxml2 -lxslt -lxml2 -L/usr/lib libxslt_pipes.c We assume that the necessary header files are in /usr/include/libxml2 and that the required libraries (libxslt.so, libxml2.so) are in /usr/lib. In general, a program may need to link to additional libraries, depending on the processing it actually performs. A good way to start is to use the xslt-config script. The option displays usage information. Running xslt-config --cflags we get compile flags, while running xslt-config --libs we get the library settings for the linker. For static linking we must list more libraries than we did for dynamic linking, as the libraries on which the libxsl and libxslt libraries depend are also needed. Using xslt-config on a particular installation we create the following one-liner: gcc -o libxslt_pipes -Wall -I/usr/include/libxml2 libxslt_pipes.c -static -L/usr/lib -lxslt -lxml2 -lz -lpthread -lm If we get warnings to the effect that some function in statically linked applications requires at runtime the shared libraries used from the glibc version used for linking, that means that the binary is not completely static. Although we statically linked against the GNU C runtime library glibc, glibc uses external libraries to perform some of its functions. Same version libraries must be present on the system we want the application to run. One way to avoid this it to use an alternative C runtime, for example uClibc, which requires obtaining and building a uClibc toolchain first (if the reason for trying to get a statically linked version of the program is to embed it somewhere, using uClibc might be a good idea anyway). MS-Windows Compiling and Linking Compiling and linking in MS-Windows requires some attention. First, the MS-Windows ports must be downloaded and installed in the programming workstation. The ports are available in Igor Zlatkoviæ's site. We need the ports for iconv, zlib, libxml, and libxslt. In contrast to *NIX environments, we cannot assume that the libraries needed will be present in other computers where the program will be used. One solution is to distribute the program along with the necessary dynamic libraries. Another solution is to statically link the program so that only a single executable file will have to be distributed. We assume that we have decompressed the downloaded ports and have placed the required contents of their include directories in an include directory in our file system. The required contents include everything apart from the libexslt directory of the libxslt port, as we are not using EXLST (an initiative to provide extensions to XSLT) in this project. In order to compile the program we have to make sure that all necessary header files are included. When using the Microsoft compiler this translates to adding the required switches in the command line. If using a Visual Studio product the same effect is attained by specifying additional include directories in the compilation options. In the end, if the headers have been copied in C:\include the command line must contain . This being a C program, it needs to be compiled against an implementation of the C libraries. Microsoft provides various implementations. The ports, however, have been compiled against the msvcrt.dll implementation, so it is wise to use the same runtime in our project, lest we wish to come against unexpected runtime crashes. The msvcrt.dll is a multi-threaded implementation and is specified by giving as a compiler option. Unfortunately, the correspondence between the switch and msvcrt.dll breaks after version 6 of the Microsoft compiler. In version 7 and later (i.e., Visual Studio .NET), links against a different DLL; in version 7.1 this is msvcrt71.dll. The end result of this bit of esoterica is that if you try to dynamically link your application with a compiler whose version is greater than 6, your program is likely to crash unexpectedly. Alternatively, you may wish to compile all iconv, zlib, libxml and libxslt yourself, using the new runtime library. This is not a tall order, and some details are given below. There are three kinds of libraries in MS-Windows. Dynamically Linked Libraries (DLLs), like msvcrt.dll we met above, are used for dynamic linking; an application links to them at runtime, so the application does not include the code contained in them. Static libraries are used for static linking; an application adds the libraries' code to its own code at link time. Import libraries are used when building an application that uses DLLs. For the application to be built, the linker must somehow find the definitions of the functions that will be provided in runtime by the DLLs, otherwise it will complain about unresolved references. Import libraries contain function stubs that, for each DLL function we want to call, know where to look for it in the DLL. In essence, in order to use a DLL we must link against its corresponding import library. DLLs have a .dll suffix; static and import libraries both have a .lib suffix. In the MS-Windows ports of libxml and libxslt static libraries are distinguished by their name ending in _a.lib, while in the zlib port the import library is zdll.lib and the static library is zlib.lib. In what follows we assume we have a lib directory in our filesystem where we place the libraries we need for linking. If we want to link dynamically we must make sure the lib directory contains iconv.lib, libxslt.lib, libxml2.lib, and zdll.lib. When using the Microsoft linker this translates to adding the required switch and the necessary libraries in the command line. In Visual Studio we must specify an additional library directory for lib and put the necessary libraries in the additional dependencies. In the end, the command line must include , provided the libraries' directory is C:\lib. In order for the resulting executable to run, the ports DLLs must be present; one way is to place all DLLs contained in the ports in the home directory of our application, and make sure they are distributed together. If we want to link statically we must make sure the lib directory contains iconv_a.lib, libxslt_a.lib, libxml2_a.lib, and zlib.lib. Adding lib as a library directory and putting the necessary libraries in the additional dependencies, we get a command line that should include . The resulting executable is much bigger than if we linked dynamically; it is, however, self-contained and can be distributed more easily, in theory at least. In practice, however, the executable is not completely static. We saw that the ports are compiled against msvcrt.dll, so the program does require that DLL at runtime. Moreover, since when using a version of Microsoft developer tools with a version number greater than 6, we are no longer using msvcrt.dll, but another runtime like msvcrt71.dll, and we then need that DLL. In contrast to msvcrt.dll it may not be present on the target computer, so we may have to copy it along. Building the Ports in MS-Windows The source code of the ports is readily available on the web, one has to check the ports sites. Each port can be built without problems in an MS-Windows environment using Microsoft development tools. The necessary command line tools (compiler, linker, nmake) must be available. This means running a batch file called vcvars32.bat that comes with Visual Studio (its exact location in the directory tree may vary depending on the version of Visual Studio, but a file search will find it anyway). Makefiles for the Microsoft tools are found in all ports. They are distinguished by their suffix, e.g., Makefile.msvc or Makefile.msc. To build zlib it suffices to run nmake against Makefile.msc (i.e., with the option); similarly, to build iconv it suffices to run nmake against Makefile.msvc. Building libxml and libxslt requires an extra configuration step; we must run the configure.js configuration script with the cscript command. configure.js is found in the win32 directory in the distributions. It is written in JScript, Microsoft's implementation of the ECMA 262 language specification (ECMAScript Edition 3), a JavaScript offspring. The configuration string takes a number of parameters detailing our environment and needs; cscript configure.js help documents them. It is wise to read all documentation files in the source distributions before starting; moreover, pay attention to the dependencies between the ports. If we configure libxml and libxslt to use iconv and zlib we must build these two first and make sure their headers and libraries can be found by the compiler and the linker when building libxml and libxslt. zlib, iconv and All That We saw that libxml and libxslt depend on various other libraries, for instance zlib, iconv, and so forth. Taking a look into them gives us clues on the capabilities of libxml and libxslt. zlib is a free general purpose lossless data compression library. It is a venerable workhorse; more than 500 applications (both commercial and open source) seem to use the library. libxml uses zlib so that it can read from or write to compressed files directly. The xmlParseFile function can transparently parse a compressed document to produce an xmlDoc. If we want to create a compressed document with libxml we can use an xmlTextWriterPtr (obtained through xmlNewTextWriterDoc), or another related structure from libxml/xmlwriter.h, with compression enabled. XML allows documents to use a variety of different character encodings. iconv is a free library for converting between different character encodings. libxml provides a set of default converters for some encodings: UTF-8, UTF-16 (little endian and big endian), ISO-8859-1, ASCII, and HTML (a specific handler for the conversion of UTF-8 to ASCII with HTML predefined entities like &copy; for the copyright sign). However, when compiled with iconv support, libxml and libxslt can handle the full range of encodings provided by iconv; these should cover most needs. libxml and libxslt can be used in multi-threaded applications. In MS-Windows they are linked against MSVCRT.DLL (or one of its descendants, as we saw above). In *NIX the pthreads (POSIX threads) library is used. The Complete Program The complete program listing is given below. The program is also available online.
0707010006243c000081a40000000000000000000000014f22154400000ad4000000b600010002ffffffffffffffff0000003f00000000root/usr/local/share/doc/libxslt-1.1.26/html/smallfootonly.gifGIF89a0<ç BBD††„¦¦¤ºº´ÊÊÄÖÖÔÞÞÜVVT62,ææäffd&&$êêì“’Œîîì~~|òòôööô›š”nnl²²¬JJLúúü¾´¦šŒ’†|zz|º®¤š’„ ¶ªœbVL>>4’ŽŒ""$¿¶¬>:4ÒÎÄ¥ž”––” vnd‚vlqjdÂÂÄŽ‚|Š‚tÚÖÔ‚ztb^XŽŽŒæâܶ®¬224’’”jb\&"¦–Œ²²´NNL²¦œ¦¢ ®¢œžŽ„ÊÊÌššœ’‚t‡zt*&$wjdª¦œjjd¢–ŒâÞÜJFD¿¶´zrlŽ‚tƾ¼ÖÒÔ–†|ŠŠŒ¾²¬ÖÒÌbZTFFDîêì:6,ÞÚÜ/*,VJD²®¬^ZTÆÂÄÞÚÔ^RL6.,F>4::<¾¾¼&"$ÎÆÄ$h^\ÖÎÌ¢¢¤ªª¬tplXNLކ„~rlž’Œ†vlæâä–Š„²ª¤êæäŠ~t ƺ´¦š”šŠ„VRL¶²´NFD~ndrf\j^T:2,nb\‚‚„^^\ªžœ¾º¼ââ䢖”І„–ŽŒª¢œ¶ª¤ÒÎÌ’‚|>64bZLºº¼º®¬®¦¤**,ª¦¤nbT624F><‚rlB><~vtŠ‚|jjl:64VRTÎÊÄjfdž’„®ž”¦žœ–’”²¢œžšœÊ¾¼ÚÒ̾¼!þCreated with The GIMP,0<þ[H° ÁÀÀ:0á Ã‡6ÈRD "jÜHP#z«Âq`·`Ç“ûÀÚÖà†ž0¬:dD©qÂm JHW@Á‘(ÈØ$(¢"'M‡ø ħOÎP*˜Zåå“,VØPÁ9êðÁz(ÖèêQ®aŸG¡bFIššØHàjI/@«Ü,a‡ÎF®~Üp$ŒÃ(X0I—`9¸v„ 1Ê mUò¹ØI4·£¢Òx`[ú*Èð±dœ% œÓ´(‡=aŠ$®Õ'CiôHˆò3¬„¢s.ô-˜+¿ÔH ÏoÛĸÀ×28ÀZ¨ë: †Ðe ðÒàpì¢ÊpÁÜ€Œh´BSþ @.†wä`€<ˆ<ÀÎHƒˆàœ ÓHŒpä©èÅ#œáŠt8á 0À«"'hB€Àÿ@‚0x Ò«úàŠp”«€ÅꈈsE$0 v :,£‡?OºG8¨ `˜Jã„pdÖpüb¨Á(Ôôá™à؇&º`½¨¡IøAP…xÁæðA$H€Š9`ãàèC?¸ašHA¸ Ž°£Uhâ*ú€zpG.°Ê/d8C±Œ5¬Á{˜9~¡ %4€PC²E´ñMpÀ/€@ FÔa:à$"±Q 5\Ð<Œà jõÁ}Ç&„`ŒEØ€ ¸{ü œ@z¼±oˆÃÜà/ÄÀ°0À61μuSÍþ…T ‘ À!—¸Ç""qoDB>ÈÆ–á"h/ÛðÁ @V²`„UòDÈâ¢ð±eø@ø0æ7:A„)nÁßí^p lPÀ[A šAp@kˆÄ24¡‰o¸!XFŒáG,b Ÿ F0 € €¡y€>¦ i ã:X„ŒaŒb-b  |pQD£s¸!N1†øj(Sƒ,.\ àÃ2ðí|° àƒ]Å-(@ˆÞ¹‹@¶hF8a +@ƒ’[„ÖPãeHÙ²ðY‘Ñ!€)ÑÅ#ÍPCJ@jX¡ ”B§Äñ dt!´ÚœâÁ„5¢äå‚% 0 3”€tê°‚Ì,‹qˆ0P„ ”B EPŸ×!qLãŠØ[ 0À‹ý&!x…æ‡<Ô {ë!P/_G x€$ðptð.ÕËDöêv6@'è@#1‡"h/hDñ¡^ï`‚ ð0 Œ U(¢³9 4àÛI‹H@;070701000623ed000081a40000000000000000000000014f22154400006c55000000b600010002ffffffffffffffff0000003c00000000root/usr/local/share/doc/libxslt-1.1.26/html/APIchunk0.html API Alphabetic Index A-I for libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

API Alphabetic Index A-I for libxslt

Main Menu
Related links
API Indexes

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Letter A:

API
XSLT_ITEM_COMPATIBILITY_FIELDS
xsltCopyTextString
xsltCreateRVT
xsltDocLoaderFunc
xsltExtensionInstructionResultFinalize
xsltGetNamespace
xsltGetPlainNamespace
xsltGetUTF8Char
xsltParseAnyXSLTElem
xsltRegisterLocalRVT
xsltRegisterTmpRVT
ATTENTION:
_xsltStylesheet
AVT
xsltAttrTemplateValueProcessNode
xsltEvalAVT
xsltEvalAttrValueTemplate
xsltEvalStaticAttrValueTemplate
xsltFreeAVTList
Add
xslAddCall
Adds
xsltCopyTextString
xsltPointerListAddSize
Allocate
xsltAllocateExtra
xsltAllocateExtraCtxt
Apache
XSLT_XALAN_NAMESPACE
Apply
xsltApplyAttributeSet
xsltApplyStylesheet
xsltApplyStylesheetUser
xsltProfileStylesheet
xsltRunStylesheet
xsltRunStylesheetUser
Attribute
_xsltStylesheet
xsltAttrListTemplateProcess
xsltAttrTemplateProcess

Letter B:

BIG
xsltApplyOneTemplate

Letter C:

CDTATA
xsltFindElemSpaceHandling
Called
xsltApplyOneTemplate
xsltAttrListTemplateProcess
xsltAttrTemplateValueProcessNode
xsltCheckExtPrefix
xsltCheckExtURI
xsltCopyNamespaceList
xsltGetNamespace
xsltParseStylesheetProcess
xsltRegisterExtPrefix
xsltStyleGetExtData
Change
_xsltStyleBasicExpressionItem
_xsltStylesheet
xsltSetCtxtParseOptions
Char
xsltGetUTF8Char
Characters:
xsltFormatNumberConversion
Check
IS_XSLT_REAL_NODE
_xsltStyleItemDocument
xsltCheckExtPrefix
xsltCheckExtURI
xsltCheckRead
xsltCheckWrite
xsltEvalStaticAttrValueTemplate
xsltFindTemplate
xsltInitAllDocKeys
xsltIsBlank
Checks
IS_XSLT_ELEM
IS_XSLT_NAME
xsltNeedElemSpaceHandling
Clark
XSLT_XT_NAMESPACE
Clean-up
xsltParseTemplateContent
Cleanup
xsltCleanupTemplates
Common
XSLT_ITEM_COMMON_FIELDS
Compares
xsltLocaleStrcmp
Compilation
_xsltStylesheet
Compile
xsltCompilePattern
xsltXPathCompile
Computes
xsltGetKey
xsltInitCtxtKey
xsltInitCtxtKeys
Context
_xsltTransformContext
Control
XSLT_TRACE
Convert
xsltNumberFormat
Copies
xsltAttrListTemplateProcess
xsltCopyNamespace
Create
xsltNewSecurityPrefs
xsltNewStylesheet
xsltNewTransformContext
Creates
xsltCreateRVT
xsltNewElemPreComp
xsltNewLocale
xsltPointerListCreate
Current
_xsltCompilerCtxt
_xsltTransformContext
Currently
XSLT_ITEM_NAVIGATION_FIELDS

Letter D:

DTD
xsltGetCNsProp
xsltGetNsProp
Deallocates
xsltElemPreCompDeallocator
Debugging
_xsltTransformContext
DecimalFormat
xsltFormatNumberConversion
Display
xsltPrintErrorContext
xsltTransformError
Don
xsltAttrListTemplateProcess
xsltTemplateProcess
Drop
xslDropCall
Dumps
xsltDebugDumpExtensions

Letter E:

EXSLT
xsltDocumentElem
xsltExtensionInstructionResultFinalize
Each
xsltEvalUserParams
Either
xsltReleaseRVT
Element
_xsltStylesheet
xsltAttrListTemplateProcess
xsltAttrTemplateProcess
Elements
xsltCopyNamespaceList
Eliminate
_xsltStylesheet
Errors
xsltGetQNameURI
Evaluate
XSLT_ITEM_COMPATIBILITY_FIELDS
xsltEvalAttrValueTemplate
xsltEvalUserParams
Evaluates
xsltAttrTemplateProcess
xsltEvalGlobalVariables
Exaclty
xsltGetPlainNamespace
Execute
xsltCopy
Extensions
_xsltStylesheet
_xsltTransformContext

Letter F:

FILE
xsltApplyStylesheetUser
xsltDebugDumpExtensions
xsltProfileStylesheet
xsltRunStylesheetUser
xsltSaveProfiling
xsltSaveResultToFile
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
FIXED
xsltGetCNsProp
xsltGetNsProp
Fields
XSLT_ITEM_COMPATIBILITY_FIELDS
Finalizes
xsltExtensionInstructionResultFinalize
Find
xsltDecimalFormatGetByName
xsltFindElemSpaceHandling
xsltGetNamespace
xsltGetSpecialNamespace
xsltNextImport
Finds
xsltFindTemplate
xsltGetTemplate
Flag
_xsltFormatNumberInfo
For
_xsltStylesheet
xsltEvalGlobalVariables
xsltEvalOneUserParam
Fragment
_xsltTransformContext
xsltCreateRVT
xsltRegisterLocalRVT
xsltRegisterPersistRVT
xsltRegisterTmpRVT
xsltReleaseRVT
Fragments
_xsltStackElem
xsltFindDocument
xsltFreeRVTs
Free
xsltFreeAVTList
xsltFreeAttributeSetsHashes
xsltFreeCompMatchList
xsltFreeCtxtExts
xsltFreeDocumentKeys
xsltFreeDocuments
xsltFreeExts
xsltFreeGlobalVariables
xsltFreeKeys
xsltFreeNamespaceAliasHashes
xsltFreeSecurityPrefs
xsltFreeStackElemList
xsltFreeStylePreComps
xsltFreeStylesheet
xsltFreeTemplateHashes
xsltFreeTransformContext
Frees
xsltFreeLocale
xsltFreeRVTs
xsltFreeStyleDocuments
xsltPointerListFree
Function
xsltGetUTF8Char
xsltSecurityAllow
xsltSecurityForbid
xsltSetCtxtSortFunc
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
xsltSetSortFunc
xsltSetTransformErrorFunc

Letter G:

General
_xsltStylesheet
Get
xsltDebugGetDefaultTrace
xsltGetDebuggerStatus
xsltGetDefaultSecurityPrefs
Global
_xsltPrincipalStylesheetData
_xsltStylesheet
_xsltTransformContext

Letter I:

INTERNAL
xsltInitAllDocKeys
IObuf
xsltRunStylesheet
xsltRunStylesheetUser
ISO
XML_CAST_FPTR
Implement
xsltDocumentFunction
xsltElementAvailableFunction
xsltFormatNumberFunction
xsltFunctionAvailableFunction
xsltFunctionNodeSet
xsltGenerateIdFunction
xsltKeyFunction
xsltSystemPropertyFunction
xsltUnparsedEntityURIFunction
Indicates
_xsltEffectiveNs
Indicator
_xsltCompilerCtxt
Initialize
xsltInitCtxtExts
xsltInitGlobals
Initializes
xsltInit
xsltInitElemPreComp
Internal
XSLT_FAST_IF
XSLT_REFACTORED_KEYCOMP
XSLT_REFACTORED_VARS
XSLT_REFACTORED_XPATHCOMP
xsltFreeRVTs

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Daniel Veillard

0707010006240f000081a40000000000000000000000014f22154400003066000000b600010002ffffffffffffffff0000003700000000root/usr/local/share/doc/libxslt-1.1.26/html/bugs.html Reporting bugs and getting help
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

Reporting bugs and getting help

Main Menu
Related links
API Indexes

If you need help with the XSLT language itself, here are a number of useful resources:

Well, bugs or missing features are always possible, and I will make a point of fixing them in a timely fashion. The best way to report a bug is to use the GNOME bug tracking database (make sure to use the "libxslt" module name). Before filing a bug, check the list of existing libxslt bugs to make sure it hasn't already been filed. I look at reports there regularly and it's good to have a reminder when a bug is still open. Be sure to specify that the bug is for the package libxslt.

For small problems you can try to get help on IRC, the #xml channel on irc.gnome.org (port 6667) usually have a few person subscribed which may help (but there is no guarantee and if a real issue is raised it should go on the mailing-list for archival).

There is also a mailing-list xslt@gnome.org for libxslt, with an on-line archive. To subscribe to this list, please visit the associated Web page and follow the instructions.

Alternatively, you can just send the bug to the xslt@gnome.org list, if it's really libxslt related I will approve it.. Please do not send me mail directly especially for portability problem, it makes things really harder to track and in some cases I'm not the best person to answer a given question, ask the list instead. Do not send code, I won't debug it (but patches are really appreciated!).

Please note that with the current amount of virus and SPAM, sending mail to the list without being subscribed won't work. There is *far too many bounces* (in the order of a thousand a day !) I cannot approve them manually anymore. If your mail to the list bounced waiting for administrator approval, it is LOST ! Repost it and fix the problem triggering the error. Also please note that emails with a legal warning asking to not copy or redistribute freely the information they contain are NOT acceptable for the mailing-list, such mail will as much as possible be discarded automatically, and are less likely to be answered if they made it to the list, DO NOT post to the list from an email address where such legal requirements are automatically added, get private paying support if you can't share information.

Check the following too before posting:

  • use the search engine to get information related to your problem.
  • make sure you are using a recent version, and that the problem still shows up in those
  • check the list archives to see if the problem was reported already, in this case there is probably a fix available, similarly check the registered open bugs
  • make sure you can reproduce the bug with xsltproc, a very useful thing to do is run the transformation with -v argument and redirect the standard error to a file, then search in this file for the transformation logs just preceding the possible problem
  • Please send the command showing the error as well as the input and stylesheet (as an attachment)

Then send the bug with associated information to reproduce it to the xslt@gnome.org list; if it's really libxslt related I will approve it. Please do not send mail to me directly, it makes things really hard to track and in some cases I am not the best person to answer a given question, ask on the list.

To be really clear about support:

  • Support or help request MUST be sent to the list or on bugzilla in case of problems, so that the Question and Answers can be shared publicly. Failing to do so carries the implicit message "I want free support but I don't want to share the benefits with others" and is not welcome. I will automatically Carbon-Copy the xslt@gnome.org mailing list for any technical reply made about libxml2 or libxslt.
  • There is no guarantee for support, if your question remains unanswered after a week, repost it, making sure you gave all the detail needed and the information requested.
  • Failing to provide information as requested or double checking first for prior feedback also carries the implicit message "the time of the library maintainers is less valuable than my time" and might not be welcome.

Of course, bugs reports with a suggested patch for fixing them will probably be processed faster.

If you're looking for help, a quick look at the list archive may actually provide the answer, I usually send source samples when answering libxslt usage questions. The auto-generated documentation is not as polished as I would like (I need to learn more about Docbook), but it's a good starting point.

Daniel Veillard

07070100062414000081a40000000000000000000000014f22154400001dc5000000b600010002ffffffffffffffff0000003c00000000root/usr/local/share/doc/libxslt-1.1.26/html/downloads.html Downloads
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

Downloads

Main Menu
Related links
API Indexes

The latest versions of libxslt can be found on the xmlsoft.org server and on mirrors (France) or on the GNOME FTP server as a source archive, Antonin Sprinzl also provides a mirror in Austria. (NOTE that you need the libxml2, libxml2-devel, libxslt and libxslt-devel packages installed to compile applications using libxslt.) Igor Zlatkovic is now the maintainer of the Windows port, he provides binaries. CSW provides Solaris binaries, and Steve Ball provides Mac Os X binaries.

Contribs:

I do accept external contributions, especially if compiling on another platform, get in touch with me to upload the package. I will keep them in the contrib directory

Libxslt is also available from SVN:

Daniel Veillard

070701000623f6000081a40000000000000000000000014f221544000074b2000000b600010002ffffffffffffffff0000003c00000000root/usr/local/share/doc/libxslt-1.1.26/html/APIchunk5.html API Alphabetic Index f-g for libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

API Alphabetic Index f-g for libxslt

Main Menu
Related links
API Indexes

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Letter f:

factor
xsltSaveResultToFilename
failure
xsltAddKey
xsltAddStackElemList
xsltCompilePattern
xsltInitAllDocKeys
xsltParseStylesheetImport
xsltParseStylesheetInclude
xsltRegisterExtElement
xsltRegisterExtFunction
xsltRegisterExtPrefix
xsltRestoreDocumentNamespaces
xsltSaveResultTo
xsltSaveResultToFd
xsltSaveResultToFile
xsltSaveResultToFilename
xsltTestCompMatchList
failures
xsltGetNamespace
xsltGetPlainNamespace
fast
xsltCompilePattern
fields
XSLT_ITEM_COMMON_FIELDS
XSLT_ITEM_NAVIGATION_FIELDS
xsltFindTemplate
file
xsltSaveResultToFd
xsltSaveResultToFilename
xsltSecurityCheck
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
xsltTransformError
filename
xsltParseStylesheetFile
xsltRunStylesheet
xsltRunStylesheetUser
xsltSaveResultToFilename
files
XSLT_PARSE_OPTIONS
xsltRunStylesheet
xsltRunStylesheetUser
find
xsltDecimalFormatGetByName
xsltFindDocument
fine
xsltParseAnyXSLTElem
first
xsltAttrListTemplateProcess
xsltCopyNamespaceList
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
fixup
xsltGetNamespace
xsltGetPlainNamespace
flag
XSLT_STRANGE
XSLT_TODO
following
xsltRunStylesheet
xsltRunStylesheetUser
foo
XSLT_FAST_IF
for-each
xsltForEach
forbid
xsltSecurityForbid
force
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
form
_xsltStackElem
xsltCompilePattern
format
xsltFormatNumberConversion
xsltNumberFormat
xsltTransformError
format-number
xsltFormatNumberConversion
xsltFormatNumberFunction
formats
xsltFormatNumberConversion
formatting
_xsltStylesheet
xsltNumberFormat
forwards-compatible
_xsltCompilerCtxt
_xsltCompilerNodeInfo
found
_xsltCompilerCtxt
_xsltStylesheet
xsltApplyOneTemplate
xsltCalibrateAdjust
xsltDocLoaderFunc
xsltExtElementLookup
xsltExtModuleElementLookup
xsltExtModuleElementPreComputeLookup
xsltExtModuleFunctionLookup
xsltExtModuleTopLevelLookup
xsltFindTemplate
xsltGetCNsProp
xsltGetExtInfo
xsltGetNamespace
xsltGetNsProp
xsltGetSecurityPrefs
xsltGetSpecialNamespace
xsltGetTemplate
xsltLoadStylesheetPI
xsltNewLocale
xsltVariableLookup
xsltXPathFunctionLookup
xsltXPathVariableLookup
fptr
XML_CAST_FPTR
fraction
xsltFormatNumberConversion
fractional
_xsltFormatNumberInfo
fraction}{suffix}
xsltFormatNumberConversion
fragment
_xsltTransformContext
xsltExtensionInstructionResultFinalize
xsltRegisterLocalRVT
xsltRegisterPersistRVT
xsltRegisterTmpRVT
fragments
XSLT_IS_RES_TREE_FRAG
XSLT_MARK_RES_TREE_FRAG
_xsltTransformContext
xsltExtensionInstructionResultFinalize
xsltExtensionInstructionResultRegister
free
XSLT_RUNTIME_EXTRA_FREE
xsltApplyOneTemplate
xsltElemPreCompDeallocator
xsltEvalTemplateString
xsltExtensionInstructionResultFinalize
xsltFreeLocale
xsltFreeSecurityPrefs
xsltGetNsProp
xsltGetProfileInformation
xsltPointerListClear
xsltPointerListFree
xsltXPathCompile
freed
_xsltTransformContext
xsltDocLoaderFunc
xsltGetQNameURI
xsltLoadStylesheetPI
xsltParseStylesheetDoc
xsltPointerListFree
xsltRegisterLocalRVT
xsltRegisterPersistRVT
xsltRegisterTmpRVT
xsltStrxfrm
frees
xsltReleaseRVT
from
CHECK_STOPPED
CHECK_STOPPED0
XML_CAST_FPTR
XSLT_GET_IMPORT_INT
XSLT_GET_IMPORT_PTR
_xsltTemplate
xsltApplyStripSpaces
xsltCompileAttr
xsltEvalOneUserParam
xsltFormatNumberConversion
xsltGetKey
xsltGetUTF8Char
xsltLoadStylesheetPI
xsltLocalVariablePop
xsltParseSequenceConstructor
xsltParseStylesheetCallerParam
xsltParseTemplateContent
xsltQuoteOneUserParam
xsltRegisterExtPrefix
xsltRunStylesheet
xsltRunStylesheetUser
xsltSplitQName
xsltTransformFunction
xsltUnregisterExtModule
xsltXPathCompile
xsltXPathGetTransformContext
full
xsltSplitQName
function-available
xsltFunctionAvailableFunction
function-calling
xsltExtensionInstructionResultFinalize
functions
XSLT_ITEM_COMPATIBILITY_FIELDS
_xsltTransformContext
xsltApplyOneTemplate
xsltDebugDumpExtensions
xsltRegisterAllFunctions
future
XSLT_ITEM_NAVIGATION_FIELDS
xsltApplyOneTemplate

Letter g:

garbage
xsltExtensionInstructionResultFinalize
xsltExtensionInstructionResultRegister
xsltRegisterLocalRVT
xsltRegisterPersistRVT
xsltRegisterTmpRVT
gathering
xsltTimestamp
gcc
XML_CAST_FPTR
gcc4
XML_CAST_FPTR
general
XSLT_REGISTER_FUNCTION_LOOKUP
XSLT_REGISTER_VARIABLE_LOOKUP
generally
xsltInitElemPreComp
generate
xsltLoadStylesheetPI
xsltRunStylesheet
xsltRunStylesheetUser
generate-id
xsltGenerateIdFunction
generated
xsltAttrTemplateProcess
xsltCompilePattern
xsltRunStylesheet
xsltRunStylesheetUser
xsltSaveResultToString
generates
xsltCompilePattern
get
XSLT_CCTXT
XSLT_GET_INTERNAL_NSMAP
_xsltPrincipalStylesheetData
_xsltStylesheet
xsltAttrListTemplateProcess
xsltDoSortFunction
xsltEvalXPathString
xsltEvalXPathStringNs
xsltGetCNsProp
xsltGetNsProp
xsltGetSecurityPrefs
given
_xsltStackElem
_xsltTemplate
xsltAttrTemplateValueProcess
xsltAttrTemplateValueProcessNode
xsltCheckExtPrefix
xsltCheckExtURI
xsltEvalAVT
xsltEvalTemplateString
xsltFreeStyleDocuments
xsltGetExtData
xsltGetNamespace
xsltGetSpecialNamespace
xsltLoadStylesheetPI
xsltLocalVariablePop
xsltProfileStylesheet
xsltRegisterExtPrefix
xsltSetTransformErrorFunc
xsltStyleGetExtData
xsltStyleStylesheetLevelGetExtData
xsltVariableLookup
gives
xsltTransformError
giving
xsltEvalOneUserParam
xsltQuoteOneUserParam
global
_xsltElemPreComp
_xsltTransformContext
xsltCleanupGlobals
xsltDoSortFunction
xsltEvalGlobalVariables
xsltEvalOneUserParam
xsltEvalUserParams
xsltFreeGlobalVariables
xsltInitCtxtKeys
xsltInitGlobals
xsltParseGlobalVariable
xsltQuoteOneUserParam
xsltSetCtxtSortFunc
xsltSetSortFunc
goto
CHECK_STOPPEDE
grafted
xsltAttrListTemplateProcess
xsltAttrTemplateProcess
group
_xsltFormatNumberInfo
grouping
xsltFormatNumberConversion

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Daniel Veillard

070701000623fe000081a40000000000000000000000014f2215440000dfb3000000b600010002ffffffffffffffff0000003d00000000root/usr/local/share/doc/libxslt-1.1.26/html/APIsymbols.html Alphabetic List of Symbols in libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

Alphabetic List of Symbols in libxslt

Main Menu
Related links
API Indexes

Letter C:

CHECK_STOPPED
CHECK_STOPPED0
CHECK_STOPPEDE

Letter I:

IS_XSLT_ATTR_FAST
IS_XSLT_ELEM
IS_XSLT_ELEM_FAST
IS_XSLT_NAME
IS_XSLT_REAL_NODE

Letter L:

LIBXSLT_PUBLIC

Letter N:

NODE_IS_KEYED

Letter U:

UNDEFINED_DEFAULT_NS

Letter X:

XML_CAST_FPTR
XSLTCALL
XSLTPUBFUN
XSLTPUBVAR
XSLT_CCTXT
XSLT_DEBUG_CONT
XSLT_DEBUG_INIT
XSLT_DEBUG_NEXT
XSLT_DEBUG_NONE
XSLT_DEBUG_QUIT
XSLT_DEBUG_RUN
XSLT_DEBUG_RUN_RESTART
XSLT_DEBUG_STEP
XSLT_DEBUG_STEPOUT
XSLT_DEBUG_STOP
XSLT_DEFAULT_URL
XSLT_DEFAULT_VENDOR
XSLT_DEFAULT_VERSION
XSLT_ERROR_SEVERITY_ERROR
XSLT_ERROR_SEVERITY_WARNING
XSLT_FAST_IF
XSLT_FUNC_APPLYIMPORTS
XSLT_FUNC_APPLYTEMPLATES
XSLT_FUNC_ATTRIBUTE
XSLT_FUNC_ATTRSET
XSLT_FUNC_CALLTEMPLATE
XSLT_FUNC_CHOOSE
XSLT_FUNC_COMMENT
XSLT_FUNC_COPY
XSLT_FUNC_COPYOF
XSLT_FUNC_DOCUMENT
XSLT_FUNC_ELEMENT
XSLT_FUNC_EXTENSION
XSLT_FUNC_FALLBACK
XSLT_FUNC_FOREACH
XSLT_FUNC_IF
XSLT_FUNC_INCLUDE
XSLT_FUNC_LITERAL_RESULT_ELEMENT
XSLT_FUNC_MESSAGE
XSLT_FUNC_NUMBER
XSLT_FUNC_OTHERWISE
XSLT_FUNC_PARAM
XSLT_FUNC_PI
XSLT_FUNC_SORT
XSLT_FUNC_TEXT
XSLT_FUNC_UNKOWN_FORWARDS_COMPAT
XSLT_FUNC_VALUEOF
XSLT_FUNC_VARIABLE
XSLT_FUNC_WHEN
XSLT_FUNC_WITHPARAM
XSLT_GET_IMPORT_INT
XSLT_GET_IMPORT_PTR
XSLT_GET_INTERNAL_NSMAP
XSLT_HAS_INTERNAL_NSMAP
XSLT_IS_RES_TREE_FRAG
XSLT_IS_TEXT_NODE
XSLT_ITEM_COMMON_FIELDS
XSLT_ITEM_COMPATIBILITY_FIELDS
XSLT_ITEM_NAVIGATION_FIELDS
XSLT_ITEM_NSINSCOPE_FIELDS
XSLT_LIBXSLT_NAMESPACE
XSLT_LOAD_DOCUMENT
XSLT_LOAD_START
XSLT_LOAD_STYLESHEET
XSLT_LOCALE_NONE
XSLT_MARK_RES_TREE_FRAG
XSLT_MAX_SORT
XSLT_NAMESPACE
XSLT_NORM_SAXON_NAMESPACE
XSLT_OUTPUT_HTML
XSLT_OUTPUT_TEXT
XSLT_OUTPUT_XML
XSLT_PARSE_OPTIONS
XSLT_PAT_NO_PRIORITY
XSLT_REFACTORED_KEYCOMP
XSLT_REFACTORED_VARS
XSLT_REFACTORED_XPATHCOMP
XSLT_REGISTER_FUNCTION_LOOKUP
XSLT_REGISTER_VARIABLE_LOOKUP
XSLT_RUNTIME_EXTRA
XSLT_RUNTIME_EXTRA_FREE
XSLT_RUNTIME_EXTRA_LST
XSLT_SAXON_NAMESPACE
XSLT_SECPREF_CREATE_DIRECTORY
XSLT_SECPREF_READ_FILE
XSLT_SECPREF_READ_NETWORK
XSLT_SECPREF_WRITE_FILE
XSLT_SECPREF_WRITE_NETWORK
XSLT_STATE_ERROR
XSLT_STATE_OK
XSLT_STATE_STOPPED
XSLT_STRANGE
XSLT_TIMESTAMP_TICS_PER_SEC
XSLT_TODO
XSLT_TRACE
XSLT_TRACE_ALL
XSLT_TRACE_APPLY_TEMPLATE
XSLT_TRACE_APPLY_TEMPLATES
XSLT_TRACE_CALL_TEMPLATE
XSLT_TRACE_CHOOSE
XSLT_TRACE_COMMENT
XSLT_TRACE_COPY
XSLT_TRACE_COPY_OF
XSLT_TRACE_COPY_TEXT
XSLT_TRACE_FOR_EACH
XSLT_TRACE_IF
XSLT_TRACE_KEYS
XSLT_TRACE_NONE
XSLT_TRACE_PI
XSLT_TRACE_PROCESS_NODE
XSLT_TRACE_STRIP_SPACES
XSLT_TRACE_TEMPLATES
XSLT_TRACE_VALUE_OF
XSLT_TRACE_VARIABLES
XSLT_XALAN_NAMESPACE
XSLT_XT_NAMESPACE

Letter _:

_REENTRANT
_xsltCompilerCtxt
_xsltCompilerNodeInfo
_xsltDecimalFormat
_xsltDocument
_xsltEffectiveNs
_xsltElemPreComp
_xsltFormatNumberInfo
_xsltKeyDef
_xsltKeyTable
_xsltNsAlias
_xsltNsList
_xsltNsListContainer
_xsltNsMap
_xsltNumberData
_xsltPointerList
_xsltPrincipalStylesheetData
_xsltRuntimeExtra
_xsltStackElem
_xsltStyleBasicEmptyItem
_xsltStyleBasicExpressionItem
_xsltStyleBasicItemVariable
_xsltStyleItemApplyTemplates
_xsltStyleItemAttribute
_xsltStyleItemCallTemplate
_xsltStyleItemCopy
_xsltStyleItemDocument
_xsltStyleItemElement
_xsltStyleItemExtElement
_xsltStyleItemIf
_xsltStyleItemInclude
_xsltStyleItemLRElementInfo
_xsltStyleItemMessage
_xsltStyleItemNumber
_xsltStyleItemOtherwise
_xsltStyleItemPI
_xsltStyleItemParam
_xsltStyleItemSort
_xsltStyleItemText
_xsltStyleItemUknown
_xsltStyleItemValueOf
_xsltStyleItemWhen
_xsltStylePreComp
_xsltStylesheet
_xsltTemplate
_xsltTransformCache
_xsltTransformContext
_xsltVarInfo

Letter x:

xslAddCall
xslDebugStatus
xslDropCall
xslHandleDebugger
xsltAddCallCallback
xsltAddKey
xsltAddStackElemList
xsltAddTemplate
xsltAllocateExtra
xsltAllocateExtraCtxt
xsltApplyAttributeSet
xsltApplyImports
xsltApplyOneTemplate
xsltApplyStripSpaces
xsltApplyStylesheet
xsltApplyStylesheetUser
xsltApplyTemplates
xsltAttrListTemplateProcess
xsltAttrTemplateProcess
xsltAttrTemplateValueProcess
xsltAttrTemplateValueProcessNode
xsltAttribute
xsltCalibrateAdjust
xsltCallTemplate
xsltCheckExtPrefix
xsltCheckExtURI
xsltCheckRead
xsltCheckWrite
xsltChoose
xsltCleanupGlobals
xsltCleanupTemplates
xsltComment
xsltCompMatch
xsltCompMatchPtr
xsltCompileAttr
xsltCompilePattern
xsltCompilerCtxt
xsltCompilerCtxtPtr
xsltCompilerNodeInfo
xsltCompilerNodeInfoPtr
xsltComputeSortResult
xsltConstNamespaceNameXSLT
xsltCopy
xsltCopyNamespace
xsltCopyNamespaceList
xsltCopyOf
xsltCopyTextString
xsltCreateRVT
xsltDebug
xsltDebugDumpExtensions
xsltDebugGetDefaultTrace
xsltDebugSetDefaultTrace
xsltDebugStatusCodes
xsltDebugTraceCodes
xsltDecimalFormat
xsltDecimalFormatGetByName
xsltDecimalFormatPtr
xsltDefaultSortFunction
xsltDoSortFunction
xsltDocDefaultLoader
xsltDocLoaderFunc
xsltDocument
xsltDocumentComp
xsltDocumentElem
xsltDocumentFunction
xsltDocumentPtr
xsltDocumentSortFunction
xsltDropCallCallback
xsltEffectiveNs
xsltEffectiveNsPtr
xsltElemPreComp
xsltElemPreCompDeallocator
xsltElemPreCompPtr
xsltElement
xsltElementAvailableFunction
xsltEngineVersion
xsltErrorSeverityType
xsltEvalAVT
xsltEvalAttrValueTemplate
xsltEvalGlobalVariables
xsltEvalOneUserParam
xsltEvalStaticAttrValueTemplate
xsltEvalTemplateString
xsltEvalUserParams
xsltEvalXPathPredicate
xsltEvalXPathString
xsltEvalXPathStringNs
xsltExtElementLookup
xsltExtInitFunction
xsltExtMarker
xsltExtModuleElementLookup
xsltExtModuleElementPreComputeLookup
xsltExtModuleFunctionLookup
xsltExtModuleTopLevelLookup
xsltExtShutdownFunction
xsltExtensionInstructionResultFinalize
xsltExtensionInstructionResultRegister
xsltFindDocument
xsltFindElemSpaceHandling
xsltFindTemplate
xsltForEach
xsltFormatNumberConversion
xsltFormatNumberFunction
xsltFormatNumberInfo
xsltFormatNumberInfoPtr
xsltFreeAVTList
xsltFreeAttributeSetsHashes
xsltFreeCompMatchList
xsltFreeCtxtExts
xsltFreeDocumentKeys
xsltFreeDocuments
xsltFreeExts
xsltFreeGlobalVariables
xsltFreeKeys
xsltFreeLocale
xsltFreeNamespaceAliasHashes
xsltFreeRVTs
xsltFreeSecurityPrefs
xsltFreeStackElemList
xsltFreeStyleDocuments
xsltFreeStylePreComps
xsltFreeStylesheet
xsltFreeTemplateHashes
xsltFreeTransformContext
xsltFunctionAvailableFunction
xsltFunctionNodeSet
xsltGenerateIdFunction
xsltGenericDebug
xsltGenericDebugContext
xsltGenericError
xsltGenericErrorContext
xsltGetCNsProp
xsltGetDebuggerStatus
xsltGetDefaultSecurityPrefs
xsltGetExtData
xsltGetExtInfo
xsltGetKey
xsltGetNamespace
xsltGetNsProp
xsltGetPlainNamespace
xsltGetProfileInformation
xsltGetQNameURI
xsltGetQNameURI2
xsltGetSecurityPrefs
xsltGetSpecialNamespace
xsltGetTemplate
xsltGetUTF8Char
xsltGetXIncludeDefault
xsltHandleDebuggerCallback
xsltIf
xsltInit
xsltInitAllDocKeys
xsltInitCtxtExts
xsltInitCtxtKey
xsltInitCtxtKeys
xsltInitElemPreComp
xsltInitGlobals
xsltIsBlank
xsltKeyDef
xsltKeyDefPtr
xsltKeyFunction
xsltKeyTable
xsltKeyTablePtr
xsltLibxmlVersion
xsltLibxsltVersion
xsltLoadDocument
xsltLoadStyleDocument
xsltLoadStylesheetPI
xsltLoadType
xsltLocalVariablePop
xsltLocalVariablePush
xsltLocale
xsltLocaleChar
xsltLocaleStrcmp
xsltMatchPattern
xsltMaxDepth
xsltMessage
xsltNamespaceAlias
xsltNeedElemSpaceHandling
xsltNewDocument
xsltNewElemPreComp
xsltNewLocale
xsltNewSecurityPrefs
xsltNewStyleDocument
xsltNewStylesheet
xsltNewTransformContext
xsltNextImport
xsltNormalizeCompSteps
xsltNsAlias
xsltNsAliasPtr
xsltNsList
xsltNsListContainer
xsltNsListContainerPtr
xsltNsListPtr
xsltNsMap
xsltNsMapPtr
xsltNumber
xsltNumberData
xsltNumberDataPtr
xsltNumberFormat
xsltOutputType
xsltParseAnyXSLTElem
xsltParseGlobalParam
xsltParseGlobalVariable
xsltParseSequenceConstructor
xsltParseStylesheetAttributeSet
xsltParseStylesheetCallerParam
xsltParseStylesheetDoc
xsltParseStylesheetFile
xsltParseStylesheetImport
xsltParseStylesheetImportedDoc
xsltParseStylesheetInclude
xsltParseStylesheetOutput
xsltParseStylesheetParam
xsltParseStylesheetProcess
xsltParseStylesheetVariable
xsltParseTemplateContent
xsltPointerList
xsltPointerListAddSize
xsltPointerListClear
xsltPointerListCreate
xsltPointerListFree
xsltPointerListPtr
xsltPreComputeExtModuleElement
xsltPreComputeFunction
xsltPrincipalStylesheetData
xsltPrincipalStylesheetDataPtr
xsltPrintErrorContext
xsltProcessOneNode
xsltProcessingInstruction
xsltProfileStylesheet
xsltQuoteOneUserParam
xsltQuoteUserParams
xsltRegisterAllElement
xsltRegisterAllExtras
xsltRegisterAllFunctions
xsltRegisterExtElement
xsltRegisterExtFunction
xsltRegisterExtModule
xsltRegisterExtModuleElement
xsltRegisterExtModuleFull
xsltRegisterExtModuleFunction
xsltRegisterExtModuleTopLevel
xsltRegisterExtPrefix
xsltRegisterExtras
xsltRegisterLocalRVT
xsltRegisterPersistRVT
xsltRegisterTestModule
xsltRegisterTmpRVT
xsltReleaseRVT
xsltResolveStylesheetAttributeSet
xsltRestoreDocumentNamespaces
xsltRunStylesheet
xsltRunStylesheetUser
xsltRuntimeExtra
xsltRuntimeExtraPtr
xsltSaveProfiling
xsltSaveResultTo
xsltSaveResultToFd
xsltSaveResultToFile
xsltSaveResultToFilename
xsltSaveResultToString
xsltSecurityAllow
xsltSecurityCheck
xsltSecurityForbid
xsltSecurityOption
xsltSecurityPrefs
xsltSecurityPrefsPtr
xsltSetCtxtParseOptions
xsltSetCtxtSecurityPrefs
xsltSetCtxtSortFunc
xsltSetDebuggerCallbacks
xsltSetDebuggerStatus
xsltSetDefaultSecurityPrefs
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
xsltSetLoaderFunc
xsltSetSecurityPrefs
xsltSetSortFunc
xsltSetTransformErrorFunc
xsltSetXIncludeDefault
xsltShutdownCtxtExts
xsltShutdownExts
xsltSort
xsltSortFunc
xsltSplitQName
xsltStackElem
xsltStackElemPtr
xsltStrxfrm
xsltStyleBasicEmptyItem
xsltStyleBasicEmptyItemPtr
xsltStyleBasicExpressionItem
xsltStyleBasicExpressionItemPtr
xsltStyleBasicItemVariable
xsltStyleBasicItemVariablePtr
xsltStyleExtInitFunction
xsltStyleExtShutdownFunction
xsltStyleGetExtData
xsltStyleItemApplyImports
xsltStyleItemApplyImportsPtr
xsltStyleItemApplyTemplates
xsltStyleItemApplyTemplatesPtr
xsltStyleItemAttribute
xsltStyleItemAttributePtr
xsltStyleItemCallTemplate
xsltStyleItemCallTemplatePtr
xsltStyleItemChoose
xsltStyleItemChoosePtr
xsltStyleItemComment
xsltStyleItemCommentPtr
xsltStyleItemCopy
xsltStyleItemCopyOf
xsltStyleItemCopyOfPtr
xsltStyleItemCopyPtr
xsltStyleItemDocument
xsltStyleItemDocumentPtr
xsltStyleItemElement
xsltStyleItemElementPtr
xsltStyleItemExtElement
xsltStyleItemExtElementPtr
xsltStyleItemFallback
xsltStyleItemFallbackPtr
xsltStyleItemForEach
xsltStyleItemForEachPtr
xsltStyleItemIf
xsltStyleItemIfPtr
xsltStyleItemInclude
xsltStyleItemIncludePtr
xsltStyleItemLRElementInfo
xsltStyleItemLRElementInfoPtr
xsltStyleItemMessage
xsltStyleItemMessagePtr
xsltStyleItemNumber
xsltStyleItemNumberPtr
xsltStyleItemOtherwise
xsltStyleItemOtherwisePtr
xsltStyleItemPI
xsltStyleItemPIPtr
xsltStyleItemParam
xsltStyleItemParamPtr
xsltStyleItemSort
xsltStyleItemSortPtr
xsltStyleItemText
xsltStyleItemTextPtr
xsltStyleItemUknown
xsltStyleItemUknownPtr
xsltStyleItemValueOf
xsltStyleItemValueOfPtr
xsltStyleItemVariable
xsltStyleItemVariablePtr
xsltStyleItemWhen
xsltStyleItemWhenPtr
xsltStyleItemWithParam
xsltStyleItemWithParamPtr
xsltStylePreComp
xsltStylePreCompPtr
xsltStylePreCompute
xsltStyleStylesheetLevelGetExtData
xsltStyleType
xsltStylesheet
xsltStylesheetPtr
xsltSystemPropertyFunction
xsltTemplate
xsltTemplateProcess
xsltTemplatePtr
xsltTestCompMatchList
xsltText
xsltTimestamp
xsltTopLevelFunction
xsltTransStorageAdd
xsltTransStorageRemove
xsltTransformCache
xsltTransformCachePtr
xsltTransformContext
xsltTransformContextPtr
xsltTransformError
xsltTransformFunction
xsltTransformState
xsltUninit
xsltUnparsedEntityURIFunction
xsltUnregisterExtModule
xsltUnregisterExtModuleElement
xsltUnregisterExtModuleFunction
xsltUnregisterExtModuleTopLevel
xsltValueOf
xsltVarInfo
xsltVarInfoPtr
xsltVariableLookup
xsltXPathCompile
xsltXPathFunctionLookup
xsltXPathGetTransformContext
xsltXPathVariableLookup
xsltXSLTAttrMarker

Daniel Veillard

07070100062412000081a40000000000000000000000014f22154400002455000000b600010002ffffffffffffffff0000003a00000000root/usr/local/share/doc/libxslt-1.1.26/html/docbook.html DocBook
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

DocBook

Main Menu
Related links
API Indexes

The duck picture

DocBook is an XML/SGML vocabulary particularly well suited to books and papers about computer hardware and software.

xsltproc and libxslt are not specifically dependant on DocBook, but since a lot of people use xsltproc and libxml2 for DocBook formatting, here are a few pointers and information which may be helpful:

Do not use the --docbook option of xsltproc to process XML DocBook documents, this option is only intended to provide some (limited) support of the SGML version of DocBook.

Points which are not DocBook specific but still worth mentionning again:

  • if you think DocBook processing time is too slow, make sure you have XML Catalogs pointing to a local installation of the DTD of DocBook. Check the XML Catalog page to understand more on this subject.
  • before processing a new document, use the command

    xmllint --valid --noout path_to_document

    to make sure that your input is valid DocBook. And fixes the errors before processing further. Note that XSLT processing may work correctly with some forms of validity errors left, but in general it can give troubles on output.

Daniel Veillard

070701000623ee000081a40000000000000000000000014f2215440000787e000000b600010002ffffffffffffffff0000003c00000000root/usr/local/share/doc/libxslt-1.1.26/html/APIchunk1.html API Alphabetic Index J-S for libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

API Alphabetic Index J-S for libxslt

Main Menu
Related links
API Indexes

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Letter J:

JDK
xsltFormatNumberConversion
James
XSLT_XT_NAMESPACE

Letter K:

Kay
XSLT_SAXON_NAMESPACE
Key
_xsltStylesheet

Letter L:

LR-element
_xsltCompilerNodeInfo
LRE
xsltAttrTemplateValueProcessNode
xsltEvalAttrValueTemplate
xsltEvalStaticAttrValueTemplate
Length
xsltSaveResultToString
Libexslt
xsltGetPlainNamespace
Libxslt
xsltGetPlainNamespace
Literal
_xsltStylesheet
xsltAttrListTemplateProcess
xsltAttrTemplateProcess
xsltCopyNamespaceList
Load
xsltParseStylesheetFile
LocationPathPattern
xsltCompilePattern
Looks
xsltExtElementLookup
xsltExtModuleElementLookup
xsltExtModuleElementPreComputeLookup
xsltExtModuleFunctionLookup
xsltExtModuleTopLevelLookup
xsltGetKey
Lookup
xsltGetSecurityPrefs

Letter M:

MUST
xsltInitElemPreComp
Macro
CHECK_STOPPED
CHECK_STOPPED0
CHECK_STOPPEDE
XML_CAST_FPTR
XSLT_LOCALE_NONE
XSLT_RUNTIME_EXTRA
XSLT_RUNTIME_EXTRA_FREE
XSLT_RUNTIME_EXTRA_LST
XSLT_STRANGE
XSLT_TODO
Marks
xsltExtensionInstructionResultRegister
Max
XSLT_MAX_SORT
May
_xsltDecimalFormat
Maybe
xsltFindTemplate
Meaning
xsltFormatNumberConversion
Memory
xsltSaveResultToString
Michael
XSLT_SAXON_NAMESPACE

Letter N:

NCName
xsltGetQNameURI
NOTE
xsltApplyOneTemplate
xsltParseStylesheetCallerParam
NOTE:
_xsltStylesheet
xsltApplyOneTemplate
xsltApplyStylesheet
xsltGetQNameURI
xsltInitCtxtKeys
xsltLocalVariablePush
xsltRunStylesheet
xsltRunStylesheetUser
Name
xsltEvalStaticAttrValueTemplate
Namespace
_xsltPrincipalStylesheetData
_xsltStylesheet
Namespaces
_xsltStylesheet
Needed
_xsltTransformContext
Norm
XSLT_NORM_SAXON_NAMESPACE
Not
_xsltStylesheet
xsltGetPlainNamespace
xsltInitCtxtKeys
Not-a-number
_xsltDecimalFormat
Notation:
xsltFormatNumberConversion
Note
XSLT_ITEM_COMPATIBILITY_FIELDS
xsltExtensionInstructionResultRegister
xsltGetSpecialNamespace
Number
_xsltFormatNumberInfo
_xsltStylesheet

Letter O:

ONLY
xsltInitAllDocKeys
Obsolete
xsltGetPlainNamespace
xsltRegisterTmpRVT
xsltTemplateProcess
One
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
Otherwise
xsltDoSortFunction
Output
_xsltStylesheet

Letter P:

Parser
xsltDocumentFunction
xsltElementAvailableFunction
xsltFormatNumberFunction
xsltFunctionAvailableFunction
xsltFunctionNodeSet
xsltGenerateIdFunction
xsltKeyFunction
xsltSystemPropertyFunction
xsltUnparsedEntityURIFunction
Parses
xsltParseAnyXSLTElem
xsltParseGlobalVariable
xsltParseSequenceConstructor
xsltParseStylesheetProcess
Pattern
xsltCompilePattern
Per
_xsltTransformContext
Places
xsltLocalVariablePush
Pops
xsltLocalVariablePop
Pre
_xsltStylePreComp
xsltDocumentComp
Precompile
xsltCompileAttr
Precompute
xsltStylePreCompute
Precomputed
_xsltStylesheet
Precomputes
xsltPreComputeExtModuleElement
Process
xsltApplyImports
xsltAttrTemplateProcess
xsltAttrTemplateValueProcess
xsltAttrTemplateValueProcessNode
xsltAttribute
xsltComment
xsltCopyOf
xsltDebug
xsltDocumentElem
xsltElement
xsltEvalAVT
xsltEvalXPathPredicate
xsltEvalXPathString
xsltEvalXPathStringNs
xsltForEach
xsltMessage
xsltNumber
xsltProcessOneNode
xsltProcessingInstruction
xsltText
xsltValueOf
Processes
xsltApplyOneTemplate
xsltApplyTemplates
xsltAttrListTemplateProcess
xsltCallTemplate
xsltChoose
xsltEvalTemplateString
xsltIf
xsltParseStylesheetCallerParam
Profiling
_xsltTemplate
Provides
xsltGetXIncludeDefault
xsltXPathGetTransformContext
Push
xsltAddStackElemList

Letter Q:

QName
_xsltStackElem
_xsltTemplate
xsltEvalAttrValueTemplate
xsltGetQNameURI
xsltGetQNameURI2
xsltSplitQName
QNames
xsltApplyAttributeSet
xsltSplitQName
QUESTION:
xsltAttrTemplateValueProcessNode

Letter R:

REVISIT
xsltFindTemplate
REVISIT:
xsltCopyNamespaceList
RFC
xsltNewLocale
ROUTINE
xsltInitAllDocKeys
RTF
_xsltTransformContext
RVT
_xsltTransformContext
xsltRegisterLocalRVT
xsltReleaseRVT
RVTs
_xsltTransformContext
Read
xsltGetUTF8Char
xsltNamespaceAlias
Register
xsltAddTemplate
xsltNewDocument
xsltNewStyleDocument
xsltRegisterExtModule
xsltRegisterExtModuleFull
xsltRegisterPersistRVT
Registering
XSLT_REGISTER_FUNCTION_LOOKUP
XSLT_REGISTER_VARIABLE_LOOKUP
Registers
xsltParseStylesheetParam
xsltParseStylesheetVariable
xsltRegisterAllElement
xsltRegisterAllExtras
xsltRegisterAllFunctions
xsltRegisterExtElement
xsltRegisterExtFunction
xsltRegisterExtModuleElement
xsltRegisterExtModuleFunction
xsltRegisterExtModuleTopLevel
xsltRegisterExtPrefix
xsltRegisterExtras
xsltRegisterLocalRVT
xsltRegisterTestModule
xsltRegisterTmpRVT
Resets
xsltPointerListClear
Restore
xsltRestoreDocumentNamespaces
Result
_xsltStackElem
_xsltStylesheet
_xsltTransformContext
xsltAttrListTemplateProcess
xsltAttrTemplateProcess
xsltCopyNamespaceList
xsltCreateRVT
xsltFindDocument
xsltFreeRVTs
xsltRegisterLocalRVT
xsltRegisterPersistRVT
xsltRegisterTmpRVT
xsltReleaseRVT
Retrieve
xsltGetExtData
xsltStyleGetExtData
xsltStyleStylesheetLevelGetExtData
Rule
_xsltTransformContext

Letter S:

SAX
xsltRunStylesheet
xsltRunStylesheetUser
SAXON
XSLT_NORM_SAXON_NAMESPACE
Sampling
XSLT_TIMESTAMP_TICS_PER_SEC
Save
xsltSaveProfiling
xsltSaveResultTo
xsltSaveResultToFd
xsltSaveResultToFile
xsltSaveResultToFilename
xsltSaveResultToString
Saxon
XSLT_SAXON_NAMESPACE
Scaling
_xsltFormatNumberInfo
Search
xsltGetCNsProp
xsltGetNsProp
xsltVariableLookup
Set
_xsltCompilerNodeInfo
xsltDebugSetDefaultTrace
xsltSetCtxtSecurityPrefs
xsltSetDefaultSecurityPrefs
xsltSetLoaderFunc
xsltSetXIncludeDefault
Should
xsltInitCtxtKeys
Shutdown
xsltShutdownCtxtExts
xsltShutdownExts
Signature
xsltSortFunc
xsltTransformFunction
Similar
xsltGetCNsProp
xsltGetNsProp
xsltQuoteUserParams
Size
_xsltTransformContext
Special
UNDEFINED_DEFAULT_NS
xsltFormatNumberConversion
Specific
XSLT_PAT_NO_PRIORITY
Speed
_xsltTransformContext
Split
xsltSplitQName
Storage
_xsltCompilerCtxt
Strip
xsltApplyStripSpaces
Structure:
xsltFormatNumberConversion
Stylesheet
_xsltStylesheet
xsltNewStylesheet
Symbol
xsltFormatNumberConversion

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Daniel Veillard

07070100062416000081a40000000000000000000000014f22154400001a1c000000b600010002ffffffffffffffff0000003700000000root/usr/local/share/doc/libxslt-1.1.26/html/help.html How to help
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

How to help

Main Menu
Related links
API Indexes

You can help the project in various ways, the best thing to do first is to subscribe to the mailing-list as explained before, check the archives and the GNOME bug database::

  1. provide patches when you find problems
  2. provide the diffs when you port libxslt to a new platform. They may not be integrated in all cases but help pinpointing portability problems and
  3. provide documentation fixes (either as patches to the code comments or as HTML diffs).
  4. provide new documentations pieces (translations, examples, etc ...)
  5. Check the TODO file and try to close one of the items
  6. take one of the points raised in the archive or the bug database and provide a fix. Get in touch with me before to avoid synchronization problems and check that the suggested fix will fit in nicely :-)

Daniel Veillard

07070100062436000081a40000000000000000000000014f2215440000acc3000000b600010002ffffffffffffffff0000003700000000root/usr/local/share/doc/libxslt-1.1.26/html/news.html News
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

News

Main Menu
Related links
API Indexes

The change log describes the recents commits to the SVN code base.

Those are the public releases made:

1.1.26: Sep 24 2009

  • Improvement: Add xsltProcessOneNode to exported symbols for lxml (Daniel Veillard)
  • 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)

1.1.25: Sep 17 2009

  • Features: Add API versioning and various cleanups (Daniel Veillard), xsl:sort lang support using the locale (Nick Wellnhofer and Roumen Petrov)
  • Documentation: Fix the download links for Solaris (Daniel Veillard), Fix makefile and spec file to include doc in rpm (Daniel Veillard)
  • Portability: Make sure testThreads is linked with pthreads (Daniel Veillard), Fix potential crash on debug of extensions Solaris (Ben Walton), applied patch from Roumen Petrov for mingw cross compilation problems (Roumen Petrov), patch from Richard Jones to build shared libs with MinGW cross-compiler (Richard Jones), fix include path when compiling with MinGW (Roumen Petrov), portability fixes ( Nick Wellnhofer and Roumen Petrov)
  • Bug fixes: Big fixes of pattern compilations (Nick Wellnhofer), Fix uses of xmlAddChild for error handling (Daniel Veillard), Detect deep recusion on function calls (Daniel Veillard), Avoid an error in namespace generation (Martin), Fix importing of encoding from included stylesheets (Nick Wellnhofer), Fix problems with embedded stylesheets and namespaces (Martin), QName parsing fix for patterns (Martin), Crash compiling stylesheet with DTD (Martin), Fix xsl:strip-space with namespace and wildcard (Nick Wellnhofer), Fix a mutex deadlock on unregistered extensions (Nix), 567192 xsltproc --output option ignore --xinclude (Joachim Breitner), Fix redundant headers in list (Daniel Veillard), 134754 Configure's --with-html-dir related fixes (Julio M. Merino Vidal), 305913 a serious problem in extensions reentrancy (Daniel Veillard), Fix an idness issue when building the tree (Daniel Veillard), Fixed indexing error reported by Ron Burk on the mailing list. (William M. Brack), prevent some unchecked pointer accesses (Jake Goulding), fix for CVE-2008-2935 libexslt RC4 encryption/decryption functions Daniel (Daniel Veillard), avoid a quadratic behaviour when hitting duplicates (Daniel Veillard), 544829 fixed option --with-debugger (Arun Ragnavan), 541965 fixed incorrect argument popping in exsltMathAtan2Function (William M. Brack), fix problem with string check for element-available (Ron Burk), 539741 added code to handle literal within an AVT (William M. Brack)
  • Improvements: Allow use of EXSLT outside XSLT (Martin), Support Esperanto locale (Nick Wellnhofer), Change how attributes are copied for id and speed (Daniel Veillard), Add API versioning and various cleanups (Daniel Veillard), Adding a test program to check thread reentrancy (Daniel Veillard), big patch from finishing xsl:sort lang support (Roumen Petrov), add xsl:sort lang support using the locale (Nick Wellnhofer)
  • Cleanups: Label xsltProcessOneNode as static (Daniel Veillard), git setup (Daniel Veillard), fixed typo detected by new libxml2 code (William M. Brack), xsltExtFunctionLookup was defined but never implemented (Ralf Junker)

1.1.24: May 13 2008

  • Documentation: man page fix (Vincent Lefevre).
  • Bug fixes: pattern bug fix, key initialization problems, exclusion of unknown namespaced element on top of stylesheets, python generator syntactic cleanup (Martin)

1.1.23: Apr 8 2008

  • Documentation: fix links for Cygwin DocBook setup (Philippe Bourcier), xsltParseStylesheetDoc doc fix (Jason Viers), fix manpage default maxdepth value
  • Bug fixes: python segfault (Daniel Gryniewicz), week-in-year bug fix (Maurice van der Pot), fix python iterator problem (William Brack), avoid garbage collection problems on str:tokenize and str:split and function results (William Brack and Peter Pawlowski) superfluous re-generation of keys (William Brack), remove superfluous code in xsltExtInitTest (Tony Graham), func:result segfault fix (William Brack), timezone offset problem (Peter Pawlowski),
  • Portability fixes: old gcrypt support fix (Brent Cowgill), Python portability patch (Stephane Bidoul), VS 2008 fix (Rob Richard)

1.1.22: Aug 23 2007

  • Bug fixes: RVT cleanup problems (William Brack), exclude-result-prefix bug (William Brack), stylesheet compilation error handling (Rob Richards).
  • Portability fixes: improve build with VS2005 (Rob Richards), fixing build on AIX (Bjorn Wiberg), fix the security file checks on Windows (Roland Schwarz and Rob Richards).
  • Improvement: add an --encoding option to xsltproc (Drazen Kacar).

1.1.21: Jun 12 2007

  • Bug fixes: out of memory allocation errors (William Brack), namespace problem on compound predicates (William Brack), python space/tab inconsistencies (Andreas Hanke), hook xsl:message to per transformation error callbacks (Shaun McCance), cached RVT problem (William Brack), XPath context maintainance on choose (William Brack), memory leaks in the math module (William Brack), exclude-result-prefix induced namespace problem (William Brack)
  • Build: configure setup for TRIO_REPLACE_STDIO (William Brack)
  • Documentation: updated after change from CVs to SVN (William Brack)

1.1.20: Jan 17 2007

  • Portability fixes: strict aliasing fix (Marcus Meissner), BSD portability patches (Roland Illig)
  • Bug fixes: Result Value Tree handling fix (William Brack), function parameters fix (William), uninitialized variable (Kjartan Maraas), empty text node handling (William), plugin support and test fixes (William), fragment support fixes (William)
  • Improvements: python stylesheet compare and transform context access (Nic Ferrier), EXSLT string replace support (Joel Reed), xsltproc better low level error handling (Mike Hommey and William)

1.1.19: Nov 29 2006

  • Bug fixes: entities within attributes (William Brack), Python detection problem (Joseph Sacco), in-scope namespace bug (Mike Hommey), Result value tree caching bug (William Brack)

1.1.18: Oct 26 2006

  • portability and build fixes: DESTDIR problem, build paths in python shared lib, compile when libxml2 doesn't support XInclude (Gary Coady).
  • bug fixes: a number of namespace related bugs (Kasimier Buchcik), parameters bugs (Kasimier Buchcik), proximity position in predicates of match patterns (Kasimier), exslt-node-set troubles with strings (Kasimier), CDATA serialization, Python floats and booleans XPath conversions, XInclude support fixes, RVT cleanup problem (William Brack and Kasimier), attribute checking in stylesheets (Kasimier), xsltForEach context problem (Kasimier), security check should pass full URLs (Shane Corgatelli), security cleanup patch (Mikhail Zabaluev), some python accessor for stylesheet were broken, memory errors when compiling stylesheets (Mike Hommey), EXSLT current date end-of-month problem (William Brack).
  • improvements: refactoring of namespace handling, value-of impleemntation and template internal processing (Kasimier Buchcik), new xsltproc flag to apply Xinclude to stylesheets.
  • documentation: xsltproc man pages (Daniel Leidert), tests updates (William Brack), various typo fixes (Daniel Leidert), comments on versions macros (Peter Breitenlohner).

1.1.17: Jun 6 2006

  • portability fixes: python detection
  • bug fixes: some regression tests, attribute/namespaces output (Kasimier Buchcik), problem in mixed xsl:value-of and xsl:text uses (Kasimier)
  • improvements: internal refactoring (Kasimier Buchcik), use of the XPath object cache in libxml2-2.6.25 (Kasimier)

1.1.16: May 01 2006

  • portability fixes: EXSLT date/time on Solaris and IRIX (Albert Chin), HP-UX build (Albert Chin),
  • build fixes: Python detection(Joseph Sacco), plugin configurei (Joel Reed)
  • bug fixes: pattern compilation fix(William Brack), EXSLT date/time fix (Thomas Broyer), EXSLT function bug, potential loop on variable eval, startup race (Christopher Palmer), debug statement left in python (Nic Ferrier), various cleanup based on Coverity reports), error on Out of memory condition (Charles Hardin), various namespace prefixes fixes (Kasimier Buchcik),
  • improvement: speed up sortingi, start of internals refactoring (Kasimier Buchcik)
  • documentation: man page fixes and updates (Daniel Leidert)

1.1.15: Sep 04 2005

  • build fixes: Windows build cleanups and updates (Igor Zlatkovic), remove jhbuild warnings
  • bug fixes: negative number formatting (William Brack), number formatting per mille definition (William Brack), XInclude default values (William), text copy bugs (William), bug related to xmlXPathContext size, reuse libxml2 memory management for text nodes, dictionary text bug, forbid variables in match (needs libxml2-2.6.21)
  • improvements: EXSLT dyn:map (Mark Vakoc),
  • documentation: EXSLT date and time functions namespace in man (Jonathan Wakely)

1.1.14: Apr 02 2005

  • bug fixes: text node on stylesheet document without a dictionary (William Brack), more checking of XSLT syntax, calling xsltInit() multiple times, mode values interning raised by Mark Vakoc, bug in pattern matching with ancestors, bug in patterna matching with cascading select, xinclude and document() problem, build outside of source tree (Mike Castle)
  • improvement: added a --nodict mode to xsltproc to check problems for docuemtns without dictionaries

1.1.13: Mar 13 2005

  • build fixes: 64bits cleanup (William Brack), python 2.4 test (William), LIBXSLT_VERSION_EXTRA on Windows (William), Windows makefiles fixes (Joel Reed), libgcrypt-devel requires for RPM spec.
  • bug fixes: exslt day-of-week-in-month (Sal Paradise), xsl:call-template should not change the current template rule (William Brack), evaluation of global variables (William Brack), RVT's in XPath predicates (William), namespace URI on template names (Mark Vakoc), stat() for Windows patch (Aleksey Gurtovoy), pattern expression fixes (William Brack), out of memory detection misses (William), parserOptions propagation (William), exclude-result-prefixes fix (William), // patten fix (William).
  • extensions: module support (Joel Reed), dictionary based speedups trying to get rid of xmlStrEqual as much as possible.
  • documentation: added Wiki (Joel Reed)

1.1.12: Oct 29 2004

  • build fixes: warnings removal (William).
  • bug fixes: attribute document pointer fix (Mark Vakoc), exslt date negative periods (William Brack), generated tree structure fixes, namespace lookup fix, use reentrant gmtime_r (William Brack), exslt:funtion namespace fix (William), potential NULL pointer reference (Dennis Dams, William), force string interning on generated documents.
  • documentation: update of the second tutorial (Panagiotis Louridas), add exslt doc in rpm packages, fix the xsltproc man page.

1.1.11: Sep 29 2004

  • bug fixes: xsl:include problems (William Brack), UTF8 number pattern (William), date-time validation (William), namespace fix (William), various Exslt date fixes (William), error callback fixes, leak with namespaced global variable, attempt to fix a weird problem #153137
  • improvements: exslt:date-sum tests (Derek Poon)
  • documentation: second tutorial by Panagiotis Lourida

1.1.10: Aug 31 2004

  • build fix: NUL in c file blocking compilation on Solaris, Windows build (Igor Zlatkovic)
  • fix: key initialization problem (William Brack)
  • documentation: fixed missing man page description for --path

1.1.9: Aug 22 2004

  • build fixes: missing tests (William Brack), Python dependancies, Python on 64bits boxes, --with-crypto flag (Rob Richards),
  • fixes: RVT key handling (William), Python binding (William and Sitsofe Wheeler), key and XPath troubles (William), template priority on imports (William), str:tokenize with empty strings (William), #default namespace alias behaviour (William), doc ordering missing for main document (William), 64bit bug (Andreas Schwab)
  • improvements: EXSLT date:sum added (Joel Reed), hook for document loading for David Hyatt, xsltproc --nodtdattr to avoid defaulting DTD attributes, extend xsltproc --version with CVS stamp (William).
  • Documentation: web page problem reported by Oliver Stoeneberg

1.1.8: July 5 2004

  • build fixes: Windows runtime options (Oliver Stoeneberg), Windows binary package layout (Igor Zlatkovic), libgcrypt version test and link (William)
  • documentation: fix libxslt namespace name in doc (William)
  • bug fixes: undefined namespace message (William Brack), search engine (William), multiple namespace fixups (William), namespace fix for key evaluation (William), Python memory debug bindings,
  • improvements: crypto extensions for exslt (Joel Reed, William)

1.1.7: May 17 2004

  • build fix: warning about localtime_r on Solaris
  • bug fix: UTF8 string tokenize (William Brack), subtle memory corruption, linefeed after comment at document level (William), disable-output-escaping problem (William), pattern compilation in deep imported stylesheets (William), namespace extension prefix bug, libxslt.m4 bug (Edward Rudd), namespace lookup for attribute, namespaced DOCTYPE name

1.1.6: Apr 18 2004

  • 2 bug fixes about keys fixed one by Mark Vakoc

1.1.5: Mar 23 2004

  • performance: use dictionary lookup for variables
  • remove use of _private from source documents
  • cleanup of "make tests" output
  • bugfixes: AVT in local variables, use localtime_r to avoid thread troubles (William), dictionary handling bug (William), limited number of stubstitutions in AVT (William), tokenize fix for UTF-8 (William), superfluous namespace (William), xsltproc error code on <xsl:message> halt, OpenVMS fix, dictionary reference counting change.

1.1.4: Feb 23 2004

  • bugfixes: attributes without doc (Mariano Suárez-Alvarez), problem with Yelp, extension problem
  • display extension modules (Steve Little)
  • Windows compilation patch (Mark Vadoc), Mingw (Mikhail Grushinskiy)

1.1.3: Feb 16 2004

  • Rewrote the Attribute Value Template code, new XPath compilation interfaces, dictionary reuses for XSLT with potential for serious performance improvements.
  • bug fixes: portability (William Brack), key() in node-set() results (William), comment before doctype (William), math and node-set() problems (William), cdata element and default namespace (William), behaviour on unknown XSLT elements (Stefan Kost), priority of "//foo" patterns (William), xsl:element and xsl:attribute QName check (William), comments with -- (William), attribute namespace (William), check for ?> in PI (William)
  • Documentations: cleanup (John Fleck and William)
  • Python: patch for OS-X (Gianni Ceccarelli), enums export (Stephane bidoul)

1.1.2: Dec 24 2003

  • Documentation fixes (John Fleck, William Brack), EXSLT documentation (William Brack)
  • Windows compilation fixes for MSVC and Mingw (Igor Zlatkovic)
  • Bug fixes: exslt:date returning NULL strings (William Brack), namespaces output (William Brack), key and namespace definition problem, passing options down to the document() parser, xsl:number fixes (William Brack)

1.1.1: Dec 10 2003

  • code cleanup (William Brack)
  • Windows: Makefile improvements (Igor Zlatkovic)
  • documentation improvements: William Brack, libexslt man page (Jonathan Wakely)
  • param in EXSLT functions (Shaun McCance)
  • XSLT debugging improvements (Mark Vakoc)
  • bug fixes: number formatting (Bjorn Reese), exslt:tokenize (William Brack), key selector parsing with | reported by Oleg Paraschenko, xsl:element with computed namespaces (William Brack), xslt:import/include recursion detection (William Brack), exslt:function used in keys (William Brack), bug when CDATA_SECTION are foun in the tree (William Brack), entities handling when using XInclude.

1.1.0: Nov 4 2003

  • Removed DocBook SGML broken support
  • fix xsl:key to work with PIs
  • Makefile and build improvement (Graham Wilson), build cleanup (William Brack), macro fix (Justin Fletcher), build outside of source tree (Roumen Petrov)
  • xsltproc option display fix (Alexey Efimov), --load-trace (Crutcher Dunnavant)
  • Python: never use stdout for error
  • extension memory error fix (Karl Eichwalder)
  • header path fixes (Steve Ball)
  • added saxon:line-number() to libexslt (Brett Kail)
  • Fix some tortuous template problems when using predicates (William Brack)
  • Debugger status patch (Kasimier Buchcik)
  • Use new libxml2-2.6.x APIs for faster processing
  • Make sure xsl:sort is empty
  • Fixed a bug in default processing of attributes
  • Removes the deprecated breakpoint library
  • detect invalid names on templates (William Brack)
  • fix exslt:document (and similar) base handling problem

1.0.33: Sep 12 2003

This is a bugfix only release

  • error message missing argument (William Brack)
  • mode not cascaded in template fallbacks (William Brack)
  • catch redefinition of parameter/variables (William Brack)
  • multiple keys with same namespace name (William Brack)
  • patch for compilation using MingW on Windows (Mikhail Grushinskiy)
  • header export macros for Windows (Igor Zlatkovic)
  • cdata-section-elements handling of namespaced names
  • compilation without libxml2 XPointer support (Mark Vadoc)
  • apply-templates crash (William Brack)
  • bug with imported templates (William Brack)
  • imported attribute-sets merging bug (DocBook) (William Brack)

1.0.32: Aug 9 2003

  • bugfixes: xsltSaveResultToFile() python binding (Chris Jaeger), EXSLT function (William Brack), RVT for globals (William Brack), EXSLT date (William Brack),

    speed of large text output, xsl:copy with attributes, strip-space and namespaces prefix, fix for --path xsltproc option, EXST:tokenize (Shaun McCance), EXSLT:seconds (William Brack), sort with multiple keys (William Brack), checking of { and } for attribute value templates (William Brack)

  • Python bindings for extension elements (Sean Treadway)
  • EXSLT:split added (Shaun McCance)
  • portability fixes for HP-UX/Solaris/IRIX (William Brack)
  • doc cleanup

1.0.31: Jul 6 2003

  • bugfixes: xsl:copy on namespace nodes, AVT for xsl:sort order, fix for the debugger (Keith Isdale), output filename limitation, trio.h and triodef.h added (Albert Chin), EXSLT node-set (Peter Breitenlohner), xsltChoose and whitespace (Igor Zlatkovic),

    stylesheet compilation (Igor Zlatkovic), NaN and sort (William Brack), RVT bug introduced in 1.0.30

  • avoid generating &quot; (fix in libxml2-2.5.8)
  • fix 64bit cleaness problem and compilation troubles introduced in 1.0.30
  • Windows makefile generation (Igor Zlatkovic)
  • HP-UX portability fix

1.0.30: May 4 2003

  • Fixes and new APIs to handle Result Value Trees and avoid leaks
  • Fixes for: EXSLT math pow() function (Charles Bozeman), global parameter and global variables mismatch, a segfault on pattern compilation errors, namespace copy in xsl:copy-of, python generator problem, OpenVMS trio update, premature call to xsltFreeStackElem (Igor), current node when templates applies to attributes

1.0.29: Apr 1 2003

  • performance improvements especially for large flat documents
  • bug fixes: Result Value Tree handling, XML IDs, keys(), extra namespace declarations with xsl:elements.
  • portability: python and trio fixes (Albert Chin), python on Solaris (Ben Phillips)

1.0.28: Mar 24 2003

  • fixed node() in patterns semantic.
  • fixed a memory access problem in format-number()
  • fixed stack overflow in recursive global variable or params
  • cleaned up Result Value Tree handling, and fixed a couple of old bugs in the process

1.0.27: Feb 24 2003

  • bug fixes: spurious xmlns:nsX="" generation, serialization bug (in libxml2), a namespace copy problem, errors in the RPM spec prereqs
  • Windows path canonicalization and document cache fix (Igor)

1.0.26: Feb 10 2003

  • Fixed 3 serious bugs in document() and stylesheet compilation which could lead to a crash

1.0.25: Feb 5 2003

  • Bug fix: double-free for standalone stylesheets introduced in 1.0.24, C syntax pbm, 3 bugs reported by Eric van der Vlist
  • Some XPath and XInclude related problems were actually fixed in libxml2-2.5.2
  • Documentation: emphasize taht --docbook is not for XML docs.

1.0.24: Jan 14 2003

  • bug fixes: imported global varables, python bindings (Stéphane Bidoul), EXSLT memory leak (Charles Bozeman), namespace generation on xsl:attribute, space handling with imports (Daniel Stodden), extension-element-prefixes (Josh Parsons), comments within xsl:text (Matt Sergeant), superfluous xmlns generation, XInclude related bug for numbering, EXSLT strings (Alexey Efimov), attribute-sets computation on imports, extension module init and shutdown callbacks not called
  • HP-UX portability (Alexey Efimov), Windows makefiles (Igor and Stephane Bidoul), VMS makefile updates (Craig A. Berry)
  • adds xsltGetProfileInformation() (Michael Rothwell)
  • fix the API generation scripts
  • API to provide the sorting routines (Richard Jinks)
  • added XML description of the EXSLT API
  • added ESXLT URI (un)escaping (Jörg Walter)
  • Some memory leaks have been found and fixed
  • document() now support fragment identifiers in URIs

1.0.23: Nov 17 2002

  • Windows build cleanup (Igor)
  • Unix build and RPM packaging cleanup
  • Improvement of the python bindings: extension functions and activating EXSLT
  • various bug fixes: number formatting, portability for bounded string functions, CData nodes, key(), @*[...] patterns
  • Documentation improvements (John Fleck)
  • added libxslt.m4 (Thomas Schraitle)

1.0.22: Oct 18 2002

  • Updates on the Windows Makefiles
  • Added a security module, and a related set of new options to xsltproc
  • Allowed per transformation error handler.
  • Fixed a few bugs: node() semantic, URI escaping, media-type, attribute lists

1.0.21: Sep 26 2002

  • Bug fixes: match="node()", date:difference() (Igor and Charlie Bozeman), disable-output-escaping
  • Python bindings: style.saveResultToString() from Ralf Mattes
  • Logos from Marc Liyanage
  • Mem leak fix from Nathan Myers
  • Makefile: DESTDIR fix from Christophe Merlet, AMD x86_64 (Mandrake), Windows (Igor), Python detection
  • Documentation improvements: John Fleck

1.0.20: Aug 23 2002

  • Windows makefile updates (Igor) and x86-64 (Frederic Crozat)
  • fixed HTML meta tag saving for Mac/IE users
  • possible leak patches from Nathan Myers
  • try to handle document('') as best as possible depending in the cases
  • Fixed the DocBook stylesheets handling problem
  • Fixed a few XSLT reported errors

1.0.19: July 6 2002

  • EXSLT: dynamic functions and date support bug fixes (Mark Vakoc)
  • xsl:number fix: Richard Jinks
  • xsl:format-numbers fix: Ken Neighbors
  • document('') fix: bug pointed by Eric van der Vlist
  • xsl:message with terminate="yes" fixes: William Brack
  • xsl:sort order support added: Ken Neighbors
  • a few other bug fixes, some of them requiring the latest version of libxml2

1.0.18: May 27 2002

  • a number of bug fixes: attributes, extra namespace declarations (DocBook), xsl:include crash (Igor), documentation (Christian Cornelssen, Charles Bozeman and Geert Kloosterman), element-available (Richard Jinks)
  • xsltproc can now list teh registered extensions thanks to Mark Vakoc
  • there is a new API to save directly to a string xsltSaveResultToString() by Morus Walter
  • specific error registration function for the python API

1.0.17: April 29 2002

  • cleanup in code, XSLT debugger support and Makefiles for Windows by Igor
  • a C++ portability fix by Mark Vakoc
  • EXSLT date improvement and regression tests by Charles Bozeman
  • attempt to fix a bug in xsltProcessUserParamInternal

1.0.16: April 15 2002

  • Bug fixes: strip-space, URL in HTML output, error when xsltproc can't save
  • portability fixes: OSF/1, IEEE on alphas, Windows, Python bindings

1.0.15: Mar 25 2002

  • Bugfixes: XPath, python Makefile, recursive attribute sets, @foo[..] templates
  • Debug of memory alocation with valgind
  • serious profiling leading to significant improvement for DocBook processing
  • revamp of the Windows build

1.0.14: Mar 18 2002

  • Improvement in the XPath engine (libxml2-2.4.18)
  • Nasty bug fix related to exslt:node-set
  • Fixed the python Makefiles, cleanup of doc comments, Windows portability fixes

1.0.13: Mar 8 2002

  • a number of bug fixes including "namespace node have no parents"
  • Improvement of the Python bindings
  • Charles Bozeman provided fixes and regression tests for exslt date functions.

1.0.12: Feb 11 2002

  • Fixed the makefiles especially the python module ones
  • half a dozen bugs fixes including 2 old ones

1.0.11: Feb 8 2002

  • Change of Licence to the MIT Licence
  • Added a beta version of the Python bindings, including support to extend the engine with functions written in Python
  • A number of bug fixes
  • Charlie Bozeman provided more EXSLT functions
  • Portability fixes

1.0.10: Jan 14 2002

  • Windows fixes for Win32 from Igor
  • Fixed the Solaris compilation trouble (Albert)
  • Documentation changes and updates: John Fleck
  • Added a stringparam option to avoid escaping hell at the shell level
  • A few bug fixes

1.0.9: Dec 7 2001

  • Makefile patches from Peter Williams
  • attempt to fix the compilation problem associated to prelinking
  • obsoleted libxsltbreakpoint now deprecated and frozen to 1.0.8 API
  • xsltproc return codes are now significant, John Fleck updated the documentation
  • patch to allow as much as 40 steps in patterns (Marc Tardif), should be made dynamic really
  • fixed a bug raised by Nik Clayton when using doctypes with HTML output
  • patches from Keith Isdale to interface with xsltdebugger

1.0.8: Nov 26 2001

  • fixed an annoying header problem, removed a few bugs and some code cleanup
  • patches for Windows and update of Windows Makefiles by Igor
  • OpenVMS port instructions from John A Fotheringham
  • fixed some Makefiles annoyance and libraries prelinking information

1.0.7: Nov 10 2001

  • remove a compilation problem with LIBXSLT_PUBLIC
  • Finishing the integration steps for Keith Isdale debugger
  • fixes the handling of indent="no" on HTML output
  • fixes on the configure script and RPM spec file

1.0.6: Oct 30 2001

  • bug fixes on number formatting (Thomas), date/time functions (Bruce Miller)
  • update of the Windows Makefiles (Igor)
  • fixed DOCTYPE generation rules for HTML output (me)

1.0.5: Oct 10 2001

  • some portability fixes, including Windows makefile updates from Igor
  • fixed a dozen bugs on XSLT and EXSLT (me and Thomas Broyer)
  • support for Saxon's evaluate and expressions extensions added (initial contribution from Darren Graves)
  • better handling of XPath evaluation errors

1.0.4: Sep 12 2001

  • Documentation updates from John fleck
  • bug fixes (DocBook FO generation should be fixed) and portability improvements
  • Thomas Broyer improved the existing EXSLT support and added String, Time and Date core functions support

1.0.3: Aug 23 2001

  • XML Catalog support see the doc
  • New NaN/Infinity floating point code
  • A few bug fixes

1.0.2: Aug 15 2001

  • lot of bug fixes, increased the testsuite
  • a large chunk of EXSLT is implemented
  • improvements on the extension framework
  • documentation improvements
  • Windows MSC projects files should be up-to-date
  • handle attributes inherited from the DTD by default

1.0.1: July 24 2001

  • initial EXSLT framework
  • better error reporting
  • fixed the profiler on Windows
  • bug fixes

1.0.0: July 10 2001

  • a lot of cleanup, a lot of regression tests added or fixed
  • added a documentation for writing extensions
  • fixed some variable evaluation problems (with William)
  • added profiling of stylesheet execution accessible as the xsltproc --profile option
  • fixed element-available() and the implementation of the various chunking methods present, Norm Walsh provided a lot of feedback
  • exclude-result-prefixes and namespaces output should now work as expected
  • added support of embedded stylesheet as described in section 2.7 of the spec

0.14.0: July 5 2001

  • lot of bug fixes, and code cleanup
  • completion of the little XSLT-1.0 features left unimplemented
  • Added and implemented the extension API suggested by Thomas Broyer
  • the Windows MSC environment should be complete
  • tested and optimized with a really large document (DocBook Definitive Guide) libxml/libxslt should really be faster on serious workloads

0.13.0: June 26 2001

  • lots of cleanups
  • fixed a C++ compilation problem
  • couple of fixes to xsltSaveTo()
  • try to fix Docbook-xslt-1.4 and chunking, updated the regression test with them
  • fixed pattern compilation and priorities problems
  • Patches for Windows and MSC project mostly contributed by Yon Derek
  • update to the Tutorial by John Fleck
  • William fixed bugs in templates and for-each functions
  • added a new interface xsltRunStylesheet() for a more flexible output (incomplete), added -o option to xsltproc

0.12.0: June 18 2001

  • fixed a dozen of bugs reported
  • HTML generation should be quite better (requires libxml-2.3.11 upgrade too)
  • William fixed some problems with document()
  • Fix namespace nodes selection and copy (requires libxml-2.3.11 upgrade too)
  • John Fleck added a tutorial
  • Fixes for namespace handling when evaluating variables
  • XInclude global flag added to process XInclude on document() if requested
  • made xsltproc --version more detailed

0.11.0: June 1 2001

Mostly a bug fix release.

  • integration of catalogs from xsltproc
  • added --version to xsltproc for bug reporting
  • fixed errors when handling ID in external parsed entities
  • document() should hopefully work correctly but ...
  • fixed bug with PI and comments processing
  • William fixed the XPath string functions when using unicode

0.10.0: May 19 2001

  • cleanups to make stylesheet read-only (not 100% complete)
  • fixed URI resolution in document()
  • force all XPath expression to be compiled at stylesheet parsing time, even if unused ...
  • Fixed HTML default output detection
  • Fixed double attribute generation #54446
  • Fixed {{ handling in attributes #54451
  • More tests and speedups for DocBook document transformations
  • Fixed a really bad race like bug in xsltCopyTreeList()
  • added a documentation on the libxslt internals
  • William Brack and Bjorn Reese improved format-number()
  • Fixed multiple sort, it should really work now
  • added a --docbook option for SGML DocBook input (hackish)
  • a number of other bug fixes and regression test added as people were submitting them

0.9.0: May 3 2001

  • lot of various bugfixes, extended the regression suite
  • xsltproc should work with multiple params
  • added an option to use xsltproc with HTML input
  • improved the stylesheet compilation, processing of complex stylesheets should be faster
  • using the same stylesheet for concurrent processing on multithreaded programs should work now
  • fixed another batch of namespace handling problems
  • Implemented multiple level of sorting

0.8.0: Apr 22 2001

  • fixed ansidecl.h problem
  • fixed unparsed-entity-uri() and generate-id()
  • sort semantic fixes and priority prob from William M. Brack
  • fixed namespace handling problems in XPath expression computations (requires libxml-2.3.7)
  • fixes to current() and key()
  • other, smaller fixes, lots of testing with N Walsh DocBook HTML stylesheets

0.7.0: Apr 10 2001

  • cleanup using stricter compiler flags
  • command line parameter passing
  • fix to xsltApplyTemplates from William M. Brack
  • added the XSLTMark in the regression tests as well as document()

0.6.0: Mar 22 2001

  • another beta
  • requires 2.3.5, which provide XPath expression compilation support
  • document() extension should function properly
  • fixed a number or reported bugs

0.5.0: Mar 10 2001

  • fifth beta
  • some optimization work, for the moment 2 XSLT transform cannot use the same stylesheet at the same time (to be fixed)
  • fixed problems with handling of tree results
  • fixed a reported strip-spaces problem
  • added more reported/fixed bugs to the test suite
  • incorporated William M. Brack fix for imports and global variables as well as patch for with-param support in apply-templates
  • a bug fix on for-each

0.4.0: Mar 1 2001

  • fourth beta test, released at the same time of libxml2-2.3.3
  • bug fixes
  • some optimization
  • started implement extension support, not finished
  • implemented but not tested multiple file output

0.3.0: Feb 24 2001

  • third beta test, released at the same time of libxml2-2.3.2
  • lot of bug fixes
  • some optimization
  • added DocBook XSL based testsuite

0.2.0: Feb 15 2001

  • second beta version, released at the same time as libxml2-2.3.1
  • getting close to feature completion, lot of bug fixes, some in the HTML and XPath support of libxml
  • start becoming usable for real work. This version can now regenerate the XML 2e HTML from the original XML sources and the associated stylesheets (in section I of the XML REC)
  • Still misses extension element/function/prefixes support. Support of key() and document() is not complete

0.1.0: Feb 8 2001

  • first beta version, released at the same time as libxml2-2.3.0
  • lots of bug fixes, first "testing" version, but incomplete

0.0.1: Jan 25 2001

  • first alpha version released at the same time as libxml2-2.2.12
  • Framework in place, should work on simple examples, but far from being feature complete

Daniel Veillard

070701000623f0000081a40000000000000000000000014f22154400006ec3000000b600010002ffffffffffffffff0000003d00000000root/usr/local/share/doc/libxslt-1.1.26/html/APIchunk11.html API Alphabetic Index t-u for libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

API Alphabetic Index t-u for libxslt

Main Menu
Related links
API Indexes

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Letter t:

table
_xsltStylesheet
xsltEvalOneUserParam
xsltEvalUserParams
xsltGetExtInfo
xsltNormalizeCompSteps
xsltQuoteOneUserParam
tables
_xsltDocument
xsltInitCtxtKey
xsltInitCtxtKeys
tag
xsltNewLocale
target
xsltCopyNamespace
xsltCopyNamespaceList
targetted
xsltApplyStylesheetUser
temlate
xslHandleDebugger
templates
_xsltStylesheet
_xsltTransformContext
xsltAttrTemplateValueProcessNode
xsltCleanupTemplates
xsltFindTemplate
xsltFreeAVTList
templtaes
_xsltTransformContext
templtes
_xsltTransformContext
temporary
_xsltTransformContext
xsltFindDocument
tenth
xsltTimestamp
term
xsltCreateRVT
term:
_xsltTransformContext
xsltRegisterLocalRVT
xsltRegisterPersistRVT
xsltRegisterTmpRVT
terminated
xsltApplyStylesheet
xsltApplyStylesheetUser
xsltEvalOneUserParam
xsltEvalUserParams
xsltProfileStylesheet
xsltQuoteOneUserParam
xsltQuoteUserParams
xsltRunStylesheet
xsltRunStylesheetUser
terms
xsltParseSequenceConstructor
test
XSLT_IS_RES_TREE_FRAG
xsltRegisterTestModule
test=
XSLT_FAST_IF
tests
XSLT_FAST_IF
text
IS_XSLT_REAL_NODE
XSLT_IS_TEXT_NODE
_xsltStyleItemText
_xsltStylePreComp
_xsltStylesheet
_xsltTransformContext
xsltCopyTextString
xsltFormatNumberConversion
xsltSaveResultToString
xsltText
than
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
that
IS_XSLT_ELEM
IS_XSLT_REAL_NODE
XSLT_ITEM_COMPATIBILITY_FIELDS
XSLT_LOCALE_NONE
XSLT_STRANGE
xslHandleDebugger
xsltApplyOneTemplate
xsltDocLoaderFunc
xsltExtensionInstructionResultFinalize
xsltExtensionInstructionResultRegister
xsltGetCNsProp
xsltGetNsProp
xsltGetSpecialNamespace
xsltLoadStylesheetPI
xsltNeedElemSpaceHandling
xsltParseStylesheetCallerParam
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
xsltSetTransformErrorFunc
xsltXPathGetTransformContext
them
xsltApplyOneTemplate
xsltExtensionInstructionResultFinalize
xsltNamespaceAlias
themselve
xsltDocLoaderFunc
then
xslHandleDebugger
xsltApplyAttributeSet
xsltCopyNamespace
xsltFindTemplate
xsltGetNamespace
xsltGetSpecialNamespace
xsltSetCtxtSortFunc
xsltStrxfrm
there
_xsltCompilerCtxt
xsltAllocateExtraCtxt
xsltGetQNameURI
xsltGetQNameURI2
xsltGetSpecialNamespace
xsltGetXIncludeDefault
they
xsltEvalAttrValueTemplate
those
xsltEvalAttrValueTemplate
xsltFormatNumberConversion
time
_xsltTemplate
xslHandleDebugger
xsltCompileAttr
xsltDocLoaderFunc
xsltExtInitFunction
xsltExtShutdownFunction
xsltParseGlobalVariable
xsltParseStylesheetCallerParam
xsltParseStylesheetParam
xsltParseStylesheetVariable
xsltStyleExtInitFunction
xsltStyleExtShutdownFunction
time=
xsltGetProfileInformation
top-level
xsltExtModuleTopLevelLookup
xsltRegisterExtModuleTopLevel
xsltUnregisterExtModuleTopLevel
topmost
_xsltCompilerCtxt
xslDropCall
tracing
xsltDebugGetDefaultTrace
xsltDebugSetDefaultTrace
track
_xsltStylesheet
transfer
xslHandleDebugger
transform
xslHandleDebugger
xsltApplyStylesheetUser
xsltAttrListTemplateProcess
xsltCopyNamespaceList
xsltInitElemPreComp
xsltNewElemPreComp
xsltRunStylesheetUser
xsltStrxfrm
transformation-time
xsltCopyNamespaceList
xsltFindTemplate
transformations
xsltEvalUserParams
xsltQuoteUserParams
transformed
xsltLocaleStrcmp
xsltStrxfrm
transmit
xsltTransformError
transromation
xsltSetTransformErrorFunc
treated
xsltEvalOneUserParam
xsltQuoteUserParams
trees
xsltFreeRVTs
tries
xsltLoadStylesheetPI
trigger
_xsltCompilerNodeInfo
true
xsltEvalXPathPredicate
try
xsltGetSpecialNamespace
tuples
xsltApplyStylesheet
xsltApplyStylesheetUser
xsltEvalUserParams
xsltProfileStylesheet
xsltQuoteUserParams
xsltRunStylesheet
xsltRunStylesheetUser
turned
_xsltCompilerCtxt
xsltGetCNsProp
xsltGetNsProp
two
xsltLocaleStrcmp
type
XSLT_TRACE
_xsltCompilerNodeInfo
_xsltElemPreComp
_xsltStylePreComp
_xsltTransformContext
xsltNewLocale

Letter u:

ultimately
xsltGetUTF8Char
undeclare
xsltGetSpecialNamespace
undefined
UNDEFINED_DEFAULT_NS
unfortunately
_xsltStylesheet
unimplemented
XSLT_TODO
unless
xsltGetCNsProp
xsltGetNsProp
unparsed-entity-uri
xsltUnparsedEntityURIFunction
unstructured
_xsltCompilerCtxt
unused
xsltDocumentComp
xsltSecurityAllow
xsltSecurityForbid
unwanted
xsltApplyStripSpaces
xsltParseTemplateContent
update
xsltGetSecurityPrefs
xsltGetUTF8Char
xsltSetSecurityPrefs
usage
XSLT_FAST_IF
use
xsltAddKey
xsltCopyNamespaceList
xsltDocLoaderFunc
xsltEvalGlobalVariables
xsltEvalOneUserParam
xsltEvalUserParams
xsltEvalXPathStringNs
xsltFindTemplate
xsltGetCNsProp
xsltGetDefaultSecurityPrefs
xsltGetNamespace
xsltGetNsProp
xsltGetSpecialNamespace
xsltGetUTF8Char
xsltRegisterExtras
xsltRunStylesheet
xsltRunStylesheetUser
xsltSecurityAllow
xsltSecurityForbid
xsltSetCtxtSecurityPrefs
xsltSetDefaultSecurityPrefs
xsltSetSecurityPrefs
xsltSortFunc
xsltTemplateProcess
xsltTransformError
use:
_xsltStylesheet
useful
xsltXPathGetTransformContext
usefull
xsltInitElemPreComp
user
_xsltTransformContext
xsltApplyStylesheetUser
xsltRunStylesheetUser
xsltSetSecurityPrefs
user-code
xsltFreeRVTs
users!
xsltLocalVariablePush
uses
xsltFormatNumberConversion
xsltRunStylesheet
xsltRunStylesheetUser
using
xsltDoSortFunction
xsltEvalXPathPredicate
xsltEvalXPathString
xsltEvalXPathStringNs
xsltRunStylesheet
xsltRunStylesheetUser
xsltSetCtxtParseOptions

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Daniel Veillard

070701000623fa000081a40000000000000000000000014f221544000074dd000000b600010002ffffffffffffffff0000003c00000000root/usr/local/share/doc/libxslt-1.1.26/html/APIchunk9.html API Alphabetic Index p-p for libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

API Alphabetic Index p-p for libxslt

Main Menu
Related links
API Indexes

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Letter p:

param
_xsltCompilerCtxt
xsltParseGlobalParam
xsltParseStylesheetParam
parameter
xsltEvalOneUserParam
xsltEvalUserParams
xsltParseStylesheetProcess
xsltQuoteOneUserParam
parameters
_xsltStylesheet
xsltApplyOneTemplate
xsltApplyStylesheet
xsltApplyStylesheetUser
xsltEvalGlobalVariables
xsltEvalOneUserParam
xsltEvalUserParams
xsltProcessOneNode
xsltProfileStylesheet
xsltQuoteOneUserParam
xsltQuoteUserParams
xsltRunStylesheet
xsltRunStylesheetUser
xsltTransformError
params
_xsltCompilerCtxt
_xsltTransformContext
parent
xsltGetNamespace
xsltParseStylesheetImportedDoc
parse
xsltParseGlobalParam
xsltParseStylesheetAttributeSet
xsltParseStylesheetDoc
xsltParseStylesheetFile
xsltParseStylesheetImport
xsltParseStylesheetImportedDoc
xsltParseStylesheetInclude
xsltParseStylesheetOutput
xsltParseTemplateContent
parsed
_xsltDocument
_xsltStylesheet
xsltApplyStylesheet
xsltApplyStylesheetUser
xsltEvalUserParams
xsltFindDocument
xsltNewDocument
xsltNewStyleDocument
xsltNewTransformContext
xsltParseSequenceConstructor
xsltParseStylesheetDoc
xsltParseStylesheetImportedDoc
xsltParseStylesheetProcess
xsltProfileStylesheet
xsltQuoteUserParams
xsltRunStylesheet
xsltRunStylesheetUser
parser
xsltFreeTransformContext
xsltSetCtxtParseOptions
parsing
_xsltCompilerCtxt
xsltDocLoaderFunc
xsltParseStylesheetDoc
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
part
XSLT_REFACTORED_VARS
_xsltElemPreComp
_xsltFormatNumberInfo
_xsltStackElem
_xsltTemplate
xsltTransformFunction
pass
XSLT_PARSE_OPTIONS
xsltAttrTemplateValueProcessNode
xsltEvalXPathStringNs
passed
xsltProcessOneNode
xsltSetCtxtParseOptions
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
path
xsltSecurityCheck
pattern
XSLT_PAT_NO_PRIORITY
_xsltDecimalFormat
_xsltFormatNumberInfo
xsltAddTemplate
xsltCompilePattern
xsltFormatNumberConversion
xsltTestCompMatchList
patterns
xsltTestCompMatchList
per
_xsltFormatNumberInfo
_xsltTransformContext
xsltFormatNumberConversion
percent
_xsltFormatNumberInfo
percentage
xsltFormatNumberConversion
permille
_xsltFormatNumberInfo
persistance
_xsltTransformContext
persistant
_xsltTransformContext
persistent
_xsltStackElem
pertaining
xsltXPathGetTransformContext
pertains
IS_XSLT_ELEM
place
xsltFormatNumberConversion
xsltGetQNameURI
placeholder
xsltFormatNumberConversion
plug
xsltSetDebuggerCallbacks
point
_xsltFormatNumberInfo
xsltXPathFunctionLookup
xsltXPathVariableLookup
pointers
XSLT_GET_IMPORT_PTR
points
xsltSetDebuggerCallbacks
pops
xsltApplyOneTemplate
position
xsltPointerListAddSize
xsltTransformError
possible
xsltFormatNumberConversion
possibly
xsltCheckExtPrefix
xsltCheckExtURI
pre-computation
xsltExtModuleElementPreComputeLookup
xsltRegisterExtModuleElement
pre-processing
_xsltDocument
_xsltStylesheet
precedence
xsltFindElemSpaceHandling
xsltFindTemplate
xsltNextImport
precision
XSLT_TIMESTAMP_TICS_PER_SEC
precompiled
_xsltStyleItemApplyTemplates
_xsltStyleItemIf
_xsltStyleItemSort
_xsltStyleItemValueOf
_xsltStylePreComp
_xsltStylesheet
xsltCompilePattern
xsltDocumentComp
xsltTestCompMatchList
precomputed
_xsltStylesheet
xsltAttribute
xsltComment
xsltCopyOf
xsltDebug
xsltDocumentElem
xsltElement
xsltFreeStylePreComps
xsltInitElemPreComp
xsltNumber
xsltPreComputeExtModuleElement
xsltProcessingInstruction
xsltSort
xsltText
xsltValueOf
predicate
xsltEvalXPathPredicate
preference
xsltFreeSecurityPrefs
xsltGetDefaultSecurityPrefs
xsltNewSecurityPrefs
xsltSetCtxtSecurityPrefs
xsltSetDefaultSecurityPrefs
preferences
_xsltTransformContext
prefix
_xsltFormatNumberInfo
_xsltStylesheet
xsltCheckExtPrefix
xsltCheckExtURI
xsltFormatNumberConversion
xsltGetNamespace
xsltGetQNameURI
xsltGetQNameURI2
xsltGetSpecialNamespace
xsltRegisterExtPrefix
xsltSplitQName
prefixed
xsltGetQNameURI
xsltGetQNameURI2
prefixes
_xsltStylesheet
preliminary
xsltCheckWrite
present
xsltEvalStaticAttrValueTemplate
xsltGetExtData
xsltStyleGetExtData
xsltStyleStylesheetLevelGetExtData
preserve
_xsltStylesheet
xsltGetSpecialNamespace
preserve-space
_xsltStylesheet
xsltFindElemSpaceHandling
previous
xsltSetCtxtParseOptions
prevompiled
xsltEvalAVT
principal
_xsltStylesheet
printed
xslAddCall
priority
XSLT_PAT_NO_PRIORITY
_xsltTemplate
xsltGetSpecialNamespace
problem
XSLT_STRANGE
processed
_xsltCompilerNodeInfo
_xsltTransformContext
xslAddCall
xslHandleDebugger
xsltGetTemplate
xsltPrintErrorContext
xsltSetXIncludeDefault
processing
CHECK_STOPPED
CHECK_STOPPED0
CHECK_STOPPEDE
_xsltCompilerCtxt
_xsltFormatNumberInfo
xsltDebug
xsltDocumentElem
xsltGetProfileInformation
xsltGetXIncludeDefault
xsltMessage
xsltParseStylesheetImportedDoc
xsltSetXIncludeDefault
processing-instruction
_xsltStylesheet
xsltProcessingInstruction
processor
XSLT_DEFAULT_URL
XSLT_DEFAULT_VENDOR
XSLT_SAXON_NAMESPACE
XSLT_XALAN_NAMESPACE
XSLT_XT_NAMESPACE
xsltInit
xsltUninit
produce
xsltRegisterTmpRVT
products
xsltFormatNumberConversion
profile
_xsltTransformContext
xsltApplyStylesheetUser
xsltGetProfileInformation
xsltRunStylesheetUser
profiled
_xsltTransformContext
profiling
XSLT_TIMESTAMP_TICS_PER_SEC
xsltGetProfileInformation
xsltProfileStylesheet
xsltSaveProfiling
xsltTimestamp
progressive
xsltRunStylesheet
xsltRunStylesheetUser
project
XSLT_XALAN_NAMESPACE
properties
xsltAttrListTemplateProcess
provide
xsltApplyOneTemplate
xsltApplyStylesheetUser
provided
xsltApplyStylesheetUser
xsltComputeSortResult
xsltDefaultSortFunction
xsltDoSortFunction
xsltDocLoaderFunc
xsltRunStylesheetUser
xsltSecurityCheck
public?
xsltAttrTemplateValueProcessNode
purpose
XSLT_REGISTER_FUNCTION_LOOKUP
XSLT_REGISTER_VARIABLE_LOOKUP
pushed
xsltLocalVariablePush
pushes
xsltApplyOneTemplate

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Daniel Veillard

0707010006240c000081a40000000000000000000000014f22154400001d7b000000b600010002ffffffffffffffff0000003600000000root/usr/local/share/doc/libxslt-1.1.26/html/FAQ.html FAQ
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

FAQ

Main Menu
Related links
API Indexes
  1. Troubles compiling or linking programs using libxslt

    Usually the problem comes from the fact that the compiler doesn't get the right compilation or linking flags. There is a small shell script xslt-config which is installed as part of libxslt usual install process which provides those flags. Use

    xslt-config --cflags

    to get the compilation flags and

    xslt-config --libs

    to get the linker flags. Usually this is done directly from the Makefile as:

    CFLAGS=`xslt-config --cflags`

    LIBS=`xslt-config --libs`

    Note also that if you use the EXSLT extensions from the program then you should prepend -lexslt to the LIBS options

  2. passing parameters on the xsltproc command line doesn't work

    xsltproc --param test alpha foo.xsl foo.xml

    the param does not get passed and ends up as ""

    In a nutshell do a double escaping at the shell prompt:

    xsltproc --param test "'alpha'" foo.xsl foo.xml

    i.e. the string value is surrounded by " and ' then terminated by ' and ". Libxslt interpret the parameter values as XPath expressions, so the string ->alpha<- is intepreted as the node set matching this string. You really want ->'alpha'<- to be passed to the processor. And to allow this you need to escape the quotes at the shell level using ->"'alpha'"<- .

    or use

    xsltproc --stringparam test alpha foo.xsl foo.xml

  3. Is there C++ bindings ?

    Yes for example xmlwrapp , see the related pages about bindings

Daniel Veillard

070701000623f8000081a40000000000000000000000014f22154400006c5e000000b600010002ffffffffffffffff0000003c00000000root/usr/local/share/doc/libxslt-1.1.26/html/APIchunk7.html API Alphabetic Index j-m for libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

API Alphabetic Index j-m for libxslt

Main Menu
Related links
API Indexes

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Letter j:

java
xsltFormatNumberConversion
jdk
xsltFormatNumberConversion
just
_xsltCompilerCtxt

Letter k:

keep
_xsltCompilerCtxt
keeping
_xsltStylesheet
kept
XSLT_REFACTORED_KEYCOMP
_xsltDocument
xsltParseStylesheetDoc
key
_xsltDocument
_xsltStylesheet
xsltAddKey
xsltGetKey
xsltInitCtxtKey
xsltKeyFunction
xsltNewDocument
xsltNewStyleDocument
keys
_xsltTransformContext
xsltFreeDocumentKeys
xsltFreeKeys
xsltInitAllDocKeys
xsltInitCtxtKeys
kind
xsltDocLoaderFunc
known
_xsltTransformContext

Letter l:

label
CHECK_STOPPEDE
language
xsltNewLocale
xsltTransformFunction
last
_xsltStylesheet
_xsltTransformContext
xsltNextImport
later
xsltDocLoaderFunc
xsltReleaseRVT
lead
xsltApplyStylesheet
xsltRunStylesheet
xsltRunStylesheetUser
leaks
xsltAttrListTemplateProcess
left
xsltApplyOneTemplate
len
xsltGetUTF8Char
level
_xsltTransformContext
xsltDebugGetDefaultTrace
xsltDebugSetDefaultTrace
xsltLocalVariablePush
libexsl
xsltApplyOneTemplate
library
xsltCleanupGlobals
xsltRegisterExtModule
xsltRegisterExtModuleFull
xsltSetDebuggerCallbacks
xsltUnregisterExtModule
libxml2
xsltGetUTF8Char
xsltSetCtxtParseOptions
libxslt
XSLT_LIBXSLT_NAMESPACE
XSLT_REFACTORED_VARS
xsltFunctionNodeSet
lifespan
xsltGetQNameURI
lifetime
_xsltStackElem
like
_xsltCompilerCtxt
xsltCheckWrite
xsltGetProfileInformation
xsltSecurityCheck
xsltTransformFunction
line
xsltTransformError
literal
_xsltCompilerNodeInfo
_xsltEffectiveNs
xsltAttrTemplateProcess
xsltGetSpecialNamespace
xsltParseTemplateContent
literally
xsltEvalOneUserParam
xsltEvalUserParams
xsltQuoteUserParams
load
xsltDocLoaderFunc
xsltLoadDocument
xsltLoadStyleDocument
xsltLoadStylesheetPI
xsltSetLoaderFunc
loaded
xsltFreeDocuments
xsltSetXIncludeDefault
xsltShutdownCtxtExts
xsltShutdownExts
loading
XSLT_PARSE_OPTIONS
xsltDocLoaderFunc
xsltSetCtxtParseOptions
xsltSetLoaderFunc
local
_xsltCompilerCtxt
_xsltStackElem
_xsltTemplate
_xsltTransformContext
xsltLocalVariablePush
xsltParseStylesheetParam
xsltParseStylesheetVariable
xsltSplitQName
locale
XSLT_LOCALE_NONE
xsltFreeLocale
xsltLocaleStrcmp
xsltNewLocale
xsltStrxfrm
localname
xsltSplitQName
locate
xsltLoadStylesheetPI
location
_xsltStackElem
look
xsltGetKey
xsltGetTemplate
looks
xsltGetCNsProp
xsltGetExtInfo
xsltGetNsProp
lookup
xsltGetQNameURI
xsltGetSecurityPrefs
lost
xsltRunStylesheet
xsltRunStylesheetUser

Letter m:

macro
XML_CAST_FPTR
XSLT_GET_IMPORT_INT
XSLT_GET_IMPORT_PTR
XSLT_IS_RES_TREE_FRAG
XSLT_MARK_RES_TREE_FRAG
XSLT_REGISTER_FUNCTION_LOOKUP
XSLT_REGISTER_VARIABLE_LOOKUP
xsltRunStylesheet
xsltRunStylesheetUser
made
xsltDocLoaderFunc
xsltIsBlank
main
_xsltDocument
xsltRunStylesheet
xsltRunStylesheetUser
make
xsltAllocateExtraCtxt
makes
xsltCheckWrite
map
XSLT_GET_INTERNAL_NSMAP
_xsltPrincipalStylesheetData
xsltRestoreDocumentNamespaces
mapped
_xsltNsMap
mapping
XSLT_HAS_INTERNAL_NSMAP
xsltAttrTemplateValueProcessNode
xsltEvalXPathStringNs
marked
xsltExtensionInstructionResultFinalize
mask
_xsltTransformContext
xsltDebugGetDefaultTrace
xsltDebugSetDefaultTrace
massive
xsltRegisterTmpRVT
match
xsltAddKey
xsltNormalizeCompSteps
match=
xsltGetProfileInformation
matches
xsltTestCompMatchList
matching
_xsltTemplate
xsltCompilePattern
xsltGetNamespace
xsltGetSpecialNamespace
xsltNewLocale
may
_xsltDecimalFormat
xslAddCall
xsltApplyStylesheet
xsltRunStylesheet
xsltRunStylesheetUser
means
xsltExtensionInstructionResultFinalize
xsltGetTemplate
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
xsltSetTransformErrorFunc
mechanism
xsltFreeTemplateHashes
mechanisms
_xsltCompilerCtxt
memory
xsltAttrListTemplateProcess
xsltFreeAVTList
xsltFreeAttributeSetsHashes
xsltFreeCompMatchList
xsltFreeExts
xsltFreeKeys
xsltFreeNamespaceAliasHashes
xsltFreeStackElemList
xsltFreeStylePreComps
xsltFreeStylesheet
xsltFreeTemplateHashes
xsltFreeTransformContext
xsltGetNsProp
xsltRegisterTmpRVT
xsltSetDebuggerCallbacks
message
xsltMessage
xsltTransformError
messages
XSLT_TRACE
xsltSetGenericDebugFunc
xsltSetGenericErrorFunc
xsltSetTransformErrorFunc
xsltTransformError
method
_xsltStylesheet
might
xsltApplyOneTemplate
xsltRegisterTmpRVT
mille
xsltFormatNumberConversion
milliseconds
xsltTimestamp
mode
XSLT_REFACTORED_KEYCOMP
_xsltCompilerCtxt
_xsltCompilerNodeInfo
_xsltTemplate
_xsltTransformContext
xsltAddTemplate
mode=
xsltGetProfileInformation
models
xsltParseAnyXSLTElem
modified
xsltDocLoaderFunc
xsltGetNamespace
xsltGetSpecialNamespace
xsltLoadStylesheetPI
modules
XSLT_REGISTER_FUNCTION_LOOKUP
XSLT_REGISTER_VARIABLE_LOOKUP
xsltInitCtxtExts
xsltShutdownCtxtExts
xsltShutdownExts
more
xsltEvalOneUserParam
xsltFormatNumberConversion
multiple
_xsltFormatNumberInfo
xsltRunStylesheet
xsltRunStylesheetUser
multiply
xsltFormatNumberConversion
must
xslHandleDebugger
xsltAttrTemplateValueProcess
xsltAttrTemplateValueProcessNode
xsltEvalAVT
xsltEvalAttrValueTemplate
xsltEvalStaticAttrValueTemplate
xsltEvalXPathString
xsltEvalXPathStringNs
xsltStrxfrm

A-I J-S T-a b-c d-e f-g h-i j-m n-o p-p q-s t-u v-x y-z

Daniel Veillard

07070100062417000041ed0000000000000000000000024f25e6a900000000000000b600010002ffffffffffffffff0000003200000000root/usr/local/share/doc/libxslt-1.1.26/html/html0707010006241e000081a40000000000000000000000014f2215440000c1d2000000b600010002ffffffffffffffff0000004a00000000root/usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-extensions.html Module extensions from libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

Module extensions from libxslt

API Menu
Related links
API Indexes

This provide the API needed for simple and module extension support.

Table of Contents

int	xsltCheckExtPrefix		(xsltStylesheetPtr style, 
const xmlChar * URI)
int	xsltCheckExtURI			(xsltStylesheetPtr style, 
const xmlChar * URI)
void	xsltDebugDumpExtensions		(FILE * output)
xsltTransformFunction	xsltExtElementLookup	(xsltTransformContextPtr ctxt, 
const xmlChar * name,
const xmlChar * URI)
Function type: xsltExtInitFunction
void *	xsltExtInitFunction		(xsltTransformContextPtr ctxt, 
const xmlChar * URI)
xsltTransformFunction	xsltExtModuleElementLookup	(const xmlChar * name, 
const xmlChar * URI)
xsltPreComputeFunction	xsltExtModuleElementPreComputeLookup	(const xmlChar * name, 
const xmlChar * URI)
xmlXPathFunction	xsltExtModuleFunctionLookup	(const xmlChar * name, 
const xmlChar * URI)
xsltTopLevelFunction	xsltExtModuleTopLevelLookup	(const xmlChar * name, 
const xmlChar * URI)
Function type: xsltExtShutdownFunction
void	xsltExtShutdownFunction		(xsltTransformContextPtr ctxt, 
const xmlChar * URI,
void * data)
void	xsltFreeCtxtExts		(xsltTransformContextPtr ctxt)
void	xsltFreeExts			(xsltStylesheetPtr style)
void *	xsltGetExtData			(xsltTransformContextPtr ctxt, 
const xmlChar * URI)
xmlHashTablePtr	xsltGetExtInfo		(xsltStylesheetPtr style, 
const xmlChar * URI)
int	xsltInitCtxtExts		(xsltTransformContextPtr ctxt)
void	xsltInitElemPreComp		(xsltElemPreCompPtr comp, 
xsltStylesheetPtr style,
xmlNodePtr inst,
xsltTransformFunction function,
xsltElemPreCompDeallocator freeFunc)
void	xsltInitGlobals			(void)
xsltElemPreCompPtr	xsltNewElemPreComp	(xsltStylesheetPtr style, 
xmlNodePtr inst,
xsltTransformFunction function)
xsltElemPreCompPtr	xsltPreComputeExtModuleElement	(xsltStylesheetPtr style, 
xmlNodePtr inst)
Function type: xsltPreComputeFunction
xsltElemPreCompPtr	xsltPreComputeFunction	(xsltStylesheetPtr style, 
xmlNodePtr inst,
xsltTransformFunction function)
int	xsltRegisterExtElement		(xsltTransformContextPtr ctxt, 
const xmlChar * name,
const xmlChar * URI,
xsltTransformFunction function)
int	xsltRegisterExtFunction		(xsltTransformContextPtr ctxt, 
const xmlChar * name,
const xmlChar * URI,
xmlXPathFunction function)
int	xsltRegisterExtModule		(const xmlChar * URI, 
xsltExtInitFunction initFunc,
xsltExtShutdownFunction shutdownFunc)
int	xsltRegisterExtModuleElement	(const xmlChar * name, 
const xmlChar * URI,
xsltPreComputeFunction precomp,
xsltTransformFunction transform)
int	xsltRegisterExtModuleFull	(const xmlChar * URI, 
xsltExtInitFunction initFunc,
xsltExtShutdownFunction shutdownFunc,
xsltStyleExtInitFunction styleInitFunc,
xsltStyleExtShutdownFunction styleShutdownFunc)
int	xsltRegisterExtModuleFunction	(const xmlChar * name, 
const xmlChar * URI,
xmlXPathFunction function)
int	xsltRegisterExtModuleTopLevel	(const xmlChar * name, 
const xmlChar * URI,
xsltTopLevelFunction function)
int	xsltRegisterExtPrefix		(xsltStylesheetPtr style, 
const xmlChar * prefix,
const xmlChar * URI)
void	xsltRegisterTestModule		(void)
void	xsltShutdownCtxtExts		(xsltTransformContextPtr ctxt)
void	xsltShutdownExts		(xsltStylesheetPtr style)
Function type: xsltStyleExtInitFunction
void *	xsltStyleExtInitFunction	(xsltStylesheetPtr style, 
const xmlChar * URI)
Function type: xsltStyleExtShutdownFunction
void	xsltStyleExtShutdownFunction	(xsltStylesheetPtr style, 
const xmlChar * URI,
void * data)
void *	xsltStyleGetExtData		(xsltStylesheetPtr style, 
const xmlChar * URI)
void *	xsltStyleStylesheetLevelGetExtData	(xsltStylesheetPtr style, 
const xmlChar * URI)
Function type: xsltTopLevelFunction
void	xsltTopLevelFunction		(xsltStylesheetPtr style, 
xmlNodePtr inst)
int	xsltUnregisterExtModule		(const xmlChar * URI)
int	xsltUnregisterExtModuleElement	(const xmlChar * name, 
const xmlChar * URI)
int	xsltUnregisterExtModuleFunction	(const xmlChar * name, 
const xmlChar * URI)
int	xsltUnregisterExtModuleTopLevel	(const xmlChar * name, 
const xmlChar * URI)
xsltTransformContextPtr	xsltXPathGetTransformContext	(xmlXPathParserContextPtr ctxt)

Description

Function: xsltCheckExtPrefix

int	xsltCheckExtPrefix		(xsltStylesheetPtr style, 
const xmlChar * URI)

Check if the given prefix is one of the declared extensions. This is intended to be called only at compile-time. Called by: xsltGetInheritedNsList() (xslt.c) xsltParseTemplateContent (xslt.c)

style:the stylesheet
URI:the namespace prefix (possibly NULL)
Returns:1 if this is an extension, 0 otherwise

Function: xsltCheckExtURI

int	xsltCheckExtURI			(xsltStylesheetPtr style, 
const xmlChar * URI)

Check if the given prefix is one of the declared extensions. This is intended to be called only at compile-time. Called by: xsltPrecomputeStylesheet() (xslt.c) xsltParseTemplateContent (xslt.c)

style:the stylesheet
URI:the namespace URI (possibly NULL)
Returns:1 if this is an extension, 0 otherwise

Function: xsltDebugDumpExtensions

void	xsltDebugDumpExtensions		(FILE * output)

Dumps a list of the registered XSLT extension functions and elements

output:the FILE * for the output, if NULL stdout is used

Function: xsltExtElementLookup

xsltTransformFunction	xsltExtElementLookup	(xsltTransformContextPtr ctxt, 
const xmlChar * name,
const xmlChar * URI)

Looks up an extension element. @ctxt can be NULL to search only in module elements.

ctxt:an XSLT process context
name:the element name
URI:the element namespace URI
Returns:the element callback or NULL if not found

Function type: xsltExtInitFunction

Function type: xsltExtInitFunction
void *	xsltExtInitFunction		(xsltTransformContextPtr ctxt, 
const xmlChar * URI)

A function called at initialization time of an XSLT extension module.

ctxt:an XSLT transformation context
URI:the namespace URI for the extension
Returns:a pointer to the module specific data for this transformation.

Function: xsltExtModuleElementLookup

xsltTransformFunction	xsltExtModuleElementLookup	(const xmlChar * name, 
const xmlChar * URI)

Looks up an extension module element

name:the element name
URI:the element namespace URI
Returns:the callback function if found, NULL otherwise.

Function: xsltExtModuleElementPreComputeLookup

xsltPreComputeFunction	xsltExtModuleElementPreComputeLookup	(const xmlChar * name, 
const xmlChar * URI)

Looks up an extension module element pre-computation function

name:the element name
URI:the element namespace URI
Returns:the callback function if found, NULL otherwise.

Function: xsltExtModuleFunctionLookup

xmlXPathFunction	xsltExtModuleFunctionLookup	(const xmlChar * name, 
const xmlChar * URI)

Looks up an extension module function

name:the function name
URI:the function namespace URI
Returns:the function if found, NULL otherwise.

Function: xsltExtModuleTopLevelLookup

xsltTopLevelFunction	xsltExtModuleTopLevelLookup	(const xmlChar * name, 
const xmlChar * URI)

Looks up an extension module top-level element

name:the top-level element name
URI:the top-level element namespace URI
Returns:the callback function if found, NULL otherwise.

Function type: xsltExtShutdownFunction

Function type: xsltExtShutdownFunction
void	xsltExtShutdownFunction		(xsltTransformContextPtr ctxt, 
const xmlChar * URI,
void * data)

A function called at shutdown time of an XSLT extension module.

ctxt:an XSLT transformation context
URI:the namespace URI for the extension
data:the data associated to this module

Function: xsltFreeCtxtExts

void	xsltFreeCtxtExts		(xsltTransformContextPtr ctxt)

Free the XSLT extension data

ctxt:an XSLT transformation context

Function: xsltFreeExts

void	xsltFreeExts			(xsltStylesheetPtr style)

Free up the memory used by XSLT extensions in a stylesheet

style:an XSLT stylesheet

Function: xsltGetExtData

void *	xsltGetExtData			(xsltTransformContextPtr ctxt, 
const xmlChar * URI)

Retrieve the data associated to the extension module in this given transformation.

ctxt:an XSLT transformation context
URI:the URI associated to the exension module
Returns:the pointer or NULL if not present

Function: xsltGetExtInfo

xmlHashTablePtr	xsltGetExtInfo		(xsltStylesheetPtr style, 
const xmlChar * URI)

looks up URI in extInfos of the stylesheet

style:pointer to a stylesheet
URI:the namespace URI desired
Returns:a pointer to the hash table if found, else NULL

Function: xsltInitCtxtExts

int	xsltInitCtxtExts		(xsltTransformContextPtr ctxt)

Initialize the set of modules with registered stylesheet data

ctxt:an XSLT transformation context
Returns:the number of modules initialized or -1 in case of error

Function: xsltInitElemPreComp

void	xsltInitElemPreComp		(xsltElemPreCompPtr comp, 
xsltStylesheetPtr style,
xmlNodePtr inst,
xsltTransformFunction function,
xsltElemPreCompDeallocator freeFunc)

Initializes an existing #xsltElemPreComp structure. This is usefull when extending an #xsltElemPreComp to store precomputed data. This function MUST be called on any extension element precomputed data struct.

comp:an #xsltElemPreComp (or generally a derived structure)
style:the XSLT stylesheet
inst:the element node
function:the transform function
freeFunc:the @comp deallocator

Function: xsltInitGlobals

void	xsltInitGlobals			(void)

Initialize the global variables for extensions

Function: xsltNewElemPreComp

xsltElemPreCompPtr	xsltNewElemPreComp	(xsltStylesheetPtr style, 
xmlNodePtr inst,
xsltTransformFunction function)

Creates and initializes an #xsltElemPreComp

style:the XSLT stylesheet
inst:the element node
function:the transform function
Returns:the new and initialized #xsltElemPreComp

Function: xsltPreComputeExtModuleElement

xsltElemPreCompPtr	xsltPreComputeExtModuleElement	(xsltStylesheetPtr style, 
xmlNodePtr inst)

Precomputes an extension module element

style:the stylesheet
inst:the element node
Returns:the precomputed data

Function type: xsltPreComputeFunction

Function type: xsltPreComputeFunction
xsltElemPreCompPtr	xsltPreComputeFunction	(xsltStylesheetPtr style, 
xmlNodePtr inst,
xsltTransformFunction function)

style:
inst:
function:
Returns:

Function: xsltRegisterExtElement

int	xsltRegisterExtElement		(xsltTransformContextPtr ctxt, 
const xmlChar * name,
const xmlChar * URI,
xsltTransformFunction function)

Registers an extension element

ctxt:an XSLT transformation context
name:the name of the element
URI:the URI associated to the element
function:the actual implementation which should be called
Returns:0 in case of success, -1 in case of failure

Function: xsltRegisterExtFunction

int	xsltRegisterExtFunction		(xsltTransformContextPtr ctxt, 
const xmlChar * name,
const xmlChar * URI,
xmlXPathFunction function)

Registers an extension function

ctxt:an XSLT transformation context
name:the name of the element
URI:the URI associated to the element
function:the actual implementation which should be called
Returns:0 in case of success, -1 in case of failure

Function: xsltRegisterExtModule

int	xsltRegisterExtModule		(const xmlChar * URI, 
xsltExtInitFunction initFunc,
xsltExtShutdownFunction shutdownFunc)

Register an XSLT extension module to the library.

URI:URI associated to this module
initFunc:the module initialization function
shutdownFunc:the module shutdown function
Returns:0 if sucessful, -1 in case of error

Function: xsltRegisterExtModuleElement

int	xsltRegisterExtModuleElement	(const xmlChar * name, 
const xmlChar * URI,
xsltPreComputeFunction precomp,
xsltTransformFunction transform)

Registers an extension module element.

name:the element name
URI:the element namespace URI
precomp:the pre-computation callback
transform:the transformation callback
Returns:0 if successful, -1 in case of error.

Function: xsltRegisterExtModuleFull

int	xsltRegisterExtModuleFull	(const xmlChar * URI, 
xsltExtInitFunction initFunc,
xsltExtShutdownFunction shutdownFunc,
xsltStyleExtInitFunction styleInitFunc,
xsltStyleExtShutdownFunction styleShutdownFunc)

Register an XSLT extension module to the library.

URI:URI associated to this module
initFunc:the module initialization function
shutdownFunc:the module shutdown function
styleInitFunc:the module initialization function
styleShutdownFunc:the module shutdown function
Returns:0 if sucessful, -1 in case of error

Function: xsltRegisterExtModuleFunction

int	xsltRegisterExtModuleFunction	(const xmlChar * name, 
const xmlChar * URI,
xmlXPathFunction function)

Registers an extension module function.

name:the function name
URI:the function namespace URI
function:the function callback
Returns:0 if successful, -1 in case of error.

Function: xsltRegisterExtModuleTopLevel

int	xsltRegisterExtModuleTopLevel	(const xmlChar * name, 
const xmlChar * URI,
xsltTopLevelFunction function)

Registers an extension module top-level element.

name:the top-level element name
URI:the top-level element namespace URI
function:the top-level element callback
Returns:0 if successful, -1 in case of error.

Function: xsltRegisterExtPrefix

int	xsltRegisterExtPrefix		(xsltStylesheetPtr style, 
const xmlChar * prefix,
const xmlChar * URI)

Registers an extension namespace This is called from xslt.c during compile-time. The given prefix is not needed. Called by: xsltParseExtElemPrefixes() (new function) xsltRegisterExtPrefix() (old function)

style:an XSLT stylesheet
prefix:the prefix used (optional)
URI:the URI associated to the extension
Returns:0 in case of success, 1 if the @URI was already registered as an extension namespace and -1 in case of failure

Function: xsltRegisterTestModule

void	xsltRegisterTestModule		(void)

Registers the test module

Function: xsltShutdownCtxtExts

void	xsltShutdownCtxtExts		(xsltTransformContextPtr ctxt)

Shutdown the set of modules loaded

ctxt:an XSLT transformation context

Function: xsltShutdownExts

void	xsltShutdownExts		(xsltStylesheetPtr style)

Shutdown the set of modules loaded

style:an XSLT stylesheet

Function type: xsltStyleExtInitFunction

Function type: xsltStyleExtInitFunction
void *	xsltStyleExtInitFunction	(xsltStylesheetPtr style, 
const xmlChar * URI)

A function called at initialization time of an XSLT extension module.

style:
URI:the namespace URI for the extension
Returns:a pointer to the module specific data for this transformation.

Function type: xsltStyleExtShutdownFunction

Function type: xsltStyleExtShutdownFunction
void	xsltStyleExtShutdownFunction	(xsltStylesheetPtr style, 
const xmlChar * URI,
void * data)

A function called at shutdown time of an XSLT extension module.

style:
URI:the namespace URI for the extension
data:the data associated to this module

Function: xsltStyleGetExtData

void *	xsltStyleGetExtData		(xsltStylesheetPtr style, 
const xmlChar * URI)

Retrieve the data associated to the extension module in this given stylesheet. Called by: xsltRegisterExtPrefix(), ( xsltExtElementPreCompTest(), xsltExtInitTest )

style:an XSLT stylesheet
URI:the URI associated to the exension module
Returns:the pointer or NULL if not present

Function: xsltStyleStylesheetLevelGetExtData

void *	xsltStyleStylesheetLevelGetExtData	(xsltStylesheetPtr style, 
const xmlChar * URI)

Retrieve the data associated to the extension module in this given stylesheet.

style:an XSLT stylesheet
URI:the URI associated to the exension module
Returns:the pointer or NULL if not present

Function type: xsltTopLevelFunction

Function type: xsltTopLevelFunction
void	xsltTopLevelFunction		(xsltStylesheetPtr style, 
xmlNodePtr inst)

style:
inst:

Function: xsltUnregisterExtModule

int	xsltUnregisterExtModule		(const xmlChar * URI)

Unregister an XSLT extension module from the library.

URI:URI associated to this module
Returns:0 if sucessful, -1 in case of error

Function: xsltUnregisterExtModuleElement

int	xsltUnregisterExtModuleElement	(const xmlChar * name, 
const xmlChar * URI)

Unregisters an extension module element

name:the element name
URI:the element namespace URI
Returns:0 if successful, -1 in case of error.

Function: xsltUnregisterExtModuleFunction

int	xsltUnregisterExtModuleFunction	(const xmlChar * name, 
const xmlChar * URI)

Unregisters an extension module function

name:the function name
URI:the function namespace URI
Returns:0 if successful, -1 in case of error.

Function: xsltUnregisterExtModuleTopLevel

int	xsltUnregisterExtModuleTopLevel	(const xmlChar * name, 
const xmlChar * URI)

Unregisters an extension module top-level element

name:the top-level element name
URI:the top-level element namespace URI
Returns:0 if successful, -1 in case of error.

Function: xsltXPathGetTransformContext

xsltTransformContextPtr	xsltXPathGetTransformContext	(xmlXPathParserContextPtr ctxt)

Provides the XSLT transformation context from the XPath transformation context. This is useful when an XPath function in the extension module is called by the XPath interpreter and that the XSLT context is needed for example to retrieve the associated data pertaining to this XSLT transformation.

ctxt:an XPath transformation context
Returns:the XSLT transformation context or NULL in case of error.

Daniel Veillard

07070100062420000081a40000000000000000000000014f221544000036ce000000b600010002ffffffffffffffff0000004900000000root/usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-functions.html Module functions from libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

Module functions from libxslt

API Menu
Related links
API Indexes

a set of extra functions coming from XSLT but not in XPath

Table of Contents

#define XSLT_REGISTER_FUNCTION_LOOKUP
void	xsltDocumentFunction		(xmlXPathParserContextPtr ctxt, 
int nargs)
void	xsltElementAvailableFunction	(xmlXPathParserContextPtr ctxt, 
int nargs)
void	xsltFormatNumberFunction	(xmlXPathParserContextPtr ctxt, 
int nargs)
void	xsltFunctionAvailableFunction	(xmlXPathParserContextPtr ctxt, 
int nargs)
void	xsltGenerateIdFunction		(xmlXPathParserContextPtr ctxt, 
int nargs)
void	xsltKeyFunction			(xmlXPathParserContextPtr ctxt, 
int nargs)
void	xsltRegisterAllFunctions	(xmlXPathContextPtr ctxt)
void	xsltSystemPropertyFunction	(xmlXPathParserContextPtr ctxt, 
int nargs)
void	xsltUnparsedEntityURIFunction	(xmlXPathParserContextPtr ctxt, 
int nargs)
xmlXPathFunction	xsltXPathFunctionLookup	(xmlXPathContextPtr ctxt, 
const xmlChar * name,
const xmlChar * ns_uri)

Description

Macro: XSLT_REGISTER_FUNCTION_LOOKUP

#define XSLT_REGISTER_FUNCTION_LOOKUP

Registering macro, not general purpose at all but used in different modules.

Function: xsltDocumentFunction

void	xsltDocumentFunction		(xmlXPathParserContextPtr ctxt, 
int nargs)

Implement the document() XSLT function node-set document(object, node-set?)

ctxt:the XPath Parser context
nargs:the number of arguments

Function: xsltElementAvailableFunction

void	xsltElementAvailableFunction	(xmlXPathParserContextPtr ctxt, 
int nargs)

Implement the element-available() XSLT function boolean element-available(string)

ctxt:the XPath Parser context
nargs:the number of arguments

Function: xsltFormatNumberFunction

void	xsltFormatNumberFunction	(xmlXPathParserContextPtr ctxt, 
int nargs)

Implement the format-number() XSLT function string format-number(number, string, string?)

ctxt:the XPath Parser context
nargs:the number of arguments

Function: xsltFunctionAvailableFunction

void	xsltFunctionAvailableFunction	(xmlXPathParserContextPtr ctxt, 
int nargs)

Implement the function-available() XSLT function boolean function-available(string)

ctxt:the XPath Parser context
nargs:the number of arguments

Function: xsltGenerateIdFunction

void	xsltGenerateIdFunction		(xmlXPathParserContextPtr ctxt, 
int nargs)

Implement the generate-id() XSLT function string generate-id(node-set?)

ctxt:the XPath Parser context
nargs:the number of arguments

Function: xsltKeyFunction

void	xsltKeyFunction			(xmlXPathParserContextPtr ctxt, 
int nargs)

Implement the key() XSLT function node-set key(string, object)

ctxt:the XPath Parser context
nargs:the number of arguments

Function: xsltRegisterAllFunctions

void	xsltRegisterAllFunctions	(xmlXPathContextPtr ctxt)

Registers all default XSLT functions in this context

ctxt:the XPath context

Function: xsltSystemPropertyFunction

void	xsltSystemPropertyFunction	(xmlXPathParserContextPtr ctxt, 
int nargs)

Implement the system-property() XSLT function object system-property(string)

ctxt:the XPath Parser context
nargs:the number of arguments

Function: xsltUnparsedEntityURIFunction

void	xsltUnparsedEntityURIFunction	(xmlXPathParserContextPtr ctxt, 
int nargs)

Implement the unparsed-entity-uri() XSLT function string unparsed-entity-uri(string)

ctxt:the XPath Parser context
nargs:the number of arguments

Function: xsltXPathFunctionLookup

xmlXPathFunction	xsltXPathFunctionLookup	(xmlXPathContextPtr ctxt, 
const xmlChar * name,
const xmlChar * ns_uri)

This is the entry point when a function is needed by the XPath interpretor.

ctxt:a void * but the XSLT transformation context actually
name:the function name
ns_uri:the function namespace URI
Returns:the callback function or NULL if not found

Daniel Veillard

07070100062430000081a40000000000000000000000014f2215440000c20c000000b600010002ffffffffffffffff0000004900000000root/usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-xsltutils.html Module xsltutils from libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

Module xsltutils from libxslt

API Menu
Related links
API Indexes

interfaces for the utilities module of the XSLT engine. things like message handling, profiling, and other generally useful routines.

Table of Contents

#define IS_XSLT_ELEM
#define IS_XSLT_NAME
#define IS_XSLT_REAL_NODE
#define XSLT_STRANGE
#define XSLT_TIMESTAMP_TICS_PER_SEC
#define XSLT_TODO
#define XSLT_TRACE
Enum xsltDebugStatusCodes
Enum xsltDebugTraceCodes
int	xslAddCall			(xsltTemplatePtr templ, 
xmlNodePtr source)
void	xslDropCall			(void)
Function type: xsltAddCallCallback
int	xsltAddCallCallback		(xsltTemplatePtr templ, 
xmlNodePtr source)
void	xsltCalibrateAdjust		(long delta)
xmlXPathObjectPtr *	xsltComputeSortResult	(xsltTransformContextPtr ctxt, 
xmlNodePtr sort)
xsltDebugTraceCodes	xsltDebugGetDefaultTrace	(void)
void	xsltDebugSetDefaultTrace	(xsltDebugTraceCodes val)
void	xsltDefaultSortFunction		(xsltTransformContextPtr ctxt, 
xmlNodePtr * sorts,
int nbsorts)
void	xsltDoSortFunction		(xsltTransformContextPtr ctxt, 
xmlNodePtr * sorts,
int nbsorts)
void	xsltDocumentSortFunction	(xmlNodeSetPtr list)
Function type: xsltDropCallCallback
void	xsltDropCallCallback		(void)
const xmlChar *	xsltGetCNsProp		(xsltStylesheetPtr style, 
xmlNodePtr node,
const xmlChar * name,
const xmlChar * nameSpace)
int	xsltGetDebuggerStatus		(void)
xmlChar *	xsltGetNsProp		(xmlNodePtr node, 
const xmlChar * name,
const xmlChar * nameSpace)
xmlDocPtr	xsltGetProfileInformation	(xsltTransformContextPtr ctxt)
const xmlChar *	xsltGetQNameURI		(xmlNodePtr node, 
xmlChar ** name)
const xmlChar *	xsltGetQNameURI2	(xsltStylesheetPtr style, 
xmlNodePtr node,
const xmlChar ** name)
int	xsltGetUTF8Char			(const unsigned char * utf, 
int * len)
Function type: xsltHandleDebuggerCallback
void	xsltHandleDebuggerCallback	(xmlNodePtr cur, 
xmlNodePtr node,
xsltTemplatePtr templ,
xsltTransformContextPtr ctxt)
void	xsltMessage			(xsltTransformContextPtr ctxt, 
xmlNodePtr node,
xmlNodePtr inst)
void	xsltPrintErrorContext		(xsltTransformContextPtr ctxt, 
xsltStylesheetPtr style,
xmlNodePtr node)
void	xsltSaveProfiling		(xsltTransformContextPtr ctxt, 
FILE * output)
int	xsltSaveResultTo		(xmlOutputBufferPtr buf, 
xmlDocPtr result,
xsltStylesheetPtr style)
int	xsltSaveResultToFd		(int fd, 
xmlDocPtr result,
xsltStylesheetPtr style)
int	xsltSaveResultToFile		(FILE * file, 
xmlDocPtr result,
xsltStylesheetPtr style)
int	xsltSaveResultToFilename	(const char * URL, 
xmlDocPtr result,
xsltStylesheetPtr style,
int compression)
int	xsltSaveResultToString		(xmlChar ** doc_txt_ptr, 
int * doc_txt_len,
xmlDocPtr result,
xsltStylesheetPtr style)
int	xsltSetCtxtParseOptions		(xsltTransformContextPtr ctxt, 
int options)
void	xsltSetCtxtSortFunc		(xsltTransformContextPtr ctxt, 
xsltSortFunc handler)
int	xsltSetDebuggerCallbacks	(int no, 
void * block)
void	xsltSetDebuggerStatus		(int value)
void	xsltSetGenericDebugFunc		(void * ctx, 
xmlGenericErrorFunc handler)
void	xsltSetGenericErrorFunc		(void * ctx, 
xmlGenericErrorFunc handler)
void	xsltSetSortFunc			(xsltSortFunc handler)
void	xsltSetTransformErrorFunc	(xsltTransformContextPtr ctxt, 
void * ctx,
xmlGenericErrorFunc handler)
const xmlChar *	xsltSplitQName		(xmlDictPtr dict, 
const xmlChar * name,
const xmlChar ** prefix)
long	xsltTimestamp			(void)
void	xsltTransformError		(xsltTransformContextPtr ctxt, 
xsltStylesheetPtr style,
xmlNodePtr node,
const char * msg,
... ...)
xmlXPathCompExprPtr	xsltXPathCompile	(xsltStylesheetPtr style, 
const xmlChar * str)

Description

Macro: IS_XSLT_ELEM

#define IS_XSLT_ELEM

Checks that the element pertains to XSLT namespace.

Macro: IS_XSLT_NAME

#define IS_XSLT_NAME

Checks the value of an element in XSLT namespace.

Macro: IS_XSLT_REAL_NODE

#define IS_XSLT_REAL_NODE

Check that a node is a 'real' one: document, element, text or attribute.

Macro: XSLT_STRANGE

#define XSLT_STRANGE

Macro to flag that a problem was detected internally.

Macro: XSLT_TIMESTAMP_TICS_PER_SEC

#define XSLT_TIMESTAMP_TICS_PER_SEC

Sampling precision for profiling

Macro: XSLT_TODO

#define XSLT_TODO

Macro to flag unimplemented blocks.

Macro: XSLT_TRACE

#define XSLT_TRACE

Control the type of xsl debugtrace messages emitted.

Enum xsltDebugStatusCodes

Enum xsltDebugStatusCodes {
    XSLT_DEBUG_NONE = 0 : no debugging allowed
    XSLT_DEBUG_INIT = 1
    XSLT_DEBUG_STEP = 2
    XSLT_DEBUG_STEPOUT = 3
    XSLT_DEBUG_NEXT = 4
    XSLT_DEBUG_STOP = 5
    XSLT_DEBUG_CONT = 6
    XSLT_DEBUG_RUN = 7
    XSLT_DEBUG_RUN_RESTART = 8
    XSLT_DEBUG_QUIT = 9
}

Enum xsltDebugTraceCodes

Enum xsltDebugTraceCodes {
    XSLT_TRACE_ALL = -1
    XSLT_TRACE_NONE = 0
    XSLT_TRACE_COPY_TEXT = 1
    XSLT_TRACE_PROCESS_NODE = 2
    XSLT_TRACE_APPLY_TEMPLATE = 4
    XSLT_TRACE_COPY = 8
    XSLT_TRACE_COMMENT = 16
    XSLT_TRACE_PI = 32
    XSLT_TRACE_COPY_OF = 64
    XSLT_TRACE_VALUE_OF = 128
    XSLT_TRACE_CALL_TEMPLATE = 256
    XSLT_TRACE_APPLY_TEMPLATES = 512
    XSLT_TRACE_CHOOSE = 1024
    XSLT_TRACE_IF = 2048
    XSLT_TRACE_FOR_EACH = 4096
    XSLT_TRACE_STRIP_SPACES = 8192
    XSLT_TRACE_TEMPLATES = 16384
    XSLT_TRACE_KEYS = 32768
    XSLT_TRACE_VARIABLES = 65536
}

Function: xslAddCall

int	xslAddCall			(xsltTemplatePtr templ, 
xmlNodePtr source)

Add template "call" to call stack

templ:current template being applied
source:the source node being processed
Returns:: 1 on sucess 0 otherwise an error may be printed if WITH_XSLT_DEBUG_BREAKPOINTS is defined

Function: xslDropCall

void	xslDropCall			(void)

Drop the topmost item off the call stack

Function type: xsltAddCallCallback

Function type: xsltAddCallCallback
int	xsltAddCallCallback		(xsltTemplatePtr templ, 
xmlNodePtr source)

templ:
source:
Returns:

Function: xsltCalibrateAdjust

void	xsltCalibrateAdjust		(long delta)

Used for to correct the calibration for xsltTimestamp()

delta:a negative dealy value found

Function: xsltComputeSortResult

xmlXPathObjectPtr *	xsltComputeSortResult	(xsltTransformContextPtr ctxt, 
xmlNodePtr sort)

reorder the current node list accordingly to the set of sorting requirement provided by the array of nodes.

ctxt:a XSLT process context
sort:node list
Returns:a ordered XPath nodeset or NULL in case of error.

Function: xsltDebugGetDefaultTrace

xsltDebugTraceCodes	xsltDebugGetDefaultTrace	(void)

Get the current default debug tracing level mask

Returns:the current default debug tracing level mask

Function: xsltDebugSetDefaultTrace

void	xsltDebugSetDefaultTrace	(xsltDebugTraceCodes val)

Set the default debug tracing level mask

val:tracing level mask

Function: xsltDefaultSortFunction

void	xsltDefaultSortFunction		(xsltTransformContextPtr ctxt, 
xmlNodePtr * sorts,
int nbsorts)

reorder the current node list accordingly to the set of sorting requirement provided by the arry of nodes.

ctxt:a XSLT process context
sorts:array of sort nodes
nbsorts:the number of sorts in the array

Function: xsltDoSortFunction

void	xsltDoSortFunction		(xsltTransformContextPtr ctxt, 
xmlNodePtr * sorts,
int nbsorts)

reorder the current node list accordingly to the set of sorting requirement provided by the arry of nodes. This is a wrapper function, the actual function used is specified using xsltSetCtxtSortFunc() to set the context specific sort function, or xsltSetSortFunc() to set the global sort function. If a sort function is set on the context, this will get called. Otherwise the global sort function is called.

ctxt:a XSLT process context
sorts:array of sort nodes
nbsorts:the number of sorts in the array

Function: xsltDocumentSortFunction

void	xsltDocumentSortFunction	(xmlNodeSetPtr list)

reorder the current node list @list accordingly to the document order This function is slow, obsolete and should not be used anymore.

list:the node set

Function type: xsltDropCallCallback

Function type: xsltDropCallCallback
void	xsltDropCallCallback		(void)


Function: xsltGetCNsProp

const xmlChar *	xsltGetCNsProp		(xsltStylesheetPtr style, 
xmlNodePtr node,
const xmlChar * name,
const xmlChar * nameSpace)

Similar to xmlGetNsProp() but with a slightly different semantic Search and get the value of an attribute associated to a node This attribute has to be anchored in the namespace specified, or has no namespace and the element is in that namespace. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off.

style:the stylesheet
node:the node
name:the attribute name
nameSpace:the URI of the namespace
Returns:the attribute value or NULL if not found. The string is allocated in the stylesheet dictionary.

Function: xsltGetDebuggerStatus

int	xsltGetDebuggerStatus		(void)

Get xslDebugStatus.

Returns:the value of xslDebugStatus.

Function: xsltGetNsProp

xmlChar *	xsltGetNsProp		(xmlNodePtr node, 
const xmlChar * name,
const xmlChar * nameSpace)

Similar to xmlGetNsProp() but with a slightly different semantic Search and get the value of an attribute associated to a node This attribute has to be anchored in the namespace specified, or has no namespace and the element is in that namespace. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off.

node:the node
name:the attribute name
nameSpace:the URI of the namespace
Returns:the attribute value or NULL if not found. It's up to the caller to free the memory.

Function: xsltGetProfileInformation

xmlDocPtr	xsltGetProfileInformation	(xsltTransformContextPtr ctxt)

This function should be called after the transformation completed to extract template processing profiling informations if availble. The informations are returned as an XML document tree like <?xml version="1.0"?> <profile> <template rank="1" match="*" name="" mode="" calls="6" time="48" average="8"/> <template rank="2" match="item2|item3" name="" mode="" calls="10" time="30" average="3"/> <template rank="3" match="item1" name="" mode="" calls="5" time="17" average="3"/> </profile> The caller will need to free up the returned tree with xmlFreeDoc()

ctxt:a transformation context
Returns:the xmlDocPtr corresponding to the result or NULL if not available.

Function: xsltGetQNameURI

const xmlChar *	xsltGetQNameURI		(xmlNodePtr node, 
xmlChar ** name)

This function analyzes @name, if the name contains a prefix, the function seaches the associated namespace in scope for it. It will also replace @name value with the NCName, the old value being freed. Errors in the prefix lookup are signalled by setting @name to NULL. NOTE: the namespace returned is a pointer to the place where it is defined and hence has the same lifespan as the document holding it.

node:the node holding the QName
name:pointer to the initial QName value
Returns:the namespace URI if there is a prefix, or NULL if @name is not prefixed.

Function: xsltGetQNameURI2

const xmlChar *	xsltGetQNameURI2	(xsltStylesheetPtr style, 
xmlNodePtr node,
const xmlChar ** name)

This function is similar to xsltGetQNameURI, but is used when @name is a dictionary entry.

style:stylesheet pointer
node:the node holding the QName
name:pointer to the initial QName value
Returns:the namespace URI if there is a prefix, or NULL if @name is not prefixed.

Function: xsltGetUTF8Char

int	xsltGetUTF8Char			(const unsigned char * utf, 
int * len)

Read one UTF8 Char from @utf Function copied from libxml2 xmlGetUTF8Char() ... to discard ultimately and use the original API

utf:a sequence of UTF-8 encoded bytes
len:a pointer to @bytes len
Returns:the char value or -1 in case of error and update @len with the number of bytes used

Function type: xsltHandleDebuggerCallback

Function type: xsltHandleDebuggerCallback
void	xsltHandleDebuggerCallback	(xmlNodePtr cur, 
xmlNodePtr node,
xsltTemplatePtr templ,
xsltTransformContextPtr ctxt)

cur:
node:
templ:
ctxt:

Function: xsltMessage

void	xsltMessage			(xsltTransformContextPtr ctxt, 
xmlNodePtr node,
xmlNodePtr inst)

Process and xsl:message construct

ctxt:an XSLT processing context
node:The current node
inst:The node containing the message instruction

Function: xsltPrintErrorContext

void	xsltPrintErrorContext		(xsltTransformContextPtr ctxt, 
xsltStylesheetPtr style,
xmlNodePtr node)

Display the context of an error.

ctxt:the transformation context
style:the stylesheet
node:the current node being processed

Function: xsltSaveProfiling

void	xsltSaveProfiling		(xsltTransformContextPtr ctxt, 
FILE * output)

Save the profiling informations on @output

ctxt:an XSLT context
output:a FILE * for saving the informations

Function: xsltSaveResultTo

int	xsltSaveResultTo		(xmlOutputBufferPtr buf, 
xmlDocPtr result,
xsltStylesheetPtr style)

Save the result @result obtained by applying the @style stylesheet to an I/O output channel @buf

buf:an output buffer
result:the result xmlDocPtr
style:the stylesheet
Returns:the number of byte written or -1 in case of failure.

Function: xsltSaveResultToFd

int	xsltSaveResultToFd		(int fd, 
xmlDocPtr result,
xsltStylesheetPtr style)

Save the result @result obtained by applying the @style stylesheet to an open file descriptor This does not close the descriptor.

fd:a file descriptor
result:the result xmlDocPtr
style:the stylesheet
Returns:the number of bytes written or -1 in case of failure.

Function: xsltSaveResultToFile

int	xsltSaveResultToFile		(FILE * file, 
xmlDocPtr result,
xsltStylesheetPtr style)

Save the result @result obtained by applying the @style stylesheet to an open FILE * I/O. This does not close the FILE @file

file:a FILE * I/O
result:the result xmlDocPtr
style:the stylesheet
Returns:the number of bytes written or -1 in case of failure.

Function: xsltSaveResultToFilename

int	xsltSaveResultToFilename	(const char * URL, 
xmlDocPtr result,
xsltStylesheetPtr style,
int compression)

Save the result @result obtained by applying the @style stylesheet to a file or @URL

URL:a filename or URL
result:the result xmlDocPtr
style:the stylesheet
compression:the compression factor (0 - 9 included)
Returns:the number of byte written or -1 in case of failure.

Function: xsltSaveResultToString

int	xsltSaveResultToString		(xmlChar ** doc_txt_ptr, 
int * doc_txt_len,
xmlDocPtr result,
xsltStylesheetPtr style)

Save the result @result obtained by applying the @style stylesheet to a new allocated string.

doc_txt_ptr:Memory pointer for allocated XML text
doc_txt_len:Length of the generated XML text
result:the result xmlDocPtr
style:the stylesheet
Returns:0 in case of success and -1 in case of error

Function: xsltSetCtxtParseOptions

int	xsltSetCtxtParseOptions		(xsltTransformContextPtr ctxt, 
int options)

Change the default parser option passed by the XSLT engine to the parser when using document() loading.

ctxt:a XSLT process context
options:a combination of libxml2 xmlParserOption
Returns:the previous options or -1 in case of error

Function: xsltSetCtxtSortFunc

void	xsltSetCtxtSortFunc		(xsltTransformContextPtr ctxt, 
xsltSortFunc handler)

Function to set the handler for XSLT sorting for the specified context. If the handler is NULL, then the global sort function will be called

ctxt:a XSLT process context
handler:the new handler function

Function: xsltSetDebuggerCallbacks

int	xsltSetDebuggerCallbacks	(int no, 
void * block)

This function allow to plug a debugger into the XSLT library @block points to a block of memory containing the address of @no callback routines.

no:number of callbacks
block:the block of callbacks
Returns:0 in case of success and -1 in case of error

Function: xsltSetDebuggerStatus

void	xsltSetDebuggerStatus		(int value)

This function sets the value of xslDebugStatus.

value:the value to be set

Function: xsltSetGenericDebugFunc

void	xsltSetGenericDebugFunc		(void * ctx, 
xmlGenericErrorFunc handler)

Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing or validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL.

ctx:the new error handling context
handler:the new handler function

Function: xsltSetGenericErrorFunc

void	xsltSetGenericErrorFunc		(void * ctx, 
xmlGenericErrorFunc handler)

Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL.

ctx:the new error handling context
handler:the new handler function

Function: xsltSetSortFunc

void	xsltSetSortFunc			(xsltSortFunc handler)

Function to reset the global handler for XSLT sorting. If the handler is NULL, the default sort function will be used.

handler:the new handler function

Function: xsltSetTransformErrorFunc

void	xsltSetTransformErrorFunc	(xsltTransformContextPtr ctxt, 
void * ctx,
xmlGenericErrorFunc handler)

Function to reset the handler and the error context for out of context error messages specific to a given XSLT transromation. This simply means that @handler will be called for subsequent error messages while running the transformation.

ctxt:the XSLT transformation context
ctx:the new error handling context
handler:the new handler function

Function: xsltSplitQName

const xmlChar *	xsltSplitQName		(xmlDictPtr dict, 
const xmlChar * name,
const xmlChar ** prefix)

Split QNames into prefix and local names, both allocated from a dictionary.

dict:a dictionary
name:the full QName
prefix:the return value
Returns:the localname or NULL in case of error.

Function: xsltTimestamp

long	xsltTimestamp			(void)

Used for gathering profiling data

Returns:the number of tenth of milliseconds since the beginning of the profiling

Function: xsltTransformError

void	xsltTransformError		(xsltTransformContextPtr ctxt, 
xsltStylesheetPtr style,
xmlNodePtr node,
const char * msg,
... ...)

Display and format an error messages, gives file, line, position and extra parameters, will use the specific transformation context if available

ctxt:an XSLT transformation context
style:the XSLT stylesheet used
node:the current node in the stylesheet
msg:the message to display/transmit
...:extra parameters for the message display

Function: xsltXPathCompile

xmlXPathCompExprPtr	xsltXPathCompile	(xsltStylesheetPtr style, 
const xmlChar * str)

Compile an XPath expression

style:the stylesheet
str:the XPath expression
Returns:the xmlXPathCompExprPtr resulting from the compilation or NULL. the caller has to free the object.

Daniel Veillard

07070100062426000081a40000000000000000000000014f22154400004142000000b600010002ffffffffffffffff0000004700000000root/usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-pattern.html Module pattern from libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

Module pattern from libxslt

API Menu
Related links
API Indexes

the implementation of the lookup of the right template for a given node must be really fast in order to keep decent performances.

Table of Contents

Structure xsltCompMatch
struct _xsltCompMatch The content of this structure is not made public by the API.
Typedef xsltCompMatch * xsltCompMatchPtr
int	xsltAddTemplate			(xsltStylesheetPtr style, 
xsltTemplatePtr cur,
const xmlChar * mode,
const xmlChar * modeURI)
void	xsltCleanupTemplates		(xsltStylesheetPtr style)
xsltCompMatchPtr	xsltCompilePattern	(const xmlChar * pattern, 
xmlDocPtr doc,
xmlNodePtr node,
xsltStylesheetPtr style,
xsltTransformContextPtr runtime)
void	xsltFreeCompMatchList		(xsltCompMatchPtr comp)
void	xsltFreeTemplateHashes		(xsltStylesheetPtr style)
xsltTemplatePtr	xsltGetTemplate		(xsltTransformContextPtr ctxt, 
xmlNodePtr node,
xsltStylesheetPtr style)
int	xsltMatchPattern		(xsltTransformContextPtr ctxt, 
xmlNodePtr node,
const xmlChar * pattern,
xmlDocPtr ctxtdoc,
xmlNodePtr ctxtnode)
void	xsltNormalizeCompSteps		(void * payload, 
void * data,
const xmlChar * name)
int	xsltTestCompMatchList		(xsltTransformContextPtr ctxt, 
xmlNodePtr node,
xsltCompMatchPtr comp)

Description

Structure xsltCompMatch

Structure xsltCompMatch
struct _xsltCompMatch { The content of this structure is not made public by the API. }

Function: xsltAddTemplate

int	xsltAddTemplate			(xsltStylesheetPtr style, 
xsltTemplatePtr cur,
const xmlChar * mode,
const xmlChar * modeURI)

Register the XSLT pattern associated to @cur

style:an XSLT stylesheet
cur:an XSLT template
mode:the mode name or NULL
modeURI:the mode URI or NULL
Returns:-1 in case of error, 0 otherwise

Function: xsltCleanupTemplates

void	xsltCleanupTemplates		(xsltStylesheetPtr style)

Cleanup the state of the templates used by the stylesheet and the ones it imports.

style:an XSLT stylesheet

Function: xsltCompilePattern

xsltCompMatchPtr	xsltCompilePattern	(const xmlChar * pattern, 
xmlDocPtr doc,
xmlNodePtr node,
xsltStylesheetPtr style,
xsltTransformContextPtr runtime)

Compile the XSLT pattern and generates a list of precompiled form suitable for fast matching. [1] Pattern ::= LocationPathPattern | Pattern '|' LocationPathPattern

pattern:an XSLT pattern
doc:the containing document
node:the containing element
style:the stylesheet
runtime:the transformation context, if done at run-time
Returns:the generated pattern list or NULL in case of failure

Function: xsltFreeCompMatchList

void	xsltFreeCompMatchList		(xsltCompMatchPtr comp)

Free up the memory allocated by all the elements of @comp

comp:an XSLT comp list

Function: xsltFreeTemplateHashes

void	xsltFreeTemplateHashes		(xsltStylesheetPtr style)

Free up the memory used by xsltAddTemplate/xsltGetTemplate mechanism

style:an XSLT stylesheet

Function: xsltGetTemplate

xsltTemplatePtr	xsltGetTemplate		(xsltTransformContextPtr ctxt, 
xmlNodePtr node,
xsltStylesheetPtr style)

Finds the template applying to this node, if @style is non-NULL it means one needs to look for the next imported template in scope.

ctxt:a XSLT process context
node:the node being processed
style:the current style
Returns:the xsltTemplatePtr or NULL if not found

Function: xsltMatchPattern

int	xsltMatchPattern		(xsltTransformContextPtr ctxt, 
xmlNodePtr node,
const xmlChar * pattern,
xmlDocPtr ctxtdoc,
xmlNodePtr ctxtnode)

ctxt:
node:
pattern:
ctxtdoc:
ctxtnode:
Returns:

Function: xsltNormalizeCompSteps

void	xsltNormalizeCompSteps		(void * payload, 
void * data,
const xmlChar * name)

This is a hashtable scanner function to normalize the compiled steps of an imported stylesheet.

payload:pointer to template hash table entry
data:pointer to the stylesheet
name:template match name

Function: xsltTestCompMatchList

int	xsltTestCompMatchList		(xsltTransformContextPtr ctxt, 
xmlNodePtr node,
xsltCompMatchPtr comp)

Test whether the node matches one of the patterns in the list

ctxt:a XSLT process context
node:a node
comp:the precompiled pattern list
Returns:1 if it matches, 0 if it doesn't and -1 in case of failure

Daniel Veillard

07070100062418000081a40000000000000000000000014f22154400001aa5000000b600010002ffffffffffffffff0000003d00000000root/usr/local/share/doc/libxslt-1.1.26/html/html/book1.html Reference Manual for libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

Reference Manual for libxslt

API Menu
Related links
API Indexes

Table of Contents

  • attributes: interface for the XSLT attribute handling
  • documents: interface for the document handling
  • extensions: interface for the extension support
  • extra: interface for the non-standard features
  • functions: interface for the XSLT functions not from XPath
  • imports: interface for the XSLT import support
  • keys: interface for the key matching used in key() and template matches.
  • namespaces: interface for the XSLT namespace handling
  • numbersInternals: Implementation of the XSLT number functions
  • pattern: interface for the pattern matching used in template matches.
  • preproc: precomputing stylesheets
  • security: interface for the libxslt security framework
  • templates: interface for the template processing
  • transform: the XSLT engine transformation part.
  • variables: interface for the variable matching and lookup.
  • xslt: Interfaces, constants and types related to the XSLT engine
  • xsltInternals: internal data structures, constants and functions
  • xsltexports: macros for marking symbols as exportable/importable.
  • xsltlocale: Locale handling
  • xsltutils: set of utilities for the XSLT engine

Daniel Veillard

0707010006241a000081a40000000000000000000000014f22154400001aa5000000b600010002ffffffffffffffff0000003d00000000root/usr/local/share/doc/libxslt-1.1.26/html/html/index.html Reference Manual for libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

Reference Manual for libxslt

API Menu
Related links
API Indexes

Table of Contents

  • attributes: interface for the XSLT attribute handling
  • documents: interface for the document handling
  • extensions: interface for the extension support
  • extra: interface for the non-standard features
  • functions: interface for the XSLT functions not from XPath
  • imports: interface for the XSLT import support
  • keys: interface for the key matching used in key() and template matches.
  • namespaces: interface for the XSLT namespace handling
  • numbersInternals: Implementation of the XSLT number functions
  • pattern: interface for the pattern matching used in template matches.
  • preproc: precomputing stylesheets
  • security: interface for the libxslt security framework
  • templates: interface for the template processing
  • transform: the XSLT engine transformation part.
  • variables: interface for the variable matching and lookup.
  • xslt: Interfaces, constants and types related to the XSLT engine
  • xsltInternals: internal data structures, constants and functions
  • xsltexports: macros for marking symbols as exportable/importable.
  • xsltlocale: Locale handling
  • xsltutils: set of utilities for the XSLT engine

Daniel Veillard

07070100062422000081a40000000000000000000000014f22154400002bfd000000b600010002ffffffffffffffff0000004400000000root/usr/local/share/doc/libxslt-1.1.26/html/html/libxslt-keys.html Module keys from libxslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

Module keys from libxslt

API Menu
Related links
API Indexes

implementation of the key mechanims.

Table of Contents

#define