yslt_noindent.yml2
author Edouard Tisserant <edouard.tisserant@gmail.com>
Mon, 27 Mar 2023 10:12:20 +0200
branchwxPython4
changeset 3748 a811e1ff718a
parent 2638 f48dcd148209
permissions -rw-r--r--
Tests: Add time emulation feature for tests with BEREMIZ_TEST_CYCLES CFLAG.

Adding BEREMIZ_TEST_CYCLES=1000 in a project's CFLAGS will:
- run 1000 cycles with no pause
- emulate time flowing normaly for PLC code
- exit PLC thread

This allows:
- testing standard library blocks that deal with time without having to wait
- unit testing and code coverage with POUs that uses time
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;
    };
}