plcopen/instance_tagname.xslt
author Edouard Tisserant
Mon, 19 Feb 2018 13:24:57 +0100
changeset 1947 7c2cd9d33070
parent 1936 b85b13b1c2ec
child 1950 752ec68da94d
permissions -rw-r--r--
Hook Beremiz Launcher AppStart to AdvancedSplash OnPaint event in order to ensure image is beeing displayed before loading.
1351
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
     1
<?xml version="1.0"?>
1936
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1351
diff changeset
     2
<xsl:stylesheet xmlns:exsl="http://exslt.org/common" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:ppx="http://www.plcopen.org/xml/tc6_0201" xmlns:ns="instance_tagname_ns" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" extension-element-prefixes="ns" version="1.0" exclude-result-prefixes="ns">
1351
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
     3
  <xsl:output method="xml"/>
1321
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
     4
  <xsl:param name="instance_path"/>
1351
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
     5
  <xsl:variable name="project">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
     6
    <xsl:copy-of select="document('project')/project/*"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
     7
  </xsl:variable>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
     8
  <xsl:variable name="stdlib">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
     9
    <xsl:copy-of select="document('stdlib')/stdlib/*"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    10
  </xsl:variable>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    11
  <xsl:variable name="extensions">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    12
    <xsl:copy-of select="document('extensions')/extensions/*"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    13
  </xsl:variable>
1321
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    14
  <xsl:template name="element_name">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    15
    <xsl:param name="path"/>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    16
    <xsl:choose>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    17
      <xsl:when test="contains($path,'.')">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    18
        <xsl:value-of select="substring-before($path,'.')"/>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    19
      </xsl:when>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    20
      <xsl:otherwise>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    21
        <xsl:value-of select="$path"/>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    22
      </xsl:otherwise>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    23
    </xsl:choose>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    24
  </xsl:template>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    25
  <xsl:template name="next_path">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    26
    <xsl:param name="path"/>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    27
    <xsl:choose>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    28
      <xsl:when test="contains($path,'.')">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    29
        <xsl:value-of select="substring-after($path,'.')"/>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    30
      </xsl:when>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    31
    </xsl:choose>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    32
  </xsl:template>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    33
  <xsl:template match="ppx:project">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    34
    <xsl:variable name="config_name">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    35
      <xsl:call-template name="element_name">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    36
        <xsl:with-param name="path" select="$instance_path"/>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    37
      </xsl:call-template>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    38
    </xsl:variable>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    39
    <xsl:apply-templates select="ppx:instances/ppx:configurations/ppx:configuration[@name=$config_name]">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    40
      <xsl:with-param name="element_path">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    41
        <xsl:call-template name="next_path">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    42
          <xsl:with-param name="path" select="$instance_path"/>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    43
        </xsl:call-template>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    44
      </xsl:with-param>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    45
    </xsl:apply-templates>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    46
  </xsl:template>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    47
  <xsl:template match="ppx:configuration">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    48
    <xsl:param name="element_path"/>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    49
    <xsl:choose>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    50
      <xsl:when test="$element_path!=''">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    51
        <xsl:variable name="child_name">
1351
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    52
          <xsl:call-template name="element_name">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    53
            <xsl:with-param name="path" select="$element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    54
          </xsl:call-template>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    55
        </xsl:variable>
1321
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    56
        <xsl:apply-templates select="ppx:resource[@name=$child_name] | ppx:globalVars/ppx:variable[@name=$child_name]/ppx:type/*[self::ppx:derived or self::ppx:struct or self::ppx:array]">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    57
          <xsl:with-param name="element_path">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    58
            <xsl:call-template name="next_path">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    59
              <xsl:with-param name="path" select="$element_path"/>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    60
            </xsl:call-template>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    61
          </xsl:with-param>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    62
        </xsl:apply-templates>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    63
      </xsl:when>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    64
      <xsl:otherwise>
1351
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    65
        <xsl:value-of select="ns:ConfigTagName(@name)"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    66
      </xsl:otherwise>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    67
    </xsl:choose>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    68
  </xsl:template>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    69
  <xsl:template match="ppx:resource">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    70
    <xsl:param name="element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    71
    <xsl:choose>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    72
      <xsl:when test="$element_path!=''">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    73
        <xsl:variable name="child_name">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    74
          <xsl:call-template name="element_name">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    75
            <xsl:with-param name="path">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    76
              <xsl:value-of select="$element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    77
            </xsl:with-param>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    78
          </xsl:call-template>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    79
        </xsl:variable>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    80
        <xsl:apply-templates select="ppx:pouInstance[@name=$child_name] | ppx:task/ppx:pouInstance[@name=$child_name] | ppx:globalVars/ppx:variable[@name=$child_name]/ppx:type/*[self::ppx:derived or self::ppx:struct or self::ppx:array]">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    81
          <xsl:with-param name="element_path">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    82
            <xsl:call-template name="next_path">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    83
              <xsl:with-param name="path" select="$element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    84
            </xsl:call-template>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    85
          </xsl:with-param>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    86
        </xsl:apply-templates>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    87
      </xsl:when>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    88
      <xsl:otherwise>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    89
        <xsl:value-of select="ns:ResourceTagName(ancestor::ppx:configuration/@name, @name)"/>
1321
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    90
      </xsl:otherwise>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    91
    </xsl:choose>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    92
  </xsl:template>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    93
  <xsl:template match="ppx:pouInstance">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
    94
    <xsl:param name="element_path"/>
