1. 29 Oct, 2015 1 commit
  2. 25 Feb, 2014 1 commit
  3. 12 Sep, 2012 1 commit
  4. 06 Sep, 2012 1 commit
    • Nick Wellnhofer's avatar
      Fix handling of names in xsl:attribute · d7a5a699
      Nick Wellnhofer authored and Daniel Veillard's avatar Daniel Veillard committed
      A prefix of 'xmlns' is actually allowed. It should simply be ignored
      if a namespace is given. Without a namespace the lookup by prefix will
      fail anyway.
      
      What the spec doesn't allow is an attribute name of 'xmlns' which will
      now be rejected.
      d7a5a699
  5. 09 Aug, 2012 1 commit
  6. 03 May, 2011 1 commit
  7. 07 Mar, 2011 1 commit
  8. 08 Nov, 2010 2 commits
  9. 18 Sep, 2009 1 commit
  10. 01 Aug, 2008 1 commit
    • Daniel Veillard's avatar
      big patch from Roumen Petrov finishing xsl:sort lang support with many · 79ab294f
      Daniel Veillard authored
      * libxslt/xsltconfig.h.in libxslt/xslt.c libxslt/extensions.c
        libxslt/xsltlocale.c libxslt/preproc.c libxslt/xsltutils.c
        libxslt/xsltlocale.h libxslt/win32config.h configure.in
        config.h.in win32/configure.js: big patch from Roumen Petrov
        finishing xsl:sort lang support with many portability issues
        fixed and feedback from Nick Wellnhofer and Rob Richards
      Daniel
      
      svn path=/trunk/; revision=1488
      79ab294f
  11. 03 Jun, 2008 1 commit
    • Daniel Veillard's avatar
      patch from Nick Wellnhofer adding xsl:sort lang support using the locale · 1a8e9f9e
      Daniel Veillard authored
      * configure.in libxslt/extra.c libxslt/Makefile.am libxslt/preproc.c
        libxslt/xsltInternals.h libxslt/xsltlocale.c libxslt/xsltlocale.h
        libxslt/xsltutils.c win32/Makefile.mingw win32/Makefile.msvc: patch
        from Nick Wellnhofer adding xsl:sort lang support using the locale
        support from the C library.
      Daniel
      
      svn path=/trunk/; revision=1476
      1a8e9f9e
  12. 12 Oct, 2006 1 commit
  13. 10 Aug, 2006 1 commit
  14. 14 Jul, 2006 2 commits
    • Kasimier T. Buchcik's avatar
      Committing again, since I forgot to switch from win to linux linebreaks in · 7662584e
      Kasimier T. Buchcik authored
      * libxslt/attributes.c libxslt/documents.c
        libxslt/functions.c libxslt/keys.c libxslt/namespaces.c
        libxslt/pattern.c libxslt/preproc.c libxslt/templates.c
        libxslt/templates.h libxslt/transform.c
        libxslt/variables.c libxslt/xslt.c
        libxslt/xsltInternals.h libxslt/xsltutils.c
        libxslt/xsltutils.h libexslt/common.c libexslt/dynamic.c
        libexslt/functions.c libexslt/strings.c:
        Committing again, since I forgot to switch from win to linux
        linebreaks in the files.
      7662584e
    • Kasimier T. Buchcik's avatar
      Refactored xsltValueOf(). Changed to use xmlXPathCastToString() directly, · 90d2d1c2
      Kasimier T. Buchcik authored
      * libxslt/attributes.c libxslt/documents.c
        libxslt/functions.c libxslt/keys.c libxslt/namespaces.c
        libxslt/pattern.c libxslt/preproc.c libxslt/templates.c
        libxslt/templates.h libxslt/transform.c libxslt/variables.c
        libxslt/xslt.c libxslt/xsltInternals.h libxslt/xsltutils.c
        libxslt/xsltutils.h libexslt/common.c libexslt/dynamic.c
        libexslt/functions.c libexslt/strings.c:
        Refactored xsltValueOf(). Changed to use xmlXPathCastToString()
        directly, rather than creating an intermediate object with
        xmlXPathConvertString(). This now does not add a text-node to
        the result if the string is empty (this has impact on
        serialization, since an empty text-node is serialized as
        <foo></foo>, and now it will be serialized as <foo/>).
        Refactored other functions in transform.c:
        Mostly code cleanup/restructuring. Minimized number of
        function variables for instruction which eat up function stack
        memory when recursing templates (xsltIf(), xsltChoose(),
        xsltApplyTemplates(),  xsltCallTemplate()).
        Changed XSLT tests to use xmlXPathCompiledEvalToBoolean().
        Implemented redefinition checks at compilation-time and
        eliminating them at transformation time in the refactored code
        paths.
        Introduced the field @currentTemplateRule on xsltTransformContext to
        reflect the "Current Template Rule" as defined by the spec.
        NOTE that ctxt->currentTemplateRule and ctxt->templ is not the
        same; the former is the "Current Template Rule" as defined by the
        XSLT spec, the latter is simply the template struct being
        currently processed by Libxslt.
        Added XML_COMMENT_NODE and XML_CDATA_SECTION_NODE to the macro
        IS_XSLT_REAL_NODE.
        Misc code cleanup/restructuring and everything else I already forgot.
        Refactored lifetime of temporary result tree fragments.
        Substituted all calls to the now deprecated xsltRegisterTmpRVT()
        for the new xsltRegisterLocalRVT().
        Fragments of xsl:variable and xsl:param are freed when the
        variable/pram is freed.
        Fragments created when evaluating a "select" of xsl:varible and
        xsl:param are also bound to the lifetime of the var/param.
        EXSLT's func:function now uses the following functions to let take
        care the transformation's garbage collector of returned tree
        fragments:
          xsltExtensionInstructionResultRegister(),
          xsltExtensionInstructionResultFinalize()
        Fixes:
        #339222 - xsl:param at invalid position inside an xsl:template is
                  not catched
        #346015 - Non-declared caller-parameters are accepted
        #160400 - Compiles invalid XSLT; unbound variable accepted
        #308441 - namespaced parameters become unregistered
        #307103 - problem with proximity position in predicates of match
                  patterns
        #328218 - problem with exsl:node-set() when converting strings
                  to node sets
        #318088 - infinite recursion detection
        #321505 - Multiple contiguous CDATA in output
        #334493 - "--param" option does not have root context
        #114377 - weird func:result/xsl:variable/exsl:node-set interaction
        #150309 - Regression caused by fix for 142768
      90d2d1c2
  15. 19 Jun, 2006 1 commit
    • Kasimier T. Buchcik's avatar
      Merged all the namespace lookup/create/disable functions into · c09974f8
      Kasimier T. Buchcik authored
      * libxslt/attributes.c libxslt/attrvt.c libxslt/namespaces.c
        libxslt/namespaces.h libxslt/preproc.c libxslt/templates.c
        libxslt/transform.c libxslt/variables.c libxslt/xslt.c
        libxslt/xsltInternals.h libxslt/xsltutils.c:
        Merged all the namespace lookup/create/disable functions
        into xsltGetSpecialNamespace(). Changed xsltGetNamespace()
        and xsltGetPlainNamespace() to call xsltGetSpecialNamespace(),
        but kept the ns-aliasing mechanism; the ns-aliasing needs
        to be removed when we move to the refactored code, which
        applies ns-alias only at compilaton time.
        Refactored xsltElementComp() (preproc.c); enhanced error reports.
        Fixed: if the "namespace" attribute was not given, then this
        performed incorrectly only a lookup for a default namespace;
        i.e., without taking any prefix on the "name" attribute into
        account.
        Refactored xsltElement() (transform.c); enhanced error reports.
        Refactored xsltAttributeComp() (preproc.c). Added namespace
        lookup as in xsltElementComp(). Enhanced error reports.
        Refactored xsltAttribute() (transform.c); enhanced error reports.
        xsltCopyTreeInternal(): eliminated the need to call xmlGetNsList()
        for every element in the tree; this needs to be done only for
        the top-most elements. For subsequent elements reconcile only
        the ns-declarations. Disallowed setting of ns-declarations if
        children have been already added to an element.
        Removed ns-aliasing code where necessary.
        xsltCopyProp(): disallowed setting of attribute nodes if
        children have been already added to an element.
        xsltCopy(): removed the incorrect skipping of attributes in the
        XSLT namespace. Removed the incorrect ns-aliasing for attributes.
        Changed to use the introduced function xsltShallowCopyAttr().
        xsltShallowCopyAttr():  Centralized all attribute-copy related
        code in this function. It will now be called by
        xsltCopyTreeInternal(), xsltCopyOf() and xsltCopy().
        xsltCopyAttrListNoOverwrite(): Renamed. Refactored. Optimized to
        use xsltGetSpecialNamespace() and xmlNewDocProp().
        Further substitution of various scattered namespace-lookup
        related code for the use of xsltGetSpecialNamespace().
        xsltAttrTemplateProcess(): Refactored. Removed the incorrect
        processing of attribute-sets. Attribute sets need to be applied
        before adding any normal attribute of the literal result element;
        this is now done in  xsltAttrListTemplateProcess(). Fixed to
        ensure that the ns-prefix of the overwriting attribute is used.
        xsltAttrListTemplateProcess(): Refactored. Moved semantics from
        xsltAttrTemplateProcess() over to this function in order to
        optimize processing of multiple attributes. This does not call
        xsltAttrTemplateProcess() anymore.
        Fixed: do not exclude the XSLT namespace after ns-aliasing have
        beed applied.
        The IFDEFed-out refactored code fixes the following issues:
        - #313711: namespace collision with namespace-alias (reported
                    by by Oleg Paraschenko)
        - #338214: Incorrect scope for exclude-result-prefixes
        - #341392: Excluding namespace declarations of literal result
                   elements.
        - #341325: Namespace aliasing and resulting namespace prefixes
        Already enabled fixes:
        - #344183: xsl:copy misses to copy attributes in the XSLT namespace
        - #341463: Namespace-alias using #default for result-prefix with no
        	     default namespace in scope
        - #313890: namespace collision with xsl:element and xsl:attribute,
        	     reported by Oleg Paraschenko
        - #344176: xsl:copy misses to set an element's namespace-URI in
                   some cases
        - #305739: the "name" QName of xsl:element is incorrectly always
        	     resolved to the default namespace
      c09974f8
  16. 22 May, 2006 1 commit
    • Kasimier T. Buchcik's avatar
      Next tiny step of refactoring - mostly bug fixes and cosmetic changes. · c43f2625
      Kasimier T. Buchcik authored
      * libxslt/attributes.c libxslt/documents.c
        libxslt/extensions.c libxslt/keys.c libxslt/pattern.c
        libxslt/preproc.c libxslt/templates.c
        libxslt/transform.c libxslt/variables.c
        libxslt/xslt.c libxslt/xsltInternals.h:
        Next tiny step of refactoring - mostly bug fixes and
        cosmetic changes.
        Changes outside of the refactored code:
        1) Optimized xsl:attribute if the content consists of
         just 1 text node.
        2) Optimized computation of xsl:key. The keys will now be
         computed for a specific document not until the first call
         of a key() function; here only the keys with the specific
         name used by key() are computed. This means that this
         now avoids computation of all keys for all loaded
         input documents (even if no key() was called on them).
         One exception is the scenario where a key() is used in
         a template's match pattern; in this case all keys are
         computed for a document if there's a chance that
         a "keyed" template could match a node (this could still
         be optimized a bit).
      c43f2625
  17. 12 May, 2006 1 commit
    • Kasimier T. Buchcik's avatar
      Next step of refactoring. For more details see bug #341588. I applied the · 76ccb300
      Kasimier T. Buchcik authored
      * libxslt/documents.c libxslt/namespaces.c
        libxslt/preproc.c libxslt/transform.c
        libxslt/xslt.c libxslt/xsltInternals.h libxslt/xsltutils.c:
        Next step of refactoring. For more details see bug #341588.
        I applied the suggestion of Jerome Pesenti to the refactored
        (still IDFEDed out with XSLT_REFACTORED) code: The XPath
        compilation context (accessible via the compilation context)
        is now reused for compilation of expressions at
        compilation-time; this should reduce compilation time to 50%
        for avarage stylesheets.
      76ccb300
  18. 05 May, 2006 1 commit
    • Kasimier T. Buchcik's avatar
      Next step of refactoring (plus some bug-fixes). For more details see · eb037ebd
      Kasimier T. Buchcik authored
      * libxslt/xsltInternals.h libxslt/attributes.c
        libxslt/documents.c libxslt/extensions.c
        libxslt/extensions.h libxslt/functions.c
        libxslt/imports.c libxslt/keys.c libxslt/preproc.c
        libxslt/transform.c libxslt/variables.c libxslt/xslt.c
        libxslt/xsltutils.c libxslt/xsltutils.h libexslt/functions.c:
        Next step of refactoring (plus some bug-fixes).
        For more details see #340780.
      eb037ebd
  19. 12 Apr, 2006 1 commit
    • Kasimier T. Buchcik's avatar
      Refactored the internal structures into specialized structures and · c809be06
      Kasimier T. Buchcik authored
      * libxslt/attributes.c libxslt/preproc.c libxslt/transform.c
        libxslt/variables.c libxslt/xslt.c libxslt/xsltInternals.h
        libxslt/xsltutils.c libxslt/xsltutils.h:
        Refactored the internal structures into specialized
        structures and adjusted the code to work with those new
        structures. I didn't yet (we should in the future)
        renamed any fields of the old structures in order to avoid
        changing too much code.
        Introduced the internal structure xsltCompilerCtxt to be
        used for storage and control of the compilation.
        Optimized the way lists of in-scope namespaces are created
        and stored; this will now only generate a new list if
        really needed, i.e. if we encounter a ns-decl.
        All this changes here are IFDEFed out with XSLT_REFACTORED.
      c809be06
  20. 30 Mar, 2006 1 commit
    • Kasimier T. Buchcik's avatar
      Eliminated usage of xsltGetNsProp() in cases where an attribute with a · ea9ed33c
      Kasimier T. Buchcik authored
      * libxslt/xslt.c libxslt/xsltutils.c libxslt/preproc.c
        libxslt/namespaces.c libxslt/imports.c
        libxslt/attributes.c: Eliminated usage of xsltGetNsProp() in cases
        where an attribute with a specific namespace is requested.
        xsltGetNsProp() uses xmlGetProp() which is not namespace aware
        and thus will return the first attribute with the requested
        name but of arbitrary namespace.
        Changed retrieval of the attributes "exclude-result-prefixes"
        and "extension-element-prefixes", which are expected to be in
        no namespace on XSLT elements and in the XSLT namespace on
        literal result elements or extension elements.
        Additional change: for XSLT elements the attribute
        "exclude-result-prefixes" is only allowed on xsl:stylesheet
        and xsl:transform. This attribute was previously processed on
        all XSLT elements.
      ea9ed33c
  21. 10 Mar, 2006 1 commit
  22. 29 Mar, 2005 1 commit
  23. 22 Jan, 2005 1 commit
  24. 25 Sep, 2004 1 commit
  25. 04 Mar, 2004 1 commit
  26. 25 Feb, 2004 1 commit
  27. 23 Feb, 2004 1 commit
  28. 13 Feb, 2004 1 commit
    • Daniel Veillard's avatar
      added new code to handle attribute value templates also a lot of work to · 50b5fc7b
      Daniel Veillard authored
      * libxslt/attrvt.c libxslt/Makefile.am: added new code to handle
        attribute value templates
      * libxslt/*.c libxslt/*.h: also a lot of work to reuse the
        dictionaries at the stylesheet and transformation level.
      * configure.in: this relies on a recent version of libxml2
        with the sub dictionnary catalog.
      Daniel
      50b5fc7b
  29. 14 Nov, 2003 1 commit
  30. 05 Nov, 2003 1 commit
    • William M. Brack's avatar
      Minor enhancements to eliminate compile/test warnings · 9d9bdf0b
      William M. Brack authored
      * libxslt/xsltconfig.h.in, libexstl/exsltconfig.h.in:
        changed macro ATTRIBUTE_UNUSED for gcc so that, if undefined,
        it's defined as __attribute__((unused))
      * python/libxslt.c: fixed ATTRIBUTE_UNUSED to appear after
        variable declaration
      * libxslt/preproc.c: minor change to get rid of unused var/code
      9d9bdf0b
  31. 04 Nov, 2003 1 commit
  32. 31 Oct, 2003 1 commit
  33. 06 Jul, 2003 1 commit
  34. 07 Feb, 2003 1 commit
  35. 11 Dec, 2002 1 commit
    • Daniel Veillard's avatar
      copied over the apibuild.py from libxml2, adapted a bit and regenerated · 162c34f4
      Daniel Veillard authored
      * doc/Makefile.am doc/apibuild.py doc/libxslt-api.xml:
        copied over the apibuild.py from libxml2, adapted a bit and
        regenerated the API description in XML. Todo: libexslt-api.xml
      * libxslt/attributes.c libxslt/documents.c libxslt/extensions.c
        libxslt/imports.c libxslt/numbers.c libxslt/numbersInternals.h
        libxslt/pattern.c libxslt/preproc.c libxslt/security.c
        libxslt/templates.c libxslt/transform.c libxslt/transform.h
        libxslt/variables.c libxslt/xslt.c libxslt/xsltInternals.h
        libxslt/xsltutils.c libxslt/xsltutils.h: cleanup based on the
        report from the scripts.
      * libxslt.spec.in: make sure libxslt-api.xml ends up in the devel
        package
      Daniel
      162c34f4
  36. 27 Nov, 2002 1 commit
  37. 22 Oct, 2002 1 commit
    • Daniel Veillard's avatar
      fixed bug #78501 when using a non ascii character for the number · 6b0ea0af
      Daniel Veillard authored
      * libxslt/numbers.c libxslt/numbersInternals.h libxslt/xsltutils.[ch]:
        fixed bug #78501 when using a non ascii character for the
        number formatting grouping separator.
      * tests/docs/Makefile.am tests/docs/bug-95.xml
        tests/general/Makefile.am tests/general/bug-95.*: added the
        example in the regression tests for this case
      * libxslt/attributes.c: cleaning up a problem introduced in last
        patch
      Daniel
      6b0ea0af
  38. 15 Oct, 2002 1 commit
    • Daniel Veillard's avatar
      added the possibility to register a transformation context specific error · dd6061e8
      Daniel Veillard authored
      * libxslt/xsltInternals.h libxslt/xsltutils.[ch]: added the
        possibility to register a transformation context specific
        error handler, with xsltSetTransformErrorFunc() and provided
        a new routine xsltTransformError() to handle contextual errors,
        this should fix #94435
      * libxslt/*.c: modified all the code to use the context specific
        error handling, as a result xsltPrintErrorContext() is not called
        anymore except internally from xsltTransformError()
      Daniel
      dd6061e8