/alps/pcitool

To get this branch, use:
bzr branch http://suren.me/webbzr/alps/pcitool

« back to all changes in this revision

Viewing changes to misc/xml/update_to_new_format.xsl

  • Committer: Suren A. Chilingaryan
  • Date: 2015-09-24 02:28:45 UTC
  • mfrom: (305.1.19 views)
  • Revision ID: csa@suren.me-20150924022845-p7hc8lh8v0q48g0r
Finalyze XML support and provide initial support for views (only descriptions so far)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
2
  <xsl:template match="banks">
 
3
     <xsl:apply-templates select="@*|node()"/>
 
4
  </xsl:template>
 
5
  <xsl:template match="views">
 
6
     <xsl:apply-templates select="@*|node()"/>
 
7
  </xsl:template>
 
8
  <xsl:template match="units">
 
9
     <xsl:apply-templates select="@*|node()"/>
 
10
  </xsl:template>
 
11
 
 
12
  <xsl:template match="bank">
 
13
    <bank>
 
14
      <xsl:for-each select="bank_description/*">
 
15
        <xsl:attribute name="{name()}">
 
16
            <xsl:value-of select="text()"/>
 
17
        </xsl:attribute>
 
18
      </xsl:for-each>
 
19
 
 
20
      <xsl:apply-templates select="registers/*"/>
 
21
    </bank>
 
22
  </xsl:template>
 
23
 
 
24
  <xsl:template match="bank_description">
 
25
  </xsl:template>
 
26
 
 
27
  <xsl:template match="register_bits">
 
28
    <field>
 
29
      <xsl:for-each select="*">
 
30
        <xsl:if test="name() = 'views'">
 
31
             <xsl:apply-templates select="view"/>
 
32
        </xsl:if>
 
33
        <xsl:if test="name() != 'views'">
 
34
            <xsl:attribute name="{name()}">
 
35
                <xsl:value-of select="text()"/>
 
36
            </xsl:attribute>
 
37
        </xsl:if>
 
38
      </xsl:for-each>
 
39
    </field>
 
40
  </xsl:template>
 
41
  
 
42
  <xsl:template match="register">
 
43
    <register>
 
44
      <xsl:for-each select="*">
 
45
        <xsl:if test="name() = 'registers_bits'">
 
46
             <xsl:apply-templates select="register_bits"/>
 
47
        </xsl:if>
 
48
        <xsl:if test="name() = 'views'">
 
49
             <xsl:apply-templates select="view"/>
 
50
        </xsl:if>
 
51
        <xsl:if test="name() != 'registers_bits' and name() != 'views'">
 
52
            <xsl:attribute name="{name()}">
 
53
                <xsl:value-of select="text()"/>
 
54
            </xsl:attribute>
 
55
        </xsl:if>
 
56
      </xsl:for-each>
 
57
    </register>
 
58
  </xsl:template>
 
59
 
 
60
  <xsl:template match="enum">
 
61
    <name>
 
62
      <xsl:attribute name="name">
 
63
        <xsl:value-of select="text()"/>
 
64
      </xsl:attribute>
 
65
     <xsl:apply-templates select="@*"/>
 
66
    </name>
 
67
  </xsl:template>
 
68
  
 
69
  <xsl:template match="view[@type]">
 
70
    <xsl:if test="@type = 'formula'">
 
71
        <transform>
 
72
          <xsl:for-each select="*">
 
73
            <xsl:attribute name="{name()}">
 
74
                <xsl:value-of select="text()"/>
 
75
            </xsl:attribute>
 
76
         </xsl:for-each>
 
77
        </transform>
 
78
    </xsl:if>
 
79
    <xsl:if test="@type = 'enum'">
 
80
        <enum>
 
81
          <xsl:for-each select="*">
 
82
            <xsl:if test="name() != 'enum'">
 
83
                <xsl:attribute name="{name()}">
 
84
                    <xsl:value-of select="text()"/>
 
85
                </xsl:attribute>
 
86
            </xsl:if>
 
87
         </xsl:for-each>
 
88
         <xsl:apply-templates select="enum"/>
 
89
        </enum>
 
90
    </xsl:if>
 
91
  </xsl:template>
 
92
  
 
93
  <xsl:template match="view">
 
94
    <view>
 
95
        <xsl:attribute name="name"><xsl:value-of select="text()"/></xsl:attribute>
 
96
    </view>
 
97
  </xsl:template>
 
98
 
 
99
  <xsl:template match="convert_unit">
 
100
    <transform>
 
101
        <xsl:attribute name="unit"><xsl:value-of select="@value"/></xsl:attribute>
 
102
        <xsl:attribute name="transform"><xsl:value-of select="text()"/></xsl:attribute>
 
103
    </transform>
 
104
  </xsl:template>
 
105
  
 
106
  <xsl:template match="unit">
 
107
    <unit>
 
108
     <xsl:apply-templates select="@*"/>
 
109
     <xsl:apply-templates select="convert_unit"/>
 
110
    </unit>
 
111
  </xsl:template>
 
112
 
 
113
  <xsl:template match="@*|node()">
 
114
   <xsl:copy>
 
115
     <xsl:apply-templates select="@*|node()"/>
 
116
   </xsl:copy>
 
117
 </xsl:template>
 
118
</xsl:stylesheet>