yslt_noindent.yml2
author Edouard Tisserant <edouard@beremiz.fr>
Fri, 07 Feb 2025 10:52:09 +0100 (7 weeks ago)
changeset 4104 9e59bb5ad9e1
parent 2638 f48dcd148209
permissions -rw-r--r--
Python runtime: call "OnIdle" tasks when py_eval FBs execution queue is empty.

This is usefull to execute slow operations that can be deffered from functions called by py_eval FBs.
User python code add a callable to "OnIdle" list made available in global scope.
include yslt.yml2
!!
def indent(level):
    return ""
!!

in xsl {
    decl istylesheet (
        *output="xml",
        version="1.0",
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform",
        xmlns:exsl='http://exslt.org/common',
        xmlns:regexp="http://exslt.org/regular-expressions",
        xmlns:str="http://exslt.org/strings",
        xmlns:func="http://exslt.org/functions",
        extension-element-prefixes='exsl regexp str func'
    ) alias stylesheet {
        output *output;
        content;
    };

    decl indent() alias -; 

    decl template(match) {
        content;
    };

    decl function(name) alias template {
        content;
    };
   
    decl call(name) alias call-template {
        content;
    };

    decl apply(select) alias apply-templates {
        content;
    };
}