plcopen/pou_variables.xslt
author Edouard Tisserant <edouard.tisserant@gmail.com>
Mon, 16 Oct 2023 23:50:58 +0200
changeset 3868 e9807c28a788
parent 3802 8616ffd7c29d
permissions -rw-r--r--
Fix template conflict in XSLT with lxml>=4.9.0 again

Earlier attempt was fixing conflict with -1.0 priority attribute,
as a side effect of such low priority, SFC Actions were not
editable anymore.

This time move template around instead of using explicit priority.
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
     1
<?xml version="1.0"?>
3801
6839dbb9a1df Update generated XSLT headers (updated YSLT defs)
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 2637
diff changeset
     2
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns:regexp="http://exslt.org/regular-expressions" xmlns:str="http://exslt.org/strings" xmlns:func="http://exslt.org/functions" xmlns:ppx="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:ns="beremiz" version="1.0" extension-element-prefixes="ns" exclude-result-prefixes="ns">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
     3
  <xsl:output method="xml"/>
1936
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
     4
  <xsl:template match="text()"/>
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
     5
  <xsl:template mode="var_class" match="text()"/>
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
     6
  <xsl:template mode="var_type" match="text()"/>
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
     7
  <xsl:template mode="var_edit" match="text()"/>
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
     8
  <xsl:template mode="var_debug" match="text()"/>
1943
9dc0e38552b2 GetPouVariables optimized with XSLTModelQuery
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1936
diff changeset
     9
  <xsl:variable name="project" select="ns:GetProject()"/>
9dc0e38552b2 GetPouVariables optimized with XSLTModelQuery
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1936
diff changeset
    10
  <xsl:variable name="stdlib" select="ns:GetStdLibs()"/>
9dc0e38552b2 GetPouVariables optimized with XSLTModelQuery
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1936
diff changeset
    11
  <xsl:variable name="extensions" select="ns:GetExtensions()"/>
1949
c266fbaae0f6 Better writing of some xpath added in previous commits about XSLT optimization.
Edouard Tisserant
parents: 1946
diff changeset
    12
  <xsl:variable name="all_types" select="($project | $stdlib | $extensions)/ppx:types"/>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    13
  <xsl:template name="add_root">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    14
    <xsl:param name="class"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    15
    <xsl:param name="type"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    16
    <xsl:param name="edit">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    17
      <xsl:text>true</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    18
    </xsl:param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    19
    <xsl:param name="debug">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    20
      <xsl:text>true</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    21
    </xsl:param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    22
    <xsl:value-of select="ns:SetRoot($class, $type, $edit, $debug)"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    23
  </xsl:template>
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    24
  <xsl:template match="ppx:pou">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    25
    <xsl:call-template name="add_root">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    26
      <xsl:with-param name="class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    27
        <xsl:value-of select="@pouType"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    28
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    29
      <xsl:with-param name="type">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    30
        <xsl:value-of select="@name"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    31
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    32
    </xsl:call-template>
1936
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
    33
    <xsl:apply-templates select="ppx:interface"/>
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
    34
    <xsl:apply-templates mode="variable_list" select="ppx:actions/ppx:action | ppx:transitions/ppx:transition"/>
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    35
  </xsl:template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    36
  <xsl:template match="ppx:action">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    37
    <xsl:call-template name="add_root">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    38
      <xsl:with-param name="class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    39
        <xsl:text>action</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    40
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    41
    </xsl:call-template>
1936
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
    42
    <xsl:apply-templates select="ancestor::ppx:pou/child::ppx:interface"/>
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    43
  </xsl:template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    44
  <xsl:template match="ppx:transition">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    45
    <xsl:call-template name="add_root">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    46
      <xsl:with-param name="class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    47
        <xsl:text>transition</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    48
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    49
    </xsl:call-template>
1936
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
    50
    <xsl:apply-templates select="ancestor::ppx:pou/child::ppx:interface"/>
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    51
  </xsl:template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    52
  <xsl:template match="ppx:configuration">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    53
    <xsl:call-template name="add_root">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    54
      <xsl:with-param name="class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    55
        <xsl:text>configuration</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    56
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    57
      <xsl:with-param name="debug">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    58
        <xsl:text>false</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    59
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    60
    </xsl:call-template>
1936
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
    61
    <xsl:apply-templates mode="variable_list" select="ppx:resource"/>
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
    62
    <xsl:apply-templates select="ppx:globalVars"/>
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    63
  </xsl:template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    64
  <xsl:template match="ppx:resource">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    65
    <xsl:call-template name="add_root">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    66
      <xsl:with-param name="class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    67
        <xsl:text>resource</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    68
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    69
      <xsl:with-param name="debug">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    70
        <xsl:text>false</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    71
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    72
    </xsl:call-template>
