plcopen/variables_infos.xslt
changeset 1368 e567e4bee11f
parent 1361 7158aa054226
child 1936 b85b13b1c2ec
equal deleted inserted replaced
1367:324767a092dc 1368:e567e4bee11f
     6   <xsl:param name="tree"/>
     6   <xsl:param name="tree"/>
     7   <xsl:template match="text()">
     7   <xsl:template match="text()">
     8     <xsl:param name="_indent" select="0"/>
     8     <xsl:param name="_indent" select="0"/>
     9   </xsl:template>
     9   </xsl:template>
    10   <xsl:variable name="project">
    10   <xsl:variable name="project">
    11     <xsl:choose>
    11     <xsl:copy-of select="document('project')/project/*"/>
    12       <xsl:when test="$tree='True'">
       
    13         <xsl:copy-of select="document('project')/project/*"/>
       
    14       </xsl:when>
       
    15     </xsl:choose>
       
    16   </xsl:variable>
    12   </xsl:variable>
    17   <xsl:variable name="stdlib">
    13   <xsl:variable name="stdlib">
    18     <xsl:choose>
    14     <xsl:copy-of select="document('stdlib')/stdlib/*"/>
    19       <xsl:when test="$tree='True'">
       
    20         <xsl:copy-of select="document('stdlib')/stdlib/*"/>
       
    21       </xsl:when>
       
    22     </xsl:choose>
       
    23   </xsl:variable>
    15   </xsl:variable>
    24   <xsl:variable name="extensions">
    16   <xsl:variable name="extensions">
    25     <xsl:choose>
    17     <xsl:copy-of select="document('extensions')/extensions/*"/>
    26       <xsl:when test="$tree='True'">
       
    27         <xsl:copy-of select="document('extensions')/extensions/*"/>
       
    28       </xsl:when>
       
    29     </xsl:choose>
       
    30   </xsl:variable>
    18   </xsl:variable>
    31   <xsl:template match="ppx:configuration">
    19   <xsl:template match="ppx:configuration">
    32     <xsl:param name="_indent" select="0"/>
    20     <xsl:param name="_indent" select="0"/>
    33     <xsl:apply-templates select="ppx:globalVars">
    21     <xsl:apply-templates select="ppx:globalVars">
    34       <xsl:with-param name="_indent" select="$_indent + (1) * $autoindent"/>
    22       <xsl:with-param name="_indent" select="$_indent + (1) * $autoindent"/>
   159   <xsl:template mode="var_type" match="ppx:variable">
   147   <xsl:template mode="var_type" match="ppx:variable">
   160     <xsl:param name="_indent" select="0"/>
   148     <xsl:param name="_indent" select="0"/>
   161     <xsl:variable name="name">
   149     <xsl:variable name="name">
   162       <xsl:value-of select="@name"/>
   150       <xsl:value-of select="@name"/>
   163     </xsl:variable>
   151     </xsl:variable>
   164     <xsl:value-of select="ns:AddTree($name)"/>
   152     <xsl:value-of select="ns:AddTree()"/>
   165     <xsl:apply-templates mode="var_type" select="ppx:type">
   153     <xsl:apply-templates mode="var_type" select="ppx:type">
   166       <xsl:with-param name="_indent" select="$_indent + (1) * $autoindent"/>
   154       <xsl:with-param name="_indent" select="$_indent + (1) * $autoindent"/>
   167     </xsl:apply-templates>
   155     </xsl:apply-templates>
   168     <xsl:value-of select="ns:AddVarToTree($name)"/>
   156     <xsl:value-of select="ns:AddVarToTree($name)"/>
   169   </xsl:template>
   157   </xsl:template>
   197     <xsl:param name="_indent" select="0"/>
   185     <xsl:param name="_indent" select="0"/>
   198     <xsl:apply-templates mode="var_type" select="ppx:baseType">
   186     <xsl:apply-templates mode="var_type" select="ppx:baseType">
   199       <xsl:with-param name="_indent" select="$_indent + (1) * $autoindent"/>
   187       <xsl:with-param name="_indent" select="$_indent + (1) * $autoindent"/>
   200     </xsl:apply-templates>
   188     </xsl:apply-templates>
   201     <xsl:for-each select="ppx:dimension">
   189     <xsl:for-each select="ppx:dimension">
   202       <xsl:value-of select="ns:AddDimension(@lower, @upper)"/>
   190       <xsl:variable name="lower">
       
   191         <xsl:value-of select="@lower"/>
       
   192       </xsl:variable>
       
   193       <xsl:variable name="upper">
       
   194         <xsl:value-of select="@upper"/>
       
   195       </xsl:variable>
       
   196       <xsl:value-of select="ns:AddDimension($lower, $upper)"/>
   203     </xsl:for-each>
   197     </xsl:for-each>
   204   </xsl:template>
   198   </xsl:template>
   205   <xsl:template mode="var_type" match="*[self::ppx:type or self::ppx:baseType or self::ppx:returnType]/ppx:string">
   199   <xsl:template mode="var_type" match="*[self::ppx:type or self::ppx:baseType or self::ppx:returnType]/ppx:string">
   206     <xsl:param name="_indent" select="0"/>
   200     <xsl:param name="_indent" select="0"/>
   207     <xsl:variable name="name">
   201     <xsl:variable name="name">
   223     </xsl:variable>
   217     </xsl:variable>
   224     <xsl:value-of select="ns:SetType($name)"/>
   218     <xsl:value-of select="ns:SetType($name)"/>
   225   </xsl:template>
   219   </xsl:template>
   226   <xsl:template mode="var_edit" match="*[self::ppx:type or self::ppx:baseType or self::ppx:returnType]/ppx:derived">
   220   <xsl:template mode="var_edit" match="*[self::ppx:type or self::ppx:baseType or self::ppx:returnType]/ppx:derived">
   227     <xsl:param name="_indent" select="0"/>
   221     <xsl:param name="_indent" select="0"/>
   228     <xsl:variable name="type_name" select="@name"/>
   222     <xsl:variable name="type_name">
       
   223       <xsl:value-of select="@name"/>
       
   224     </xsl:variable>
   229     <xsl:variable name="pou_infos">
   225     <xsl:variable name="pou_infos">
   230       <xsl:copy-of select="exsl:node-set($project)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |&#10;                    exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |&#10;                    exsl:node-set($extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"/>
   226       <xsl:copy-of select="exsl:node-set($project)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |&#10;                    exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |&#10;                    exsl:node-set($extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"/>
   231     </xsl:variable>
   227     </xsl:variable>
   232     <xsl:choose>
   228     <xsl:choose>
   233       <xsl:when test="$pou_infos != ''">
   229       <xsl:when test="$pou_infos != ''">