author | Laurent Bessard |
Tue, 24 Sep 2013 00:48:21 +0200 | |
changeset 2157 | a2385e535cf5 |
child 2161 | 4bea1d98db46 |
permissions | -rw-r--r-- |
2157
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
1 |
<xsl:stylesheet version="1.0" |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
2 |
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
3 |
xmlns:ns="entries_list_ns" |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
4 |
extension-element-prefixes="ns" |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
5 |
exclude-result-prefixes="ns"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
6 |
<xsl:param name="min_index"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
7 |
<xsl:param name="max_index"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
8 |
<xsl:template match="Device"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
9 |
<xsl:apply-templates select="Profile/Dictionary/Objects/Object"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
10 |
<xsl:for-each select="RxPdo"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
11 |
<xsl:call-template name="pdo_entries"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
12 |
<xsl:with-param name="direction" select="'Receive'"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
13 |
</xsl:call-template> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
14 |
</xsl:for-each> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
15 |
<xsl:for-each select="TxPdo"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
16 |
<xsl:call-template name="pdo_entries"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
17 |
<xsl:with-param name="direction" select="'Transmit'"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
18 |
</xsl:call-template> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
19 |
</xsl:for-each> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
20 |
</xsl:template> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
21 |
<xsl:template match="Object"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
22 |
<xsl:variable name="index"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
23 |
<xsl:value-of select="ns:HexDecValue(Index/text())"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
24 |
</xsl:variable> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
25 |
<xsl:variable name="entry_name"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
26 |
<xsl:value-of select="ns:EntryName(Name)"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
27 |
</xsl:variable> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
28 |
<xsl:choose> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
29 |
<xsl:when test="$index >= $min_index and $index <= $max_index"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
30 |
<xsl:variable name="datatype_name"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
31 |
<xsl:value-of select="Type/text()"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
32 |
</xsl:variable> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
33 |
<xsl:choose> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
34 |
<xsl:when test="ancestor::Dictionary/child::DataTypes/DataType[Name/text()=$datatype_name][SubItem]"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
35 |
<xsl:apply-templates select="ancestor::Dictionary/child::DataTypes/DataType[Name/text()=$datatype_name][SubItem]"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
36 |
<xsl:with-param name="index"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
37 |
<xsl:value-of select="$index"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
38 |
</xsl:with-param> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
39 |
<xsl:with-param name="entry_name"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
40 |
<xsl:value-of select="$entry_name"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
41 |
</xsl:with-param> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
42 |
</xsl:apply-templates> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
43 |
</xsl:when> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
44 |
<xsl:otherwise> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
45 |
<ns:add_entry> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
46 |
<Index><xsl:value-of select="$index"/></Index> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
47 |
<SubIndex><xsl:text>0</xsl:text></SubIndex> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
48 |
<Name><xsl:value-of select="$entry_name"/></Name> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
49 |
<Type><xsl:value-of select="$datatype_name"/></Type> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
50 |
<BitSize><xsl:value-of select="BitSize/text()"/></BitSize> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
51 |
<Access><xsl:value-of select="Flags/Access/text()"/></Access> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
52 |
<PDOMapping><xsl:value-of select="Flags/PdoMapping/text()"/></PDOMapping> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
53 |
</ns:add_entry> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
54 |
</xsl:otherwise> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
55 |
</xsl:choose> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
56 |
</xsl:when> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
57 |
</xsl:choose> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
58 |
</xsl:template> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
59 |
<xsl:template match="DataType"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
60 |
<xsl:param name="index"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
61 |
<xsl:param name="entry_name"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
62 |
<xsl:for-each select="SubItem"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
63 |
<xsl:variable name="subentry_names"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
64 |
<xsl:value-of select="DisplayName"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
65 |
<Default><xsl:value-of select="Name/text()"/></Default> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
66 |
</xsl:variable> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
67 |
<ns:add_entry> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
68 |
<Index><xsl:value-of select="$index"/></Index> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
69 |
<SubIndex><xsl:value-of select="ns:HexDecValue(SubIdx/text())"/></SubIndex> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
70 |
<Name> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
71 |
<xsl:value-of select="$entry_name"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
72 |
<xsl:text> - </xsl:text> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
73 |
<xsl:value-of select="ns:EntryName($subentry_names)"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
74 |
</Name> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
75 |
<Type><xsl:value-of select="Type/text()"/></Type> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
76 |
<BitSize><xsl:value-of select="BitSize/text()"/></BitSize> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
77 |
<Access><xsl:value-of select="Flags/Access/text()"/></Access> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
78 |
<PDOMapping><xsl:value-of select="Flags/PdoMapping/text()"/></PDOMapping> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
79 |
</ns:add_entry> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
80 |
</xsl:for-each> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
81 |
</xsl:template> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
82 |
<xsl:template name="pdo_entries"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
83 |
<xsl:param name="direction"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
84 |
<xsl:variable name="pdo_index"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
85 |
<xsl:value-of select="ns:HexDecValue(Index/text())"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
86 |
</xsl:variable> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
87 |
<xsl:variable name="pdo_name"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
88 |
<xsl:value-of select="ns:EntryName(Name)"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
89 |
</xsl:variable> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
90 |
<xsl:for-each select="Entry"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
91 |
<xsl:variable name="index"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
92 |
<xsl:value-of select="ns:HexDecValue(Index/text())"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
93 |
</xsl:variable> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
94 |
<xsl:choose> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
95 |
<xsl:when test="$index >= $min_index and $index <= $max_index"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
96 |
<ns:add_entry> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
97 |
<Index><xsl:value-of select="$index"/></Index> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
98 |
<SubIndex><xsl:value-of select="ns:HexDecValue(SubIndex/text())"/></SubIndex> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
99 |
<Name><xsl:value-of select="ns:EntryName(Name)"/></Name> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
100 |
<Type><xsl:value-of select="Type/text()"/></Type> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
101 |
<BitSize><xsl:value-of select="BitLen/text()"/></BitSize> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
102 |
<xsl:choose> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
103 |
<xsl:when test="$direction='Transmit'"> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
104 |
<Access><xsl:text>ro</xsl:text></Access> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
105 |
<PDOMapping><xsl:text>T</xsl:text></PDOMapping> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
106 |
</xsl:when> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
107 |
<xsl:otherwise> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
108 |
<Access><xsl:text>wo</xsl:text></Access> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
109 |
<PDOMapping><xsl:text>R</xsl:text></PDOMapping> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
110 |
</xsl:otherwise> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
111 |
</xsl:choose> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
112 |
<PDO> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
113 |
<index><xsl:value-of select="$pdo_index"/></index> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
114 |
<name><xsl:value-of select="$pdo_name"/></name> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
115 |
<type><xsl:value-of select="$direction"/></type> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
116 |
</PDO> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
117 |
</ns:add_entry> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
118 |
</xsl:when> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
119 |
</xsl:choose> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
120 |
</xsl:for-each> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
121 |
</xsl:template> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
122 |
<xsl:template match="text()"/> |
a2385e535cf5
Fixed controllers for working with latest version of xmlclass
Laurent Bessard
parents:
diff
changeset
|
123 |
</xsl:stylesheet> |