1936
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
    73
    <xsl:apply-templates mode="variable_list" select="ppx:pouInstance | ppx:task/ppx:pouInstance"/>
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
    74
    <xsl:apply-templates select="ppx:globalVars"/>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    75
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    76
  <xsl:template name="variables_infos">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    77
    <xsl:param name="var_class"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    78
    <xsl:for-each select="ppx:variable">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    79
      <xsl:variable name="class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    80
        <xsl:apply-templates mode="var_class" select="ppx:type">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    81
          <xsl:with-param name="default_class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    82
            <xsl:value-of select="$var_class"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    83
          </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    84
        </xsl:apply-templates>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    85
      </xsl:variable>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    86
      <xsl:variable name="type">
1936
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
    87
        <xsl:apply-templates mode="var_type" select="ppx:type"/>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    88
      </xsl:variable>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    89
      <xsl:variable name="edit">
1936
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
    90
        <xsl:apply-templates mode="var_edit" select="ppx:type"/>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    91
      </xsl:variable>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    92
      <xsl:variable name="debug">
1936
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
    93
        <xsl:apply-templates mode="var_debug" select="ppx:type"/>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    94
      </xsl:variable>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    95
      <xsl:value-of select="ns:AddVariable(@name, $class, $type, $edit, $debug)"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    96
    </xsl:for-each>
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    97
  </xsl:template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    98
  <xsl:template match="ppx:localVars">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
    99
    <xsl:call-template name="variables_infos">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   100
      <xsl:with-param name="var_class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   101
        <xsl:text>Local</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   102
      </xsl:with-param>
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   103
    </xsl:call-template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   104
  </xsl:template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   105
  <xsl:template match="ppx:globalVars">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   106
    <xsl:call-template name="variables_infos">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   107
      <xsl:with-param name="var_class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   108
        <xsl:text>Global</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   109
      </xsl:with-param>
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   110
    </xsl:call-template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   111
  </xsl:template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   112
  <xsl:template match="ppx:externalVars">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   113
    <xsl:call-template name="variables_infos">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   114
      <xsl:with-param name="var_class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   115
        <xsl:text>External</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   116
      </xsl:with-param>
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   117
    </xsl:call-template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   118
  </xsl:template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   119
  <xsl:template match="ppx:tempVars">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   120
    <xsl:call-template name="variables_infos">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   121
      <xsl:with-param name="var_class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   122
        <xsl:text>Temp</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   123
      </xsl:with-param>
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   124
    </xsl:call-template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   125
  </xsl:template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   126
  <xsl:template match="ppx:inputVars">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   127
    <xsl:call-template name="variables_infos">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   128
      <xsl:with-param name="var_class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   129
        <xsl:text>Input</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   130
      </xsl:with-param>
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   131
    </xsl:call-template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   132
  </xsl:template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   133
  <xsl:template match="ppx:outputVars">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   134
    <xsl:call-template name="variables_infos">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   135
      <xsl:with-param name="var_class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   136
        <xsl:text>Output</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   137
      </xsl:with-param>
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   138
    </xsl:call-template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   139
  </xsl:template>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   140
  <xsl:template match="ppx:inOutVars">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   141
    <xsl:call-template name="variables_infos">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   142
      <xsl:with-param name="var_class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   143
        <xsl:text>InOut</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   144
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   145
    </xsl:call-template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   146
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   147
  <xsl:template name="add_variable">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   148
    <xsl:param name="name"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   149
    <xsl:param name="class"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   150
    <xsl:param name="type"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   151
    <xsl:param name="edit">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   152
      <xsl:text>true</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   153
    </xsl:param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   154
    <xsl:param name="debug">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   155
      <xsl:text>true</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   156
    </xsl:param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   157
    <xsl:value-of select="ns:AddVariable($name, $class, $type, $edit, $debug)"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   158
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   159
  <xsl:template mode="variable_list" match="ppx:action">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   160
    <xsl:call-template name="add_variable">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   161
      <xsl:with-param name="name">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   162
        <xsl:value-of select="@name"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   163
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   164
      <xsl:with-param name="class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   165
        <xsl:text>action</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   166
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   167
    </xsl:call-template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   168
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   169
  <xsl:template mode="variable_list" match="ppx:transition">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   170
    <xsl:call-template name="add_variable">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   171
      <xsl:with-param name="name">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   172
        <xsl:value-of select="@name"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   173
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   174
      <xsl:with-param name="class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   175
        <xsl:text>transition</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   176
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   177
    </xsl:call-template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   178
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   179
  <xsl:template mode="variable_list" match="ppx:resource">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   180
    <xsl:call-template name="add_variable">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   181
      <xsl:with-param name="name">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   182
        <xsl:value-of select="@name"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   183
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   184
      <xsl:with-param name="class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   185
        <xsl:text>resource</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   186
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   187
      <xsl:with-param name="debug">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   188
        <xsl:text>false</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   189
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   190
    </xsl:call-template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   191
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   192
  <xsl:template mode="variable_list" match="ppx:pouInstance">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   193
    <xsl:call-template name="add_variable">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   194
      <xsl:with-param name="name">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   195
        <xsl:value-of select="@name"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   196
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   197
      <xsl:with-param name="class">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   198
        <xsl:text>program</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   199
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   200
      <xsl:with-param name="type">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   201
        <xsl:value-of select="@typeName"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   202
      </xsl:with-param>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   203
    </xsl:call-template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   204
  </xsl:template>
