diff -r a4382ae1ba82 -r 9dc0e38552b2 plcopen/pou_variables.ysl2 --- a/plcopen/pou_variables.ysl2 Sat Feb 17 16:42:56 2018 +0100 +++ b/plcopen/pou_variables.ysl2 Sat Feb 17 23:58:47 2018 +0100 @@ -1,7 +1,7 @@ include yslt_noindent.yml2 istylesheet xmlns:ppx="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" - xmlns:ns="pou_vars_ns" + xmlns:ns="beremiz" extension-element-prefixes="ns" exclude-result-prefixes="ns" { @@ -11,16 +11,11 @@ template "text()", mode="var_edit"; template "text()", mode="var_debug"; - variable "project" { - copy "document('project')/project/*"; - } - - variable "stdlib" { - copy "document('stdlib')/stdlib/*"; - } - variable "extensions" { - copy "document('extensions')/extensions/*"; - } + variable "project", "ns:GetProject()"; + + variable "stdlib", "ns:GetStdLibs()"; + + variable "extensions", "ns:GetExtensions()"; function "add_root" { param "class"; @@ -176,14 +171,10 @@ template "*[self::ppx:type or self::ppx:baseType]/ppx:derived", mode="var_class" { param "default_class"; variable "type_name", "@name"; - variable "pou_infos" { - copy """exsl:node-set($project)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] | - exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] | - exsl:node-set($extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"""; - } + variable "pou_infos", "($project|$stdlib|$extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"; choose { - when "$pou_infos != ''" { - apply "exsl:node-set($pou_infos)", mode="var_class"; + when "$pou_infos" { + apply "$pou_infos", mode="var_class"; } otherwise { value "$default_class" @@ -227,11 +218,9 @@ template "*[self::ppx:type or self::ppx:baseType]/ppx:derived", mode="var_edit" { variable "type_name", "@name"; - variable "pou_infos" { - copy "exsl:node-set($project)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"; - } + variable "pou_infos", "$project/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"; choose { - when "$pou_infos != ''" > true + when "$pou_infos" > true otherwise > false } } @@ -246,15 +235,10 @@ template "*[self::ppx:type or self::ppx:baseType]/ppx:derived", mode="var_debug" { variable "type_name", "@name"; - variable "datatype_infos" { - copy """exsl:node-set($project)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] | - exsl:node-set($project)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name] | - exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name] | - exsl:node-set($extensions)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name]"""; - } + variable "datatype_infos", "($project|$stdlib|$extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"; choose { when "$datatype_infos != ''" { - apply "exsl:node-set($datatype_infos)", mode="var_debug"; + apply "$datatype_infos", mode="var_debug"; } otherwise > false }