1351
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    95
    <xsl:variable name="type_name">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    96
      <xsl:value-of select="@typeName"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    97
    </xsl:variable>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    98
    <xsl:apply-templates select="exsl:node-set($project)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |&#10;                 exsl:node-set($project)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name] |&#10;                 exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |&#10;                 exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name] |&#10;                 exsl:node-set($extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |&#10;                 exsl:node-set($extensions)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name]">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
    99
      <xsl:with-param name="element_path" select="$element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   100
    </xsl:apply-templates>
1321
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   101
  </xsl:template>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   102
  <xsl:template match="ppx:pou">
1351
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   103
    <xsl:param name="element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   104
    <xsl:choose>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   105
      <xsl:when test="$element_path!=''">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   106
        <xsl:variable name="child_name">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   107
          <xsl:call-template name="element_name">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   108
            <xsl:with-param name="path" select="$element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   109
          </xsl:call-template>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   110
        </xsl:variable>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   111
        <xsl:apply-templates select="ppx:interface/*/ppx:variable[@name=$child_name]/ppx:type/*[self::ppx:derived or self::ppx:struct or self::ppx:array]">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   112
          <xsl:with-param name="element_path">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   113
            <xsl:call-template name="next_path">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   114
              <xsl:with-param name="path" select="$element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   115
            </xsl:call-template>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   116
          </xsl:with-param>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   117
        </xsl:apply-templates>
1936
b85b13b1c2ec YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 1351
diff changeset
   118
        <xsl:apply-templates select="ppx:actions/ppx:action[@name=$child_name] | ppx:transitions/ppx:transition[@name=$child_name]"/>
1351
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   119
      </xsl:when>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   120
      <xsl:otherwise>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   121
        <xsl:variable name="name">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   122
          <xsl:value-of select="@name"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   123
        </xsl:variable>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   124
        <xsl:value-of select="ns:PouTagName($name)"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   125
      </xsl:otherwise>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   126
    </xsl:choose>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   127
  </xsl:template>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   128
  <xsl:template match="ppx:action">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   129
    <xsl:value-of select="ns:ActionTagName(ancestor::ppx:pou/@name, @name)"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   130
  </xsl:template>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   131
  <xsl:template match="ppx:transition">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   132
    <xsl:value-of select="ns:TransitionTagName(ancestor::ppx:pou/@name, @name)"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   133
  </xsl:template>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   134
  <xsl:template match="ppx:dataType">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   135
    <xsl:param name="element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   136
    <xsl:apply-templates select="ppx:baseType/*[self::ppx:derived or self::ppx:struct or self::ppx:array]">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   137
      <xsl:with-param name="element_path" select="$element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   138
    </xsl:apply-templates>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   139
  </xsl:template>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   140
  <xsl:template match="ppx:derived">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   141
    <xsl:param name="element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   142
    <xsl:variable name="type_name">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   143
      <xsl:value-of select="@name"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   144
    </xsl:variable>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   145
    <xsl:apply-templates select="exsl:node-set($project)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |&#10;                 exsl:node-set($project)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name] |&#10;                 exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |&#10;                 exsl:node-set($stdlib)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name] |&#10;                 exsl:node-set($extensions)/ppx:project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] |&#10;                 exsl:node-set($extensions)/ppx:project/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name]">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   146
      <xsl:with-param name="element_path" select="$element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   147
    </xsl:apply-templates>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   148
  </xsl:template>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   149
  <xsl:template match="ppx:array">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   150
    <xsl:param name="element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   151
    <xsl:apply-templates select="ppx:baseType/*[self::ppx:derived or self::ppx:struct or self::ppx:array]">
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   152
      <xsl:with-param name="element_path" select="$element_path"/>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   153
    </xsl:apply-templates>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   154
  </xsl:template>
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   155
  <xsl:template match="ppx:struct">
1321
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   156
    <xsl:param name="element_path"/>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   157
    <xsl:variable name="child_name">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   158
      <xsl:call-template name="element_name">
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   159
        <xsl:with-param name="path" select="$element_path"/>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   160
      </xsl:call-template>
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   161
    </xsl:variable>
1351
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   162
    <xsl:apply-templates select="ppx:variable[@name=$child_name]/ppx:type/*[self::ppx:derived or self::ppx:struct or self::ppx:array]">
1326
e2c11668addf Fixed instance type tagname computing xslt stylesheet
Laurent Bessard
parents: 1321
diff changeset
   163
      <xsl:with-param name="element_path">
e2c11668addf Fixed instance type tagname computing xslt stylesheet
Laurent Bessard
parents: 1321
diff changeset
   164
        <xsl:call-template name="next_path">
e2c11668addf Fixed instance type tagname computing xslt stylesheet
Laurent Bessard
parents: 1321
diff changeset
   165
          <xsl:with-param name="path" select="$element_path"/>
e2c11668addf Fixed instance type tagname computing xslt stylesheet
Laurent Bessard
parents: 1321
diff changeset
   166
        </xsl:call-template>
e2c11668addf Fixed instance type tagname computing xslt stylesheet
Laurent Bessard
parents: 1321
diff changeset
   167
      </xsl:with-param>
e2c11668addf Fixed instance type tagname computing xslt stylesheet
Laurent Bessard
parents: 1321
diff changeset
   168
    </xsl:apply-templates>
1321
83f41ea00b97 Replaced old pou instance type tagname computing by xslt stylesheet
Laurent Bessard
parents:
diff changeset
   169
  </xsl:template>
1351
a546a63ce1bf Fixed pou tagname of instance path computing stylesheet
Laurent Bessard
parents: 1326
diff changeset
   170
</xsl:stylesheet>