diff -r 3a2bd70c01df -r b4a9a3122abb yslt.yml2 --- a/yslt.yml2 Wed Aug 29 23:57:58 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,101 +0,0 @@ -// YSLT version 2.5.5 - -!! -def indent(level): - return "value 'substring($space, 1, $_indent+" + str(level) + "*$autoindent)';" -!! - -in exsl decl document(href, method) alias document; -in func decl def(name) alias function, result(select); - -decl debug_off(exclude-result-prefixes="yml"); - -in xsl { - decl _trace_param(%text, name="yml:trace", select='yml:debug("* %text")') alias param; - decl _trace_with is _trace_param alias with-param; - - decl param(name, select); - decl const(name, select) alias variable, variable is const; - decl output(method), key(name, match, use); - decl value(select) alias value-of, copy(select) alias copy-of; - - decl indent is value(%level, select='substring($space, 1, $_indent + (%level) * $autoindent)'); - - decl stylesheet( - *output="xml", - version="1.0", - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - ) { - output *output; - const "space", !"'" + " " * 200 + "'"!; - param "autoindent", 4; - content; - }; - - decl estylesheet is stylesheet ( - xmlns:exsl='http://exslt.org/common', - xmlns:math='http://exslt.org/math', - xmlns:func='http://exslt.org/functions', - xmlns:str='http://exslt.org/strings', - xmlns:dyn='http://exslt.org/dynamic', - xmlns:set='http://exslt.org/sets', - xmlns:sets='http://exslt.org/sets', - xmlns:date='http://exslt.org/dates-and-times', - xmlns:yml='http://fdik.org/yml', - extension-element-prefixes='exsl func str dyn set sets math date yml' - ); - - decl textstylesheet is estylesheet(*output="text") { - output *output; - const "space", !"'" + " " * 200 + "'"!; - param "autoindent", 4; - xsl:template "text()"; - content; - }, tstylesheet is textstylesheet; - - decl template(match) { - _trace_param *_trace_info; - param "_indent", 0; - content; - }; - - decl function(name) alias template { - _trace_param *_trace_info; - param "_indent", 0; - content; - }; - - decl call(name) alias call-template { - _trace_with *_trace_info; - content; - }; - - decl namespace_alias(stylesheet-prefix, result-prefix); - decl text, raw(disable-output-escaping='yes') alias text; - - decl with(name, select) alias with-param; - decl withIndent(%level, name="_indent", select='$_indent + (%level) * $autoindent') alias with-param; - - decl apply(select, *indent=1) alias apply-templates { - _trace_with *_trace_info; - withIndent *indent; - content; - }; - - decl choose, when(test), otherwise; - decl if(test); - decl for(select) alias for-each, foreach is for; - decl element(name, namespace); - decl attrib(name, namespace) alias attribute, attrib_set(name) alias attribute-set; - decl processing(name) alias processing-instruction; - decl comment; - decl number(value), sort(select), decimal_format(name, decimal-separator=".", grouping-separator=","); - decl import(href), fallback; - decl message, error is message(terminate='yes'), warning is message(terminate='no'); - - decl debug(%text, select='yml:debug(%text)') alias value-of; - decl assert(%test, %msg="''", select='yml:assert(%test,%msg)') alias value-of; -} - -define operator "«(.*?)»" as value "%1"; -