3868
e9807c28a788 Fix template conflict in XSLT with lxml>=4.9.0 again
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 3802
diff changeset
   205
  <xsl:template mode="var_class" match="*[self::ppx:type or self::ppx:baseType]/*">
e9807c28a788 Fix template conflict in XSLT with lxml>=4.9.0 again
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 3802
diff changeset
   206
    <xsl:param name="default_class"/>
e9807c28a788 Fix template conflict in XSLT with lxml>=4.9.0 again
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 3802
diff changeset
   207
    <xsl:value-of select="$default_class"/>
e9807c28a788 Fix template conflict in XSLT with lxml>=4.9.0 again
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 3802
diff changeset
   208
  </xsl:template>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   209
  <xsl:template mode="var_class" match="*[self::ppx:type or self::ppx:baseType]/ppx:derived">
1319
748347102c97 Replaced old list of pou instance in project generating process by xslt stylesheet
Laurent Bessard
parents: 1316
diff changeset
   210
    <xsl:param name="default_class"/>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   211
    <xsl:variable name="type_name" select="@name"/>
1949
c266fbaae0f6 Better writing of some xpath added in previous commits about XSLT optimization.
Edouard Tisserant
parents: 1946
diff changeset
   212
    <xsl:variable name="pou_infos" select="$all_types/ppx:pous/ppx:pou[@name=$type_name]"/>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   213
    <xsl:choose>
1943
9dc0e38552b2 GetPouVariables optimized with XSLTModelQuery
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1936
diff changeset
   214
      <xsl:when test="$pou_infos">
9dc0e38552b2 GetPouVariables optimized with XSLTModelQuery
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1936
diff changeset
   215
        <xsl:apply-templates mode="var_class" select="$pou_infos"/>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   216
      </xsl:when>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   217
      <xsl:otherwise>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   218
        <xsl:value-of select="$default_class"/>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   219
      </xsl:otherwise>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   220
    </xsl:choose>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   221
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   222
  <xsl:template mode="var_class" match="ppx:pou">
1319
748347102c97 Replaced old list of pou instance in project generating process by xslt stylesheet
Laurent Bessard
parents: 1316
diff changeset
   223
    <xsl:value-of select="@pouType"/>
748347102c97 Replaced old list of pou instance in project generating process by xslt stylesheet
Laurent Bessard
parents: 1316
diff changeset
   224
  </xsl:template>
3868
e9807c28a788 Fix template conflict in XSLT with lxml>=4.9.0 again
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 3802
diff changeset
   225
  <xsl:template mode="var_type" match="*[self::ppx:type or self::ppx:baseType]/*">
e9807c28a788 Fix template conflict in XSLT with lxml>=4.9.0 again
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 3802
diff changeset
   226
    <xsl:value-of select="local-name()"/>
1319
748347102c97 Replaced old list of pou instance in project generating process by xslt stylesheet
Laurent Bessard
parents: 1316
diff changeset
   227
  </xsl:template>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   228
  <xsl:template mode="var_type" match="*[self::ppx:type or self::ppx:baseType]/ppx:derived">
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   229
    <xsl:value-of select="@name"/>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   230
  </xsl:template>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   231
  <xsl:template mode="var_type" match="*[self::ppx:type or self::ppx:baseType]/ppx:array">
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   232
    <xsl:text>ARRAY [</xsl:text>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   233
    <xsl:for-each select="ppx:dimension">
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   234
      <xsl:value-of select="@lower"/>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   235
      <xsl:text>..</xsl:text>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   236
      <xsl:value-of select="@upper"/>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   237
    </xsl:for-each>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   238
    <xsl:text>] OF </xsl:text>
