Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: third_party/libxslt/libxslt/transform.c

Issue 2777943003: Roll libxslt to ac341cbd792ee572941cc9a66e73800219a1a386 (Closed)
Patch Set: Update README.chromium. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/libxslt/libxslt/libxslt.syms ('k') | third_party/libxslt/libxslt/xslt.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * transform.c: Implementation of the XSL Transformation 1.0 engine 2 * transform.c: Implementation of the XSL Transformation 1.0 engine
3 * transform part, i.e. applying a Stylesheet to a document 3 * transform part, i.e. applying a Stylesheet to a document
4 * 4 *
5 * References: 5 * References:
6 * http://www.w3.org/TR/1999/REC-xslt-19991116 6 * http://www.w3.org/TR/1999/REC-xslt-19991116
7 * 7 *
8 * Michael Kay "XSLT Programmer's Reference" pp 637-643 8 * Michael Kay "XSLT Programmer's Reference" pp 637-643
9 * Writing Multiple Output Files 9 * Writing Multiple Output Files
10 * 10 *
(...skipping 2668 matching lines...) Expand 10 before | Expand all | Expand 10 after
2679 ctxt->insert = oldInsert; 2679 ctxt->insert = oldInsert;
2680 } else { 2680 } else {
2681 /* 2681 /*
2682 * Execute the handler-callback. 2682 * Execute the handler-callback.
2683 */ 2683 */
2684 #ifdef WITH_XSLT_DEBUG_PROCESS 2684 #ifdef WITH_XSLT_DEBUG_PROCESS
2685 XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATE,xsltGenericDebug(x sltGenericDebugContext, 2685 XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATE,xsltGenericDebug(x sltGenericDebugContext,
2686 "xsltApplySequenceConstructor: extension construct %s\n" , 2686 "xsltApplySequenceConstructor: extension construct %s\n" ,
2687 cur->name)); 2687 cur->name));
2688 #endif 2688 #endif
2689 /*
2690 * Disable the xsltCopyTextString optimization for
2691 * extension elements. Extensions could append text using
2692 * xmlAddChild which will free the buffer pointed to by
2693 * 'lasttext'. This buffer could later be reallocated with
2694 * a different size than recorded in 'lasttsize'. See bug
2695 * #777432.
2696 */
2697 if (cur->psvi == xsltExtMarker) {
2698 ctxt->lasttext = NULL;
2699 }
2700
2689 ctxt->insert = insert; 2701 ctxt->insert = insert;
2690 2702
2691 func(ctxt, contextNode, cur, cur->psvi); 2703 func(ctxt, contextNode, cur, cur->psvi);
2692 2704
2693 /* 2705 /*
2694 * Cleanup temporary tree fragments. 2706 * Cleanup temporary tree fragments.
2695 */ 2707 */
2696 if (oldLocalFragmentTop != ctxt->localRVT) 2708 if (oldLocalFragmentTop != ctxt->localRVT)
2697 xsltReleaseLocalRVTs(ctxt, oldLocalFragmentTop); 2709 xsltReleaseLocalRVTs(ctxt, oldLocalFragmentTop);
2698 2710
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
2862 "xsltApplySequenceConstructor: failed to find extension %s\n", 2874 "xsltApplySequenceConstructor: failed to find extension %s\n",
2863 cur->name); 2875 cur->name);
2864 } 2876 }
2865 } else { 2877 } else {
2866 #ifdef WITH_XSLT_DEBUG_PROCESS 2878 #ifdef WITH_XSLT_DEBUG_PROCESS
2867 XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATE,xsltGenericDebug(xsltG enericDebugContext, 2879 XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATE,xsltGenericDebug(xsltG enericDebugContext,
2868 "xsltApplySequenceConstructor: extension construct %s\n", 2880 "xsltApplySequenceConstructor: extension construct %s\n",
2869 cur->name)); 2881 cur->name));
2870 #endif 2882 #endif
2871 2883
2884 /*
2885 * Disable the xsltCopyTextString optimization for
2886 * extension elements. Extensions could append text using
2887 * xmlAddChild which will free the buffer pointed to by
2888 * 'lasttext'. This buffer could later be reallocated with
2889 * a different size than recorded in 'lasttsize'. See bug
2890 * #777432.
2891 */
2892 if (cur->psvi == xsltExtMarker) {
2893 ctxt->lasttext = NULL;
2894 }
2895
2872 ctxt->insert = insert; 2896 ctxt->insert = insert;
2873 2897
2874 function(ctxt, contextNode, cur, cur->psvi); 2898 function(ctxt, contextNode, cur, cur->psvi);
2875 /* 2899 /*
2876 * Cleanup temporary tree fragments. 2900 * Cleanup temporary tree fragments.
2877 */ 2901 */
2878 if (oldLocalFragmentTop != ctxt->localRVT) 2902 if (oldLocalFragmentTop != ctxt->localRVT)
2879 xsltReleaseLocalRVTs(ctxt, oldLocalFragmentTop); 2903 xsltReleaseLocalRVTs(ctxt, oldLocalFragmentTop);
2880 2904
2881 ctxt->insert = oldInsert; 2905 ctxt->insert = oldInsert;
(...skipping 2732 matching lines...) Expand 10 before | Expand all | Expand 10 after
5614 ************************************************************************/ 5638 ************************************************************************/
5615 5639
5616 #ifdef XSLT_GENERATE_HTML_DOCTYPE 5640 #ifdef XSLT_GENERATE_HTML_DOCTYPE
5617 typedef struct xsltHTMLVersion { 5641 typedef struct xsltHTMLVersion {
5618 const char *version; 5642 const char *version;
5619 const char *public; 5643 const char *public;
5620 const char *system; 5644 const char *system;
5621 } xsltHTMLVersion; 5645 } xsltHTMLVersion;
5622 5646
5623 static xsltHTMLVersion xsltHTMLVersions[] = { 5647 static xsltHTMLVersion xsltHTMLVersions[] = {
5648 { "5", NULL, "about:legacy-compat" },
5624 { "4.01frame", "-//W3C//DTD HTML 4.01 Frameset//EN", 5649 { "4.01frame", "-//W3C//DTD HTML 4.01 Frameset//EN",
5625 "http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd"}, 5650 "http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd"},
5626 { "4.01strict", "-//W3C//DTD HTML 4.01//EN", 5651 { "4.01strict", "-//W3C//DTD HTML 4.01//EN",
5627 "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd"}, 5652 "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd"},
5628 { "4.01trans", "-//W3C//DTD HTML 4.01 Transitional//EN", 5653 { "4.01trans", "-//W3C//DTD HTML 4.01 Transitional//EN",
5629 "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"}, 5654 "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"},
5630 { "4.01", "-//W3C//DTD HTML 4.01 Transitional//EN", 5655 { "4.01", "-//W3C//DTD HTML 4.01 Transitional//EN",
5631 "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"}, 5656 "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"},
5632 { "4.0strict", "-//W3C//DTD HTML 4.01//EN", 5657 { "4.0strict", "-//W3C//DTD HTML 4.01//EN",
5633 "http://www.w3.org/TR/html4/strict.dtd"}, 5658 "http://www.w3.org/TR/html4/strict.dtd"},
(...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after
6430 XSLT_NAMESPACE, 6455 XSLT_NAMESPACE,
6431 (xsltTransformFunction) xsltDebug); 6456 (xsltTransformFunction) xsltDebug);
6432 xsltRegisterExtElement(ctxt, (const xmlChar *) "otherwise", 6457 xsltRegisterExtElement(ctxt, (const xmlChar *) "otherwise",
6433 XSLT_NAMESPACE, 6458 XSLT_NAMESPACE,
6434 (xsltTransformFunction) xsltDebug); 6459 (xsltTransformFunction) xsltDebug);
6435 xsltRegisterExtElement(ctxt, (const xmlChar *) "fallback", 6460 xsltRegisterExtElement(ctxt, (const xmlChar *) "fallback",
6436 XSLT_NAMESPACE, 6461 XSLT_NAMESPACE,
6437 (xsltTransformFunction) xsltDebug); 6462 (xsltTransformFunction) xsltDebug);
6438 6463
6439 } 6464 }
OLDNEW
« no previous file with comments | « third_party/libxslt/libxslt/libxslt.syms ('k') | third_party/libxslt/libxslt/xslt.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698