plcopen/pou_variables.xslt
changeset 1945 90bf6bd94b94
parent 1943 9dc0e38552b2
child 1946 95fa4e05e30f
equal deleted inserted replaced
1944:6162e34fb246 1945:90bf6bd94b94
     7   <xsl:template mode="var_edit" match="text()"/>
     7   <xsl:template mode="var_edit" match="text()"/>
     8   <xsl:template mode="var_debug" match="text()"/>
     8   <xsl:template mode="var_debug" match="text()"/>
     9   <xsl:variable name="project" select="ns:GetProject()"/>
     9   <xsl:variable name="project" select="ns:GetProject()"/>
    10   <xsl:variable name="stdlib" select="ns:GetStdLibs()"/>
    10   <xsl:variable name="stdlib" select="ns:GetStdLibs()"/>
    11   <xsl:variable name="extensions" select="ns:GetExtensions()"/>
    11   <xsl:variable name="extensions" select="ns:GetExtensions()"/>
       
    12   <xsl:variable name="all" select="$project | $stdlib | $extensions"/>
    12   <xsl:template name="add_root">
    13   <xsl:template name="add_root">
    13     <xsl:param name="class"/>
    14     <xsl:param name="class"/>
    14     <xsl:param name="type"/>
    15     <xsl:param name="type"/>
    15     <xsl:param name="edit">
    16     <xsl:param name="edit">
    16       <xsl:text>true</xsl:text>
    17       <xsl:text>true</xsl:text>
   202     </xsl:call-template>
   203     </xsl:call-template>
   203   </xsl:template>
   204   </xsl:template>
   204   <xsl:template mode="var_class" match="*[self::ppx:type or self::ppx:baseType]/ppx:derived">
   205   <xsl:template mode="var_class" match="*[self::ppx:type or self::ppx:baseType]/ppx:derived">
   205     <xsl:param name="default_class"/>
   206     <xsl:param name="default_class"/>
   206     <xsl:variable name="type_name" select="@name"/>
   207     <xsl:variable name="type_name" select="@name"/>
   207     <xsl:variable name="pou_infos" select="($project|$stdlib|$extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"/>
   208     <xsl:variable name="pou_infos" select="$all/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"/>
   208     <xsl:choose>
   209     <xsl:choose>
   209       <xsl:when test="$pou_infos">
   210       <xsl:when test="$pou_infos">
   210         <xsl:apply-templates mode="var_class" select="$pou_infos"/>
   211         <xsl:apply-templates mode="var_class" select="$pou_infos"/>
   211       </xsl:when>
   212       </xsl:when>
   212       <xsl:otherwise>
   213       <xsl:otherwise>
   243   <xsl:template mode="var_type" match="*[self::ppx:type or self::ppx:baseType]/*">
   244   <xsl:template mode="var_type" match="*[self::ppx:type or self::ppx:baseType]/*">
   244     <xsl:value-of select="local-name()"/>
   245     <xsl:value-of select="local-name()"/>
   245   </xsl:template>
   246   </xsl:template>
   246   <xsl:template mode="var_edit" match="*[self::ppx:type or self::ppx:baseType]/ppx:derived">
   247   <xsl:template mode="var_edit" match="*[self::ppx:type or self::ppx:baseType]/ppx:derived">
   247     <xsl:variable name="type_name" select="@name"/>
   248     <xsl:variable name="type_name" select="@name"/>
   248     <xsl:variable name="pou_infos" select="$project/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"/>
   249     <xsl:variable name="pou_infos" select="$project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"/>
   249     <xsl:choose>
   250     <xsl:choose>
   250       <xsl:when test="$pou_infos">
   251       <xsl:when test="$pou_infos">
   251         <xsl:text>true</xsl:text>
   252         <xsl:text>true</xsl:text>
   252       </xsl:when>
   253       </xsl:when>
   253       <xsl:otherwise>
   254       <xsl:otherwise>
   261   <xsl:template mode="var_edit" match="*[self::ppx:type or self::ppx:baseType]/*">
   262   <xsl:template mode="var_edit" match="*[self::ppx:type or self::ppx:baseType]/*">
   262     <xsl:text>false</xsl:text>
   263     <xsl:text>false</xsl:text>
   263   </xsl:template>
   264   </xsl:template>
   264   <xsl:template mode="var_debug" match="*[self::ppx:type or self::ppx:baseType]/ppx:derived">
   265   <xsl:template mode="var_debug" match="*[self::ppx:type or self::ppx:baseType]/ppx:derived">
   265     <xsl:variable name="type_name" select="@name"/>
   266     <xsl:variable name="type_name" select="@name"/>
   266     <xsl:variable name="datatype_infos" select="($project|$stdlib|$extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"/>
   267     <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;        "/>
   267     <xsl:choose>
   268     <xsl:choose>
   268       <xsl:when test="$datatype_infos != ''">
   269       <xsl:when test="$datatype_infos">
   269         <xsl:apply-templates mode="var_debug" select="$datatype_infos"/>
   270         <xsl:apply-templates mode="var_debug" select="$datatype_infos"/>
   270       </xsl:when>
   271       </xsl:when>
   271       <xsl:otherwise>
   272       <xsl:otherwise>
   272         <xsl:text>false</xsl:text>
   273         <xsl:text>false</xsl:text>
   273       </xsl:otherwise>
   274       </xsl:otherwise>