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()"/>
5
<xsl:template match="views">
6
<xsl:apply-templates select="@*|node()"/>
8
<xsl:template match="units">
9
<xsl:apply-templates select="@*|node()"/>
12
<xsl:template match="bank">
14
<xsl:for-each select="bank_description/*">
15
<xsl:attribute name="{name()}">
16
<xsl:value-of select="text()"/>
20
<xsl:apply-templates select="registers/*"/>
24
<xsl:template match="bank_description">
27
<xsl:template match="register_bits">
29
<xsl:for-each select="*">
30
<xsl:if test="name() = 'views'">
31
<xsl:apply-templates select="view"/>
33
<xsl:if test="name() != 'views'">
34
<xsl:attribute name="{name()}">
35
<xsl:value-of select="text()"/>
42
<xsl:template match="register">
44
<xsl:for-each select="*">
45
<xsl:if test="name() = 'registers_bits'">
46
<xsl:apply-templates select="register_bits"/>
48
<xsl:if test="name() = 'views'">
49
<xsl:apply-templates select="view"/>
51
<xsl:if test="name() != 'registers_bits' and name() != 'views'">
52
<xsl:attribute name="{name()}">
53
<xsl:value-of select="text()"/>
60
<xsl:template match="enum">
62
<xsl:attribute name="name">
63
<xsl:value-of select="text()"/>
65
<xsl:apply-templates select="@*"/>
69
<xsl:template match="view[@type]">
70
<xsl:if test="@type = 'formula'">
72
<xsl:for-each select="*">
73
<xsl:attribute name="{name()}">
74
<xsl:value-of select="text()"/>
79
<xsl:if test="@type = 'enum'">
81
<xsl:for-each select="*">
82
<xsl:if test="name() != 'enum'">
83
<xsl:attribute name="{name()}">
84
<xsl:value-of select="text()"/>
88
<xsl:apply-templates select="enum"/>
93
<xsl:template match="view">
95
<xsl:attribute name="name"><xsl:value-of select="text()"/></xsl:attribute>
99
<xsl:template match="convert_unit">
101
<xsl:attribute name="unit"><xsl:value-of select="@value"/></xsl:attribute>
102
<xsl:attribute name="transform"><xsl:value-of select="text()"/></xsl:attribute>
106
<xsl:template match="unit">
108
<xsl:apply-templates select="@*"/>
109
<xsl:apply-templates select="convert_unit"/>
113
<xsl:template match="@*|node()">
115
<xsl:apply-templates select="@*|node()"/>