plcopen/pou_variables.xslt
changeset 1945 90bf6bd94b94
parent 1943 9dc0e38552b2
child 1946 95fa4e05e30f
--- a/plcopen/pou_variables.xslt	Sun Feb 18 21:30:48 2018 +0100
+++ b/plcopen/pou_variables.xslt	Sun Feb 18 21:51:33 2018 +0100
@@ -9,6 +9,7 @@
   <xsl:variable name="project" select="ns:GetProject()"/>
   <xsl:variable name="stdlib" select="ns:GetStdLibs()"/>
   <xsl:variable name="extensions" select="ns:GetExtensions()"/>
+  <xsl:variable name="all" select="$project | $stdlib | $extensions"/>
   <xsl:template name="add_root">
     <xsl:param name="class"/>
     <xsl:param name="type"/>
@@ -204,7 +205,7 @@
   <xsl:template mode="var_class" match="*[self::ppx:type or self::ppx:baseType]/ppx:derived">
     <xsl:param name="default_class"/>
     <xsl:variable name="type_name" select="@name"/>
-    <xsl:variable name="pou_infos" select="($project|$stdlib|$extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"/>
+    <xsl:variable name="pou_infos" select="$all/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"/>
     <xsl:choose>
       <xsl:when test="$pou_infos">
         <xsl:apply-templates mode="var_class" select="$pou_infos"/>
@@ -245,7 +246,7 @@
   </xsl:template>
   <xsl:template mode="var_edit" match="*[self::ppx:type or self::ppx:baseType]/ppx:derived">
     <xsl:variable name="type_name" select="@name"/>
-    <xsl:variable name="pou_infos" select="$project/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"/>
+    <xsl:variable name="pou_infos" select="$project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"/>
     <xsl:choose>
       <xsl:when test="$pou_infos">
         <xsl:text>true</xsl:text>
@@ -263,9 +264,9 @@
   </xsl:template>
   <xsl:template mode="var_debug" match="*[self::ppx:type or self::ppx:baseType]/ppx:derived">
     <xsl:variable name="type_name" select="@name"/>
-    <xsl:variable name="datatype_infos" select="($project|$stdlib|$extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"/>
+    <xsl:variable name="datatype_infos" select="&#10;            $project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |&#10;            $all/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name]&#10;        "/>
     <xsl:choose>
-      <xsl:when test="$datatype_infos != ''">
+      <xsl:when test="$datatype_infos">
         <xsl:apply-templates mode="var_debug" select="$datatype_infos"/>
       </xsl:when>
       <xsl:otherwise>