1936
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
   239
    <xsl:apply-templates mode="var_type" select="ppx:baseType"/>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   240
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   241
  <xsl:template mode="var_type" match="*[self::ppx:type or self::ppx:baseType]/ppx:string">
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   242
    <xsl:text>STRING</xsl:text>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   243
  </xsl:template>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   244
  <xsl:template mode="var_type" match="*[self::ppx:type or self::ppx:baseType]/ppx:wstring">
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   245
    <xsl:text>WSTRING</xsl:text>
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   246
  </xsl:template>
3868
e9807c28a788 Fix template conflict in XSLT with lxml>=4.9.0 again
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 3802
diff changeset
   247
  <xsl:template mode="var_edit" match="*[self::ppx:type or self::ppx:baseType]/*">
e9807c28a788 Fix template conflict in XSLT with lxml>=4.9.0 again
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 3802
diff changeset
   248
    <xsl:text>false</xsl:text>
1316
df9d02bd3eb7 Replaced old pou instance variable list generating process by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   249
  </xsl:template>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   250
  <xsl:template mode="var_edit" match="*[self::ppx:type or self::ppx:baseType]/ppx:derived">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   251
    <xsl:variable name="type_name" select="@name"/>
1945
90bf6bd94b94 Fixed earlier XSLT optimizations. Some/most results were missing.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1943
diff changeset
   252
    <xsl:variable name="pou_infos" select="$project/ppx:types/ppx:pous/ppx:pou[@name=$type_name]"/>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   253
    <xsl:choose>
1943
9dc0e38552b2 GetPouVariables optimized with XSLTModelQuery
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1936
diff changeset
   254
      <xsl:when test="$pou_infos">
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   255
        <xsl:text>true</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   256
      </xsl:when>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   257
      <xsl:otherwise>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   258
        <xsl:text>false</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   259
      </xsl:otherwise>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   260
    </xsl:choose>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   261
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   262
  <xsl:template mode="var_edit" match="*[self::ppx:type or self::ppx:baseType]/ppx:array">
1936
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1348
diff changeset
   263
    <xsl:apply-templates mode="var_edit" select="ppx:baseType"/>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   264
  </xsl:template>
3868
e9807c28a788 Fix template conflict in XSLT with lxml>=4.9.0 again
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 3802
diff changeset
   265
  <xsl:template mode="var_debug" match="*[self::ppx:type or self::ppx:baseType]/*">
e9807c28a788 Fix template conflict in XSLT with lxml>=4.9.0 again
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 3802
diff changeset
   266
    <xsl:text>true</xsl:text>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   267
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   268
  <xsl:template mode="var_debug" match="*[self::ppx:type or self::ppx:baseType]/ppx:derived">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   269
    <xsl:variable name="type_name" select="@name"/>
1949
c266fbaae0f6 Better writing of some xpath added in previous commits about XSLT optimization.
Edouard Tisserant
parents: 1946
diff changeset
   270
    <xsl:variable name="datatype_infos" select="             $project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |             $all_types/ppx:dataTypes/ppx:dataType[@name=$type_name]         "/>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   271
    <xsl:choose>
1945
90bf6bd94b94 Fixed earlier XSLT optimizations. Some/most results were missing.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1943
diff changeset
   272
      <xsl:when test="$datatype_infos">
1943
9dc0e38552b2 GetPouVariables optimized with XSLTModelQuery
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1936
diff changeset
   273
        <xsl:apply-templates mode="var_debug" select="$datatype_infos"/>
1348
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   274
      </xsl:when>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   275
      <xsl:otherwise>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   276
        <xsl:text>false</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   277
      </xsl:otherwise>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   278
    </xsl:choose>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   279
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   280
  <xsl:template mode="var_debug" match="ppx:pou">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   281
    <xsl:text>true</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   282
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   283
  <xsl:template mode="var_debug" match="*[self::ppx:type or self::ppx:baseType]/ppx:array">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   284
    <xsl:text>false</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   285
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   286
  <xsl:template mode="var_debug" match="*[self::ppx:type or self::ppx:baseType]/ppx:struct">
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   287
    <xsl:text>false</xsl:text>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   288
  </xsl:template>
aee0a7eb833a Fixed pou variables instance information loading stylesheet
Laurent Bessard
parents: 1319
diff changeset
   289
</xsl:stylesheet>