diff --git a/ChangeLog b/ChangeLog index 47b4d5a3..8211942c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Fri Mar 8 17:44:31 CET 2002 Daniel Veillard + + * configure.in libxslt/xsltwin32config.h: preparing release + 1.0.13 + * doc/*: updated and rebuilt the docs + * python/libxslt.c: fixed a possible reentrancy problem + Fri Mar 8 14:51:59 CET 2002 Daniel Veillard * libxslt/pattern.c: Fixes the problems exposed by #73880 diff --git a/configure.in b/configure.in index 5f7f93bc..53a59b63 100644 --- a/configure.in +++ b/configure.in @@ -6,12 +6,12 @@ dnl libexslt is an extension dnl LIBXSLT_MAJOR_VERSION=1 LIBXSLT_MINOR_VERSION=0 -LIBXSLT_MICRO_VERSION=12 +LIBXSLT_MICRO_VERSION=13 PACKAGE=libxslt LIBEXSLT_MAJOR_VERSION=0 LIBEXSLT_MINOR_VERSION=7 -LIBEXSLT_MICRO_VERSION=4 -LIBXML_REQUIRED_VERSION=2.4.15 +LIBEXSLT_MICRO_VERSION=5 +LIBXML_REQUIRED_VERSION=2.4.17 LIBXSLT_VERSION=$LIBXSLT_MAJOR_VERSION.$LIBXSLT_MINOR_VERSION.$LIBXSLT_MICRO_VERSION diff --git a/doc/bugs.html b/doc/bugs.html index 9d8cd5b9..a8130acc 100644 --- a/doc/bugs.html +++ b/doc/bugs.html @@ -88,8 +88,7 @@ useful resources:

Zvon XSLT tutorial details a lot of constructs with examples.
  • Jeni Tennison's - XSLT - pages provide links to a lot of answers
  • + XSLT pages provide links to a lot of answers
  • the Gallery of XSLT Tricks provides non-standard use case of XSLT
  • And I suggest to buy Michael Kay "XSLT Programmer's Reference" book diff --git a/doc/contribs.html b/doc/contribs.html index 58768002..1ed27cf1 100644 --- a/doc/contribs.html +++ b/doc/contribs.html @@ -81,8 +81,8 @@ A:link, A:visited, A:active { text-decoration: underline } spent quite some time debugging non-trivial problems in early versions of libxslt
  • -Igor Zlatkovic - is now the maintainer of the Windows port, he +Igor Zlatkovic is now the + maintainer of the Windows port, he provides binaries
  • Thomas Broyer provided a lot of suggestions, and drafted most of the @@ -92,17 +92,17 @@ A:link, A:visited, A:active { text-decoration: underline }
  • Matt - Sergeant - developed XML::LibXSLT, a perl - wrapper for libxml2/libxslt as part of the AxKit XML application server + Sergeant developed XML::LibXSLT, a perl wrapper for + libxml2/libxslt as part of the AxKit XML + application server
  • there is a module for libxml/libxslt support in OpenNSD/AOLServer
  • -Dave Kuhlman - provides libxml/libxslt wrappers - for Python +Dave Kuhlman provides + libxml/libxslt wrappers for + Python
  • Steve Ball and contributors maintains libxml2 and libxslt bindings for Tcl diff --git a/doc/docbook.html b/doc/docbook.html index 80ed5c34..bd9c9903 100644 --- a/doc/docbook.html +++ b/doc/docbook.html @@ -86,8 +86,8 @@ few pointers and informations which may be helpful:

    homepage at Oasis you should find pointers there on all the lastest versions of the DTDs and XSLT stylesheets
  • -DocBook: The Definitive Guide - is the official reference documentation for DocBook.
  • +DocBook: The Definitive Guide is + the official reference documentation for DocBook.
  • Here is a shell script to generate XML Catalogs for DocBook 4.1.2 . If it can write to the /etc/xml/ directory, it will set-up /etc/xml/catalog and /etc/xml/docbook based on diff --git a/doc/downloads.html b/doc/downloads.html index f2580f33..4a65199f 100644 --- a/doc/downloads.html +++ b/doc/downloads.html @@ -95,8 +95,7 @@ platform, get in touch with me to upload the package. I will keep them in the page; the CVS module is libxslt.

  • daily - snapshots from CVS - are also provided
  • + snapshots from CVS are also provided

    Daniel Veillard

    diff --git a/doc/html/index.sgml b/doc/html/index.sgml index 5cc732d1..d4046929 100644 --- a/doc/html/index.sgml +++ b/doc/html/index.sgml @@ -123,18 +123,19 @@ + - + - + @@ -179,6 +180,10 @@ + + + + @@ -216,3 +221,5 @@ + + diff --git a/doc/html/libxslt-attributes.html b/doc/html/libxslt-attributes.html index decbbb79..0ecea4bb 100644 --- a/doc/html/libxslt-attributes.html +++ b/doc/html/libxslt-attributes.html @@ -123,7 +123,7 @@ NAME="LIBXSLT-ATTRIBUTES" >

    Name

    Synopsis

    Description

    Details

    >xsltParseStylesheetAttributeSet ()

    xsltParseStylesheetAttributeSet ()


    >xsltFreeAttributeSetsHashes ()

    xsltFreeAttributeSetsHashes ()


    >xsltApplyAttributeSet ()

    xsltApplyAttributeSet ()

    Name

    Synopsis

    xsltStylesheetPtr style); +xsltTransformContextPtr xsltXPathGetTransformContext + (xmlXPathParserContextPtr ctxt); int xsltRegisterExtModuleFunctionxmlChar *URI); -typedef xsltElemPreCompPtr (); xsltElemPreCompPtr xsltInitElemPreComp (xsltElemPreCompPtr comp, xmlChar *URI); +xsltPreComputeFunction xsltExtModuleElementPreComputeLookup + (const xmlChar *name, + const xmlChar *URI); int xsltUnregisterExtModuleElementxmlChar *URI); -typedef void (); +void (*xsltTopLevelFunction) (xsltStylesheetPtr style, + xmlNodePtr inst); int xsltRegisterExtModuleTopLevelxmlChar *URI, - xsltTopLevelFunctionxsltTopLevelFunction function); -xsltTopLevelFunctionxsltTopLevelFunction xsltExtModuleTopLevelLookupxsltStylesheetPtr style); xsltElemPreCompPtr

    Description

    Details

    >xsltStyleExtInitFunction ()

    xsltStyleExtInitFunction ()


    >xsltStyleExtShutdownFunction ()

    xsltStyleExtShutdownFunction ()


    >xsltExtInitFunction ()

    xsltExtInitFunction ()


    >xsltExtShutdownFunction ()

    xsltExtShutdownFunction ()


    >xsltRegisterExtModule ()

    xsltRegisterExtModule ()


    >xsltRegisterExtModuleFull ()

    xsltRegisterExtModuleFull ()


    >xsltUnregisterExtModule ()

    xsltUnregisterExtModule ()


    >xsltGetExtData ()

    xsltGetExtData ()


    >xsltStyleGetExtData ()

    xsltStyleGetExtData ()


    >xsltShutdownCtxtExts ()

    xsltShutdownCtxtExts ()


    >xsltShutdownExts ()

    xsltShutdownExts ()


    xsltXPathGetTransformContext ()

    xsltTransformContextPtr xsltXPathGetTransformContext
    +                                            (xmlXPathParserContextPtr ctxt);

    Returns 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.


    >xsltRegisterExtModuleFunction ()

    xsltRegisterExtModuleFunction ()


    >xsltExtFunctionLookup ()

    xsltExtFunctionLookup ()


    >xsltExtModuleFunctionLookup ()

    xsltExtModuleFunctionLookup ()


    >xsltUnregisterExtModuleFunction ()

    xsltUnregisterExtModuleFunction ()


    >xsltElemPreCompPtr ()

    typedef     xsltElemPreCompPtr              ();

    Returns : 


    >xsltNewElemPreComp ()

    xsltNewElemPreComp ()
    xsltElemPreCompPtr xsltNewElemPreComp       (


    >xsltInitElemPreComp ()

    xsltInitElemPreComp ()
    void        xsltInitElemPreComp             (xsltElemPreCompPtr comp,
                                                  


    >xsltRegisterExtModuleElement ()

    xsltRegisterExtModuleElement ()


    >xsltExtElementLookup ()

    xsltExtElementLookup ()


    >xsltExtModuleElementLookup ()

    xsltExtModuleElementLookup ()


    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.


    >xsltUnregisterExtModuleElement ()

    xsltUnregisterExtModuleElement ()


    >void ()

    xsltTopLevelFunction ()
    typedef     void                            ();
    void (*xsltTopLevelFunction) (xsltStylesheetPtr style, + xmlNodePtr inst);

    Returns :style : inst :

    >xsltRegisterExtModuleTopLevel ()

    xsltRegisterExtModuleTopLevel ()xmlChar *URI, - xsltTopLevelFunctionxsltTopLevelFunction function);


    >xsltExtModuleTopLevelLookup ()

    xsltExtModuleTopLevelLookup ()
    xsltTopLevelFunctionxsltTopLevelFunction xsltExtModuleTopLevelLookup
                                                 (const 


    >xsltUnregisterExtModuleTopLevel ()

    xsltUnregisterExtModuleTopLevel ()


    >xsltRegisterExtFunction ()

    xsltRegisterExtFunction ()


    >xsltRegisterExtElement ()

    xsltRegisterExtElement ()


    >xsltRegisterExtPrefix ()

    xsltRegisterExtPrefix ()


    >xsltCheckExtPrefix ()

    xsltCheckExtPrefix ()


    >xsltInitCtxtExts ()

    xsltInitCtxtExts ()


    >xsltFreeCtxtExts ()

    xsltFreeCtxtExts ()


    >xsltFreeExts ()

    xsltFreeExts ()


    >xsltPreComputeExtModuleElement ()

    xsltPreComputeExtModuleElement ()
    xsltElemPreCompPtr xsltPreComputeExtModuleElement
                                                 (


    >xsltRegisterTestModule ()

    xsltRegisterTestModule ()
    >XSLT_REGISTER_FUNCTION_LOOKUP()XSLT_REGISTER_FUNCTION_LOOKUP()
    >xsltXPathFunctionLookup ()xsltXPathFunctionLookup ()
    >xsltDocumentFunction ()xsltDocumentFunction ()
    document() XSLT function - node-set document(object, node-set?)

    >xsltKeyFunction ()xsltKeyFunction ()
    key() XSLT function - node-set key(string, object)

    >xsltUnparsedEntityURIFunction ()xsltUnparsedEntityURIFunction ()
    uri() XSLT function - string unparsed-entity-uri(string)

    >xsltFormatNumberFunction ()xsltFormatNumberFunction ()
    number() XSLT function - string format-number(number, string, string?)

    >xsltGenerateIdFunction ()xsltGenerateIdFunction ()
    id() XSLT function - string generate-id(node-set?)

    >xsltSystemPropertyFunction ()xsltSystemPropertyFunction ()
    property() XSLT function - object system-property(string)

    >xsltElementAvailableFunction ()xsltElementAvailableFunction ()
    available() XSLT function - boolean element-available(string)

    >xsltFunctionAvailableFunction ()xsltFunctionAvailableFunction ()
    available() XSLT function - boolean function-available(string)

    >xsltRegisterAllFunctions ()xsltRegisterAllFunctions ()

    Name

    Synopsis

    Description

    Details

    >XSLT_GET_IMPORT_PTR()

    XSLT_GET_IMPORT_PTR()


    >XSLT_GET_IMPORT_INT()

    XSLT_GET_IMPORT_INT()


    >xsltParseStylesheetImport ()

    xsltParseStylesheetImport ()


    >xsltParseStylesheetInclude ()

    xsltParseStylesheetInclude ()


    >xsltNextImport ()

    xsltNextImport ()


    >xsltNeedElemSpaceHandling ()

    xsltNeedElemSpaceHandling ()


    >xsltFindElemSpaceHandling ()

    xsltFindElemSpaceHandling ()

    1 if space should be stripped, 0 if not, and 2 if everything - should be CDTATA wrapped.

    >xsltFindTemplate ()

    xsltFindTemplate ()

    Name

    Synopsis

    Description

    Details

    >xsltAddKey ()

    xsltAddKey ()


    >xsltGetKey ()

    xsltGetKey ()


    >xsltInitCtxtKeys ()

    xsltInitCtxtKeys ()


    >xsltFreeKeys ()

    xsltFreeKeys ()


    >xsltFreeDocumentKeys ()

    xsltFreeDocumentKeys ()

    Name

    Synopsis

    Description

    Details

    >xsltNamespaceAlias ()

    xsltNamespaceAlias ()


    >xsltGetNamespace ()

    xsltGetNamespace ()


    >xsltGetSpecialNamespace ()

    xsltGetSpecialNamespace ()


    >xsltCopyNamespace ()

    xsltCopyNamespace ()


    >xsltCopyNamespaceList ()

    xsltCopyNamespaceList ()


    >xsltFreeNamespaceAliasHashes ()

    xsltFreeNamespaceAliasHashes ()

    xmlNodePtr node); +> node, + xsltStylesheetPtr style, + xsltTransformContextPtr runtime); void xsltFreeCompMatchList

    Description

    Details

    >struct xsltCompMatch

    struct xsltCompMatch

    >xsltCompMatchPtr

    xsltCompMatchPtr

    >xsltCompilePattern ()

    xsltCompilePattern ()
    xmlNodePtr node); node, + xsltStylesheetPtr style, + xsltTransformContextPtr runtime);

    style :
    the stylesheet
    runtime : the transformation context, if done at run-time
    Returns

    >xsltFreeCompMatchList ()

    xsltFreeCompMatchList ()


    >xsltTestCompMatchList ()

    xsltTestCompMatchList ()


    >xsltAddTemplate ()

    xsltAddTemplate ()


    >xsltGetTemplate ()

    xsltGetTemplate ()


    >xsltFreeTemplateHashes ()

    xsltFreeTemplateHashes ()


    >xsltCleanupTemplates ()

    xsltCleanupTemplates ()


    >xsltMatchPattern ()

    xsltMatchPattern ()

    Name

    Synopsis

    Description

    Details

    >xsltEvalXPathPredicate ()

    xsltEvalXPathPredicate ()


    >xsltEvalTemplateString ()

    xsltEvalTemplateString ()

    the computed string value or NULL, must be deallocated by the - caller.

    >xsltEvalAttrValueTemplate ()

    xsltEvalAttrValueTemplate ()

    the computed string value or NULL, must be deallocated by the - caller.

    >xsltEvalStaticAttrValueTemplate ()

    xsltEvalStaticAttrValueTemplate ()

    the static string value or NULL, must be deallocated by the - caller.

    >xsltEvalXPathString ()

    xsltEvalXPathString ()

    the computed string value or NULL, must be deallocated by the - caller.

    >xsltTemplateProcess ()

    xsltTemplateProcess ()


    >xsltAttrListTemplateProcess ()

    xsltAttrListTemplateProcess ()


    >xsltAttrTemplateProcess ()

    xsltAttrTemplateProcess ()


    >xsltAttrTemplateValueProcess ()

    xsltAttrTemplateValueProcess ()

    the computed string value or NULL, must be deallocated by the - caller.

    Name

    Synopsis

    Description

    Details

    >xsltSetXIncludeDefault ()

    xsltSetXIncludeDefault ()


    >xsltGetXIncludeDefault ()

    xsltGetXIncludeDefault ()


    >xsltNewTransformContext ()

    xsltNewTransformContext ()


    >xsltFreeTransformContext ()

    xsltFreeTransformContext ()


    >xsltApplyStylesheetUser ()

    xsltApplyStylesheetUser ()


    >xsltApplyStripSpaces ()

    xsltApplyStripSpaces ()


    >xsltExtElementLookup ()

    xsltExtElementLookup ()


    >xsltApplyStylesheet ()

    xsltApplyStylesheet ()


    >xsltProfileStylesheet ()

    xsltProfileStylesheet ()


    >xsltRunStylesheet ()

    xsltRunStylesheet ()
    NOTE: This may lead to a non-wellformed output XML wise ! NOTE: This may also result in multiple files being generated NOTE: using IObuf, the result encoding used will be the one used for - creating the output buffer, use the following macro to read it - from the stylesheet - XSLT_GET_IMPORT_PTR(encoding, style, encoding) +creating the output buffer, use the following macro to read it +from the stylesheet +XSLT_GET_IMPORT_PTR(encoding, style, encoding) NOTE: using SAX, any encoding specified in the stylesheet will be lost - since the interface uses only UTF8

    the number of by written to the main resource or -1 in case of - error.

    >xsltApplyOneTemplate ()

    xsltApplyOneTemplate ()


    >xsltDocumentElem ()

    xsltDocumentElem ()


    >xsltSort ()

    xsltSort ()


    >xsltCopy ()

    xsltCopy ()


    >xsltText ()

    xsltText ()


    >xsltElement ()

    xsltElement ()


    >xsltComment ()

    xsltComment ()


    >xsltAttribute ()

    xsltAttribute ()


    >xsltProcessingInstruction ()

    xsltProcessingInstruction ()


    >xsltCopyOf ()

    xsltCopyOf ()


    >xsltValueOf ()

    xsltValueOf ()


    >xsltNumber ()

    xsltNumber ()


    >xsltApplyImports ()

    xsltApplyImports ()


    >xsltCallTemplate ()

    xsltCallTemplate ()


    >xsltApplyTemplates ()

    xsltApplyTemplates ()


    >xsltChoose ()

    xsltChoose ()


    >xsltIf ()

    xsltIf ()


    >xsltForEach ()

    xsltForEach ()


    >xsltRegisterAllElement ()

    xsltRegisterAllElement ()


    >xslHandleDebugger ()

    xslHandleDebugger ()

    If either cur or node are a breakpoint, or xslDebugStatus in state - where debugging must occcur at this time then transfer control - to the xslDebugBreak function

    Name

    Synopsis

    Description

    Details

    >XSLT_REGISTER_VARIABLE_LOOKUP()

    XSLT_REGISTER_VARIABLE_LOOKUP()


    >xsltEvalGlobalVariables ()

    xsltEvalGlobalVariables ()


    >xsltEvalUserParams ()

    xsltEvalUserParams ()


    >xsltQuoteUserParams ()

    xsltQuoteUserParams ()


    >xsltEvalOneUserParam ()

    xsltEvalOneUserParam ()


    >xsltQuoteOneUserParam ()

    xsltQuoteOneUserParam ()


    >xsltParseGlobalVariable ()

    xsltParseGlobalVariable ()


    >xsltParseGlobalParam ()

    xsltParseGlobalParam ()


    >xsltParseStylesheetVariable ()

    xsltParseStylesheetVariable ()


    >xsltParseStylesheetParam ()

    xsltParseStylesheetParam ()


    >xsltParseStylesheetCallerParam ()

    xsltParseStylesheetCallerParam ()


    >xsltAddStackElemList ()

    xsltAddStackElemList ()


    >xsltFreeGlobalVariables ()

    xsltFreeGlobalVariables ()


    >xsltVariableLookup ()

    xsltVariableLookup ()


    >xsltXPathVariableLookup ()

    xsltXPathVariableLookup ()

    >XSLT_DEFAULT_VERSIONXSLT_DEFAULT_VERSION
    >XSLT_DEFAULT_VENDORXSLT_DEFAULT_VENDOR
    >XSLT_DEFAULT_URLXSLT_DEFAULT_URL
    >XSLT_NAMESPACEXSLT_NAMESPACE
    >LIBXSLT_PUBLICLIBXSLT_PUBLIC
    >xsltCleanupGlobals ()xsltCleanupGlobals ()

    Name

    Synopsis

    XSLT_PAT_NO_PRIORITY struct xsltRuntimeExtra; +typedef xsltRuntimeExtraPtr; +#define XSLT_RUNTIME_EXTRA (ctxt, nr) +#define XSLT_RUNTIME_EXTRA_FREE (ctxt, nr) +struct xsltTemplate; @@ -178,13 +194,10 @@ struct xsltElemPreComp; -typedef xsltElemPreCompPtr (); +>; void (*xsltTransformFunctionxmlNodePtr inst, xsltElemPreCompPtr comp); enum *xsltElemPreCompDeallocator) (xsltElemPreCompPtr comp); struct xmlNodePtr templ); templ); +int xsltAllocateExtra (xsltStylesheetPtr style); +int xsltAllocateExtraCtxt (xsltTransformContextPtr ctxt);

    Description

    Details

    >XSLT_MAX_SORT

    XSLT_MAX_SORT

    >XSLT_PAT_NO_PRIORITY

    XSLT_PAT_NO_PRIORITY

    struct xsltRuntimeExtra

    struct xsltRuntimeExtra {
    +    void       *info;		/* pointer to the extra data */
    +    xmlFreeFunc deallocate;	/* pointer to the deallocation routine */
    +};

    Extra information added to the transformation context


    xsltRuntimeExtraPtr

    typedef xsltRuntimeExtra *xsltRuntimeExtraPtr;


    XSLT_RUNTIME_EXTRA()

    #define XSLT_RUNTIME_EXTRA(ctxt, nr) (ctxt)->extras[(nr)].info

    ctxt : 
    nr : 


    XSLT_RUNTIME_EXTRA_FREE()

    #define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)->extras[(nr)].deallocate

    ctxt : 
    nr : 


    >struct xsltTemplate

    struct xsltTemplate

    >xsltTemplatePtr

    xsltTemplatePtr

    >struct xsltDecimalFormat

    struct xsltDecimalFormat

    >xsltDecimalFormatPtr

    xsltDecimalFormatPtr

    >struct xsltDocument

    struct xsltDocument

    >xsltDocumentPtr

    xsltDocumentPtr

    >struct xsltTransformContext

    struct xsltTransformContext

    >xsltTransformContextPtr

    xsltTransformContextPtr

    >struct xsltElemPreComp

    struct xsltElemPreComp

    >xsltElemPreCompPtr ()

    xsltElemPreCompPtr
    typedef     xsltElemPreCompPtr              ();
    typedef xsltElemPreComp *xsltElemPreCompPtr;

    Returns : 


    >xsltTransformFunction ()

    xsltTransformFunction ()xmlNodePtr inst, xsltElemPreCompPtr comp);


    >enum xsltStyleType

    enum xsltStyleType

    >xsltElemPreCompDeallocator ()

    xsltElemPreCompDeallocator ()
    void        (*xsltElemPreCompDeallocator)   (xsltElemPreCompPtr comp);


    >struct xsltStylePreComp

    struct xsltStylePreComp

    >xsltStylePreCompPtr

    xsltStylePreCompPtr

    >struct xsltStackElem

    struct xsltStackElem

    >xsltStackElemPtr

    xsltStackElemPtr

    >struct xsltStylesheet

    struct xsltStylesheet

    >xsltStylesheetPtr

    xsltStylesheetPtr

    >enum xsltOutputType

    enum xsltOutputType

    >enum xsltTransformState

    enum xsltTransformState

    >CHECK_STOPPED

    CHECK_STOPPED

    >CHECK_STOPPEDE

    CHECK_STOPPEDE

    >CHECK_STOPPED0

    CHECK_STOPPED0

    >xsltNewStylesheet ()

    xsltNewStylesheet ()


    >xsltParseStylesheetFile ()

    xsltParseStylesheetFile ()


    >xsltFreeStylesheet ()

    xsltFreeStylesheet ()


    >xsltIsBlank ()

    xsltIsBlank ()


    >xsltFreeStackElemList ()

    xsltFreeStackElemList ()


    >xsltDecimalFormatGetByName ()

    xsltDecimalFormatGetByName ()


    >xsltParseStylesheetProcess ()

    xsltParseStylesheetProcess ()


    >xsltParseStylesheetOutput ()

    xsltParseStylesheetOutput ()


    >xsltParseStylesheetDoc ()

    xsltParseStylesheetDoc ()


    >xsltLoadStylesheetPI ()

    xsltLoadStylesheetPI ()

      a document to process
    a negative dealy value found

    >xsltNumberFormat ()

    xsltNumberFormat ()


    >xsltFormatNumberConversion ()

    xsltFormatNumberConversion ()

    Structure:

    pattern := subpattern{;subpattern} - subpattern := {prefix}integer{.fraction}{suffix} - prefix := '\\u0000'..'\\uFFFD' - specialCharacters - suffix := '\\u0000'..'\\uFFFD' - specialCharacters - integer := '#'* '0'* '0' - fraction := '0'* '#'*

    pattern := subpattern{;subpattern} +subpattern := {prefix}integer{.fraction}{suffix} +prefix := '\\u0000'..'\\uFFFD' - specialCharacters +suffix := '\\u0000'..'\\uFFFD' - specialCharacters +integer := '#'* '0'* '0' +fraction := '0'* '#'*

    Notation: - X* 0 or more instances of X - (X | Y) either X or Y. - X..Y any character from X up to Y, inclusive. - S - T characters in S, except those in T

    Notation: +X* 0 or more instances of X +(X | Y) either X or Y. +X..Y any character from X up to Y, inclusive. +S - T characters in S, except those in T

    Special Characters:

    Symbol Meaning - 0 a digit - # a digit, zero shows as absent - . placeholder for decimal separator - , placeholder for grouping separator. - ; separates formats. - - default negative prefix. - % multiply by 100 and show as percentage - ? multiply by 1000 and show as per mille - X any other characters can be used in the prefix or suffix - ' used to quote special characters in a prefix or suffix.

    Symbol Meaning +0 a digit +# a digit, zero shows as absent +. placeholder for decimal separator +, placeholder for grouping separator. +; separates formats. +- default negative prefix. +% multiply by 100 and show as percentage +? multiply by 1000 and show as per mille +X any other characters can be used in the prefix or suffix +' used to quote special characters in a prefix or suffix.


    >xsltParseTemplateContent ()

    xsltParseTemplateContent ()


    xsltAllocateExtra ()

    int         xsltAllocateExtra               (xsltStylesheetPtr style);

    Allocate an extra runtime information slot statically while compiling +the stylesheet and return its number

    style : an XSLT stylesheet
    Returns :the number of the slot


    xsltAllocateExtraCtxt ()

    int         xsltAllocateExtraCtxt           (xsltTransformContextPtr ctxt);

    Allocate an extra runtime information slot at run-time +and return its number +This make sure there is a slot ready in the transformation context

    ctxt : an XSLT transformation context
    Returns :the number of the slot

     

    >XSLT_TIMESTAMP_TICS_PER_SEC

    XSLT_TIMESTAMP_TICS_PER_SEC

    >enum xsltDebugStatusCodes

    enum xsltDebugStatusCodes

    >xsltHandleDebuggerCallback ()

    xsltHandleDebuggerCallback ()


    >xsltAddCallCallback ()

    xsltAddCallCallback ()


    >xsltDropCallCallback ()

    xsltDropCallCallback ()

    >xsltSetDebuggerCallbacks ()

    xsltSetDebuggerCallbacks ()


    >xslAddCall ()

    xslAddCall ()

    : 1 on sucess 0 otherwise an error may be printed if - WITH_XSLT_DEBUG_BREAKPOINTS is defined

    >xslDropCall ()

    xslDropCall () - - + Allocate an extra runtime information slot statically while compiling the stylesheet and return its number + + - - + Allocate an extra runtime information slot at run-time and return its number This make sure there is a slot ready in the transformation context + + Apply the xsl:use-attribute-sets @@ -816,9 +818,10 @@ - - - + Looks up an extension module element pre-computation function + + + Looks up an extension module function @@ -1380,7 +1383,7 @@ - + Save the profiling informations on output @@ -1590,8 +1593,9 @@ - - + Returns 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. + + This is the entry point when a varibale is needed by the XPath interpretor. diff --git a/doc/libxslt-refs.xml b/doc/libxslt-refs.xml index a051dd32..97f00128 100644 --- a/doc/libxslt-refs.xml +++ b/doc/libxslt-refs.xml @@ -29,6 +29,8 @@ + + @@ -42,6 +44,8 @@ + + @@ -98,6 +102,7 @@ + @@ -189,6 +194,8 @@ + + @@ -219,6 +226,7 @@ + @@ -231,6 +239,7 @@ + @@ -275,6 +284,8 @@ + + @@ -290,6 +301,8 @@ + + @@ -346,6 +359,7 @@ + @@ -437,6 +451,8 @@ + + @@ -467,6 +483,7 @@ + @@ -479,6 +496,7 @@ + @@ -1395,6 +1413,10 @@ + + + + @@ -1479,6 +1501,9 @@ + + + @@ -1574,6 +1599,7 @@ + @@ -1704,6 +1730,7 @@ + @@ -1765,6 +1792,7 @@ + @@ -1779,6 +1807,7 @@ + @@ -1864,6 +1893,7 @@ + @@ -1912,6 +1942,7 @@ + @@ -2047,6 +2078,7 @@ + @@ -2180,6 +2212,7 @@ + @@ -2198,6 +2231,7 @@ + @@ -2271,6 +2305,7 @@ + @@ -2406,6 +2441,7 @@ + @@ -2568,6 +2604,7 @@ + @@ -2617,6 +2654,10 @@ + + + + @@ -2692,6 +2733,7 @@ + @@ -2721,6 +2763,7 @@ + @@ -2863,6 +2906,8 @@ + + @@ -2878,6 +2923,7 @@ + @@ -2934,6 +2980,7 @@ + @@ -2943,6 +2990,8 @@ + + @@ -2975,6 +3024,8 @@ + + @@ -3058,8 +3109,6 @@ - - @@ -3075,6 +3124,9 @@ + + + @@ -3176,6 +3228,7 @@ + @@ -3285,6 +3338,8 @@ + + @@ -3310,6 +3365,8 @@ + + @@ -3368,6 +3425,7 @@ + @@ -3395,8 +3453,6 @@ - - @@ -3489,6 +3545,9 @@ + + + @@ -3512,6 +3571,7 @@ + @@ -3668,12 +3728,17 @@ + + + + + @@ -3768,9 +3833,14 @@ + + + + + @@ -3793,11 +3863,14 @@ + + + + + - - @@ -3879,6 +3952,10 @@ + + + + @@ -3929,6 +4006,9 @@ + + + @@ -4045,10 +4125,15 @@ + + + + + @@ -4112,6 +4197,7 @@ + @@ -4121,6 +4207,7 @@ + @@ -4150,6 +4237,7 @@ + @@ -4223,8 +4311,6 @@ - - @@ -4262,6 +4348,7 @@ + @@ -4347,6 +4434,7 @@ + @@ -4363,6 +4451,7 @@ + @@ -4414,6 +4503,8 @@ + + @@ -4515,10 +4606,11 @@ - - - - + + + + + diff --git a/doc/libxslt-sections.txt b/doc/libxslt-sections.txt index d2ed7d4a..4a1247ca 100644 --- a/doc/libxslt-sections.txt +++ b/doc/libxslt-sections.txt @@ -8,49 +8,6 @@ LIBXSLT_PUBLIC xsltCleanupGlobals -
    -xsltInternals -XSLT_MAX_SORT -XSLT_PAT_NO_PRIORITY -xsltTemplate -xsltTemplatePtr -xsltDecimalFormat -xsltDecimalFormatPtr -xsltDocument -xsltDocumentPtr -xsltTransformContext -xsltTransformContextPtr -xsltElemPreComp -xsltElemPreCompPtr -xsltTransformFunction -xsltStyleType -xsltElemPreCompDeallocator -xsltStylePreComp -xsltStylePreCompPtr -xsltStackElem -xsltStackElemPtr -xsltStylesheet -xsltStylesheetPtr -xsltOutputType -xsltTransformState -CHECK_STOPPED -CHECK_STOPPEDE -CHECK_STOPPED0 -xsltNewStylesheet -xsltParseStylesheetFile -xsltFreeStylesheet -xsltIsBlank -xsltFreeStackElemList -xsltDecimalFormatGetByName -xsltParseStylesheetProcess -xsltParseStylesheetOutput -xsltParseStylesheetDoc -xsltLoadStylesheetPI -xsltNumberFormat -xsltFormatNumberConversion -xsltParseTemplateContent -
    -
    xsltconfig LIBXSLT_DOTTED_VERSION @@ -64,6 +21,18 @@ ATTRIBUTE_UNUSED LIBXSLT_PUBLIC
    +
    +xsltwin32config +LIBXSLT_DOTTED_VERSION +LIBXSLT_VERSION +LIBXSLT_VERSION_STRING +WITH_XSLT_DEBUG +DEBUG_MEMORY +DEBUG_MEMORY_LOCATION +ATTRIBUTE_UNUSED +LIBXSLT_PUBLIC +
    +
    keys xsltAddKey @@ -185,18 +154,6 @@ xsltVariableLookup xsltXPathVariableLookup
    -
    -xsltwin32config -LIBXSLT_DOTTED_VERSION -LIBXSLT_VERSION -LIBXSLT_VERSION_STRING -WITH_XSLT_DEBUG -DEBUG_MEMORY -DEBUG_MEMORY_LOCATION -ATTRIBUTE_UNUSED -LIBXSLT_PUBLIC -
    -
    functions XSLT_REGISTER_FUNCTION_LOOKUP @@ -229,18 +186,19 @@ xsltGetExtData xsltStyleGetExtData xsltShutdownCtxtExts xsltShutdownExts +xsltXPathGetTransformContext xsltRegisterExtModuleFunction xsltExtFunctionLookup xsltExtModuleFunctionLookup xsltUnregisterExtModuleFunction -xsltElemPreCompPtr xsltNewElemPreComp xsltInitElemPreComp xsltRegisterExtModuleElement xsltExtElementLookup xsltExtModuleElementLookup +xsltExtModuleElementPreComputeLookup xsltUnregisterExtModuleElement -void +xsltTopLevelFunction xsltRegisterExtModuleTopLevel xsltExtModuleTopLevelLookup xsltUnregisterExtModuleTopLevel @@ -322,3 +280,52 @@ IN_LIBXSLT LIBXSLT_PUBLIC
    +
    +xsltInternals +XSLT_MAX_SORT +XSLT_PAT_NO_PRIORITY +xsltRuntimeExtra +xsltRuntimeExtraPtr +XSLT_RUNTIME_EXTRA +XSLT_RUNTIME_EXTRA_FREE +xsltTemplate +xsltTemplatePtr +xsltDecimalFormat +xsltDecimalFormatPtr +xsltDocument +xsltDocumentPtr +xsltTransformContext +xsltTransformContextPtr +xsltElemPreComp +xsltElemPreCompPtr +xsltTransformFunction +xsltStyleType +xsltElemPreCompDeallocator +xsltStylePreComp +xsltStylePreCompPtr +xsltStackElem +xsltStackElemPtr +xsltStylesheet +xsltStylesheetPtr +xsltOutputType +xsltTransformState +CHECK_STOPPED +CHECK_STOPPEDE +CHECK_STOPPED0 +xsltNewStylesheet +xsltParseStylesheetFile +xsltFreeStylesheet +xsltIsBlank +xsltFreeStackElemList +xsltDecimalFormatGetByName +xsltParseStylesheetProcess +xsltParseStylesheetOutput +xsltParseStylesheetDoc +xsltLoadStylesheetPI +xsltNumberFormat +xsltFormatNumberConversion +xsltParseTemplateContent +xsltAllocateExtra +xsltAllocateExtraCtxt +
    + diff --git a/doc/news.html b/doc/news.html index d7e04407..987dac8b 100644 --- a/doc/news.html +++ b/doc/news.html @@ -76,6 +76,13 @@ A:link, A:visited, A:active { text-decoration: underline }

    CVS only : check the Changelog file for a really accurate description

    +

    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
    • diff --git a/doc/python.html b/doc/python.html index cf268443..0a2a2b91 100644 --- a/doc/python.html +++ b/doc/python.html @@ -82,13 +82,13 @@ or libxslt wrappers or bindings:

      • Matt - Sergeant - developped XML::LibXML and - XML::LibXSLT, a perl wrapper for libxml2/libxslt as part of the AxKit XML application server + Sergeant developped XML::LibXML + and XML::LibXSLT, a perl wrapper for libxml2/libxslt as part of the + AxKit XML application server
      • -Dave Kuhlman - provides and earlier version of the libxml/libxslt wrappers for Python +Dave Kuhlman provides and + earlier version of the libxml/libxslt wrappers for Python
      • Petr Kozelka provides Pascal units to glue libxml2 with Kylix, Delphi and other Pascal compilers
      • @@ -105,20 +105,18 @@ be maintained as part of the library in the future, though the Python interface have not yet reached the maturity of the C API.

        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. -
        • +
        • 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:

        +

        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.

        @@ -138,28 +136,24 @@ 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.
        • +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).
        • +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 !
        • +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 informations 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").
        • +result : this is a document generated by applying the + stylesheet to the document. Note that some of the stylesheet informations + 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 diff --git a/doc/xslt.html b/doc/xslt.html index 209accdf..8f4284a1 100644 --- a/doc/xslt.html +++ b/doc/xslt.html @@ -3,7 +3,7 @@ The XSLT C library for Gnome - + @@ -86,8 +86,7 @@ useful resources:

        href="http://www.zvon.org/xxl/XSLTutorial/Books/Book1/index.html">only Zvon XSLT tutorial details a lot of constructs with examples.
      • Jeni Tennison's - XSLT - pages provide links to a lot of answers
      • + XSLT pages provide links to a lot of answers
      • the Gallery of XSLT Tricks provides non-standard use case of XSLT
      • And I suggest to buy Michael Kay "XSLT Programmer's Reference" book @@ -206,8 +205,7 @@ platform, get in touch with me to upload the package. I will keep them in the
      • daily - snapshots from CVS - are also provided
      • + snapshots from CVS are also provided

      FAQ

      @@ -234,6 +232,14 @@ platform, get in touch with me to upload the package. I will keep them in the href="http://cvs.gnome.org/lxr/source/libxslt/ChangeLog">Changelog file for a really accurate description +

      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
      • @@ -576,8 +582,8 @@ few pointers and informations which may be helpful:

      • The DocBook homepage at Oasis you should find pointers there on all the lastest versions of the DTDs and XSLT stylesheets
      • -
      • DocBook: The Definitive Guide - is the official reference documentation for DocBook.
      • +
      • DocBook: The Definitive Guide is + the official reference documentation for DocBook.
      • Here is a shell script to generate XML Catalogs for DocBook 4.1.2 . If it can write to the /etc/xml/ directory, it will set-up /etc/xml/catalog and /etc/xml/docbook based on @@ -665,12 +671,11 @@ or libxslt wrappers or bindings:

        • Matt - Sergeant - developped XML::LibXML and - XML::LibXSLT, a perl wrapper for libxml2/libxslt as part of the AxKit XML application server
        • -
        • Dave Kuhlman - provides and earlier version of the libxml/libxslt developped XML::LibXML + and XML::LibXSLT, a perl wrapper for libxml2/libxslt as part of the + AxKit XML application server
        • +
        • Dave Kuhlman provides and + earlier version of the libxml/libxslt wrappers for Python
        • Petr Kozelka provides Pascal units to glue @@ -694,21 +699,21 @@ interface have not yet reached the maturity of the C API.

          To install the Python bindings there are 2 options:

          -

          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:

          +

          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:

          @@ -730,25 +735,21 @@ result.freeDoc() 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 informations 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").
          • +
          • 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 informations + 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() @@ -1776,8 +1777,8 @@ close the connection to the database to keep the same example.

        • William Brack was an early adopted, contributed a number of patches and spent quite some time debugging non-trivial problems in early versions of libxslt
        • -
        • Igor Zlatkovic - is now the maintainer of the Windows port, Igor Zlatkovic is now the + maintainer of the Windows port, he provides binaries
        • Thomas Broyer provided a lot of suggestions, and drafted most of the @@ -1786,16 +1787,16 @@ close the connection to the database to keep the same example.

          for libxslt
        • Matt - Sergeant - developed XML::LibXSLT, a perl - wrapper for libxml2/libxslt as part of the AxKit XML application server
        • + Sergeant developed XML::LibXSLT, a perl wrapper for + libxml2/libxslt as part of the AxKit XML + application server
        • there is a module for libxml/libxslt support in OpenNSD/AOLServer
        • -
        • Dave Kuhlman - provides libxml/libxslt wrappers - for Python
        • +
        • Dave Kuhlman provides + libxml/libxslt wrappers for + Python
        • Steve Ball and contributors maintains libxml2 and libxslt bindings for Tcl
        • diff --git a/libxslt/xsltwin32config.h b/libxslt/xsltwin32config.h index 6ba5f78d..2f16aa7e 100644 --- a/libxslt/xsltwin32config.h +++ b/libxslt/xsltwin32config.h @@ -21,21 +21,21 @@ extern "C" { * * the version string like "1.2.3" */ -#define LIBXSLT_DOTTED_VERSION "1.0.12" +#define LIBXSLT_DOTTED_VERSION "1.0.13" /** * LIBXSLT_VERSION: * * the version number: 1.2.3 value is 1002003 */ -#define LIBXSLT_VERSION 10012 +#define LIBXSLT_VERSION 10013 /** * LIBXSLT_VERSION_STRING: * * the version number string, 1.2.3 value is "1002003" */ -#define LIBXSLT_VERSION_STRING "10012" +#define LIBXSLT_VERSION_STRING "10013" /** * WITH_XSLT_DEBUG: diff --git a/python/libxslt.c b/python/libxslt.c index 4f75a934..50e9b5b2 100644 --- a/python/libxslt.c +++ b/python/libxslt.c @@ -360,13 +360,17 @@ extern void initlibxml2mod(void); #endif void initlibxsltmod(void) { + static int initialized = 0; PyObject *m; #ifdef MERGED_MODULES initlibxml2mod(); #endif + if (initialized != 0) + return; m = Py_InitModule("libxsltmod", libxsltMethods); + initialized = 1; /* libxslt_xmlErrorInitialize(); */ /* * Specific XSLT initializations @@ -377,7 +381,6 @@ void initlibxsltmod(void) { xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; /* xmlDefaultSAXHandlerInit(); */ xmlDefaultSAXHandler.cdataBlock = NULL; - }