plcopen/pou_variables.ysl2
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Thu, 28 Sep 2017 15:17:57 +0300
changeset 1832 0f1081928d65
parent 1348 aee0a7eb833a
child 1936 b85b13b1c2ec
permissions -rw-r--r--
fix wrong-import-order. first standard modules are imported, then others
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
     1
include yslt.yml2
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
     2
estylesheet xmlns:ppx="http://www.plcopen.org/xml/tc6_0201"
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
     3
            xmlns:xhtml="http://www.w3.org/1999/xhtml"
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
     4
            xmlns:ns="pou_vars_ns" 
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
     5
            extension-element-prefixes="ns" 
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
     6
            exclude-result-prefixes="ns" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
     7
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
     8
    template "text()";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
     9
    template "text()", mode="var_class";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    10
    template "text()", mode="var_type";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    11
    template "text()", mode="var_edit";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    12
    template "text()", mode="var_debug";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    13
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    14
    variable "project" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    15
        copy "document('project')/project/*";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    16
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    17
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    18
    variable "stdlib" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    19
        copy "document('stdlib')/stdlib/*";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    20
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    21
    variable "extensions" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    22
        copy "document('extensions')/extensions/*";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    23
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    24
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    25
    function "add_root" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    26
        param "class";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    27
        param "type";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    28
        param "edit" > true
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    29
        param "debug" > true
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    30
        value "ns:SetRoot($class, $type, $edit, $debug)";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    31
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    32
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    33
    template "ppx:pou" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    34
        call "add_root" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    35
            with "class" > «@pouType»
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    36
            with "type" > «@name»
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    37
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    38
        apply "ppx:interface";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    39
        apply "ppx:actions/ppx:action | ppx:transitions/ppx:transition", mode="variable_list";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    40
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    41
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    42
    template "ppx:action" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    43
        call "add_root" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    44
            with "class" > action
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    45
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    46
        apply "ancestor::ppx:pou/child::ppx:interface";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    47
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    48
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    49
    template "ppx:transition" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    50
        call "add_root" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    51
            with "class" > transition
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    52
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    53
        apply "ancestor::ppx:pou/child::ppx:interface";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    54
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    55
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    56
    template "ppx:configuration" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    57
        call "add_root" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    58
            with "class" > configuration
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    59
            with "debug" > false
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    60
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    61
        apply "ppx:resource", mode="variable_list";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    62
        apply "ppx:globalVars";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    63
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    64
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    65
    template "ppx:resource" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    66
        call "add_root" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    67
            with "class" > resource
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    68
            with "debug" > false
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    69
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    70
        apply "ppx:pouInstance | ppx:task/ppx:pouInstance",  mode="variable_list";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    71
        apply "ppx:globalVars";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    72
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    73
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    74
    function "variables_infos" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    75
        param "var_class";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    76
        foreach "ppx:variable" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    77
            variable "class" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    78
                apply "ppx:type", mode="var_class" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    79
                    with "default_class" > «$var_class»
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    80
                }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    81
            }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    82
            variable "type" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    83
                apply"ppx:type", mode="var_type";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    84
            }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    85
            variable "edit" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    86
                apply "ppx:type", mode="var_edit";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    87
            }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    88
            variable "debug" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    89
                apply "ppx:type", mode="var_debug";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    90
            }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    91
            value "ns:AddVariable(@name, $class, $type, $edit, $debug)";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    92
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    93
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    94
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    95
    template "ppx:localVars" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    96
        call "variables_infos" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    97
            with "var_class" > Local
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    98
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
    99
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   100
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   101
    template "ppx:globalVars" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   102
        call "variables_infos" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   103
            with "var_class" > Global
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   104
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   105
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   106
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   107
    template "ppx:externalVars" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   108
        call "variables_infos" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   109
            with "var_class" > External
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   110
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   111
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   112
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   113
    template "ppx:tempVars" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   114
        call "variables_infos" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   115
            with "var_class" > Temp
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   116
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   117
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   118
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   119
    template "ppx:inputVars" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   120
        call "variables_infos" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   121
            with "var_class" > Input
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   122
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   123
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   124
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   125
    template "ppx:outputVars" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   126
        call "variables_infos" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   127
            with "var_class" > Output
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   128
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   129
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   130
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   131
    template "ppx:inOutVars" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   132
        call "variables_infos" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   133
            with "var_class" > InOut
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   134
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   135
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   136
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   137
    function "add_variable" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   138
        param "name";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   139
        param "class";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   140
        param "type";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   141
        param "edit" > true
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   142
        param "debug" > true
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   143
        value "ns:AddVariable($name, $class, $type, $edit, $debug)";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   144
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   145
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   146
    template "ppx:action", mode="variable_list" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   147
        call "add_variable" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   148
            with "name" > «@name»
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   149
            with "class" > action
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   150
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   151
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   152
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   153
    template "ppx:transition", mode="variable_list" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   154
        call "add_variable" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   155
            with "name" > «@name»
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   156
            with "class" > transition
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   157
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   158
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   159
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   160
    template "ppx:resource", mode="variable_list" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   161
        call "add_variable" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   162
            with "name" > «@name»
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   163
            with "class" > resource
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   164
            with "debug" > false
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   165
        } 
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   166
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   167
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   168
    template "ppx:pouInstance", mode="variable_list" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   169
        call "add_variable" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   170
            with "name" > «@name»
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   171
            with "class" > program
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   172
            with "type" > «@typeName»
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   173
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   174
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   175
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   176
    template "*[self::ppx:type or self::ppx:baseType]/ppx:derived", mode="var_class" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   177
        param "default_class";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   178
        variable "type_name", "@name";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   179
        variable "pou_infos" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   180
            copy """exsl:node-set($project)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   181
                    exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   182
                    exsl:node-set($extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]""";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   183
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   184
        choose {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   185
            when "$pou_infos != ''" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   186
                apply "exsl:node-set($pou_infos)", mode="var_class";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   187
            }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   188
            otherwise {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   189
                value "$default_class"
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   190
            }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   191
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   192
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   193
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   194
    template "ppx:pou", mode="var_class" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   195
        value "@pouType";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   196
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   197
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   198
    template "*[self::ppx:type or self::ppx:baseType]/*" mode="var_class" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   199
        param "default_class";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   200
        value "$default_class";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   201
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   202
  
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   203
    template "*[self::ppx:type or self::ppx:baseType]/ppx:derived", mode="var_type" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   204
        > «@name»
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   205
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   206
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   207
    template "*[self::ppx:type or self::ppx:baseType]/ppx:array", mode="var_type" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   208
        > ARRAY [
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   209
        foreach "ppx:dimension" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   210
            > «@lower»..«@upper»
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   211
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   212
        > ] OF 
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   213
        apply "ppx:baseType", mode="var_type";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   214
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   215
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   216
    template "*[self::ppx:type or self::ppx:baseType]/ppx:string", mode="var_type" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   217
        > STRING
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   218
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   219
  
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   220
    template "*[self::ppx:type or self::ppx:baseType]/ppx:wstring", mode="var_type" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   221
        > WSTRING
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   222
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   223
  
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   224
    template "*[self::ppx:type or self::ppx:baseType]/*", mode="var_type" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   225
        > «local-name()»
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   226
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   227
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   228
    template "*[self::ppx:type or self::ppx:baseType]/ppx:derived", mode="var_edit" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   229
        variable "type_name", "@name";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   230
        variable "pou_infos" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   231
            copy "exsl:node-set($project)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   232
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   233
        choose {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   234
            when "$pou_infos != ''" > true
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   235
            otherwise > false
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   236
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   237
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   238
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   239
    template "*[self::ppx:type or self::ppx:baseType]/ppx:array", mode="var_edit" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   240
        apply "ppx:baseType", mode="var_edit";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   241
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   242
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   243
    template "*[self::ppx:type or self::ppx:baseType]/*", mode="var_edit" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   244
        > false
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   245
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   246
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   247
    template "*[self::ppx:type or self::ppx:baseType]/ppx:derived", mode="var_debug" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   248
        variable "type_name", "@name";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   249
        variable "datatype_infos" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   250
            copy """exsl:node-set($project)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   251
                    exsl:node-set($project)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name] |
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   252
                    exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name] |
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   253
                    exsl:node-set($extensions)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name]""";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   254
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   255
        choose {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   256
            when "$datatype_infos != ''" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   257
                apply "exsl:node-set($datatype_infos)", mode="var_debug";
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   258
            }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   259
            otherwise > false
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   260
        }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   261
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   262
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   263
    template "ppx:pou", mode="var_debug" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   264
        > true
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   265
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   266
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   267
    template "*[self::ppx:type or self::ppx:baseType]/ppx:array", mode="var_debug" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   268
        > false
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   269
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   270
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   271
    template "*[self::ppx:type or self::ppx:baseType]/ppx:struct", mode="var_debug" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   272
        > false
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   273
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   274
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   275
    template "*[self::ppx:type or self::ppx:baseType]/*", mode="var_debug" {
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   276
        > true
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   277
    }
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   278
    
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents:
diff changeset
   279
}