plcopen/instances_path.ysl2
changeset 1937 986dbad48ab7
parent 1936 b85b13b1c2ec
child 1938 87136f8697e3
equal deleted inserted replaced
1936:b85b13b1c2ec 1937:986dbad48ab7
     7     
     7     
     8     param "instance_type";
     8     param "instance_type";
     9     
     9     
    10     template "text()";
    10     template "text()";
    11     
    11     
    12     variable "project" {
    12     variable "project", "ns:GetProject()";
    13         copy "document('project')/project/*";
       
    14     }
       
    15     
    13     
    16     variable "stdlib" {
    14     variable "stdlib", "ns:GetStdLibs()";
    17         copy "document('stdlib')/stdlib/*";
    15 
    18     }
    16     variable "extensions", "ns:GetExtensions()";
    19     variable "extensions" {
    17 
    20         copy "document('extensions')/extensions/*";
    18     variable "all", "$project | $stdlib | $extensions";
    21     }
       
    22     
    19     
    23     template "ppx:project" {
    20     template "ppx:project" {
    24         instances {
    21         instances {
    25             apply "ppx:instances/ppx:configurations/ppx:configuration";
    22             apply "ppx:instances/ppx:configurations/ppx:configuration";
    26         }
    23         }
    47             when "@typeName=$instance_type" {
    44             when "@typeName=$instance_type" {
    48                 value "ns:AddInstance($pou_instance_path)";
    45                 value "ns:AddInstance($pou_instance_path)";
    49             }
    46             }
    50             otherwise {
    47             otherwise {
    51                 variable "type_name" > «@typeName»
    48                 variable "type_name" > «@typeName»
    52                 apply """exsl:node-set($project)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |
    49                 apply """$all/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |
    53                          exsl:node-set($project)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name] |
    50                          $all/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name]""" {
    54                          exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |
       
    55                          exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name] |
       
    56                          exsl:node-set($extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |
       
    57                          exsl:node-set($extensions)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name]""" {
       
    58                     with "instance_path" > «$pou_instance_path»
    51                     with "instance_path" > «$pou_instance_path»
    59                 }
    52                 }
    60             }
    53             }
    61         }
    54         }
    62     }
    55     }
    89             when "@name=$instance_type" {
    82             when "@name=$instance_type" {
    90                 value "ns:AddInstance($variable_path)";
    83                 value "ns:AddInstance($variable_path)";
    91             }
    84             }
    92             otherwise {
    85             otherwise {
    93                 variable "type_name" > «@name»
    86                 variable "type_name" > «@name»
    94                 apply """exsl:node-set($project)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |
    87                 apply """$all/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |
    95                          exsl:node-set($project)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name] |
    88                          $all/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name]""" {
    96                          exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |
       
    97                          exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name] |
       
    98                          exsl:node-set($extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |
       
    99                          exsl:node-set($extensions)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name]""" {
       
   100                     with "instance_path" > «$variable_path»
    89                     with "instance_path" > «$variable_path»
   101                 }
    90                 }
   102             }
    91             }
   103         }
    92         }
   104     }
    93     }