clean some XML files
[transportpce.git] / tests / honeynode / honeynode-plugin-impl / src / main / resources / honeycomb-minimal-resources / config / device / OperToConfig.xsl
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns:d="urn:ietf:params:xml:ns:netconf:base:1.0"
5 xmlns:oor="http://org/openroadm/device"
6 exclude-result-prefixes="oor d">
7
8   <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
9
10   <xsl:template match="/">
11     <xsl:element name="config" namespace="urn:ietf:params:xml:ns:netconf:base:1.0">
12     <xsl:element name="org-openroadm-device" namespace="http://org/openroadm/device">
13     <xsl:element name="info">
14       <xsl:apply-templates select="d:data/oor:org-openroadm-device/oor:info"/>
15     </xsl:element>
16
17     <xsl:copy-of select="d:data/oor:org-openroadm-device/oor:users" />
18
19     <xsl:for-each select="d:data/oor:org-openroadm-device/oor:shelves">
20       <xsl:element name="shelves" >
21         <xsl:call-template name="shelve-body"/>
22       </xsl:element>
23     </xsl:for-each>
24
25     <xsl:for-each select="d:data/oor:org-openroadm-device/oor:circuit-packs">
26       <xsl:element name="circuit-packs" >
27         <xsl:call-template name="cp-body"/>
28       </xsl:element>
29     </xsl:for-each>
30
31     <xsl:for-each select="d:data/oor:org-openroadm-device/oor:interface">
32         <xsl:element name="interface" >
33             <xsl:call-template name="inter-body"/>
34         </xsl:element>
35     </xsl:for-each>
36
37     <xsl:for-each select="d:data/oor:org-openroadm-device/oor:protocols">
38         <xsl:element name="protocols" >
39             <xsl:call-template name="proto-body"/>
40         </xsl:element>
41     </xsl:for-each>
42
43     <xsl:for-each select="d:data/oor:org-openroadm-device/oor:degree">
44       <xsl:element name="degree" >
45         <xsl:call-template name="degree-body"/>
46       </xsl:element>
47     </xsl:for-each>
48
49     <xsl:for-each select="d:data/oor:org-openroadm-device/oor:shared-risk-group">
50       <xsl:element name="shared-risk-group" >
51         <xsl:call-template name="srg-body"/>
52       </xsl:element>
53     </xsl:for-each>
54
55     </xsl:element>
56     </xsl:element>
57   </xsl:template>
58
59   <xsl:template match="oor:info">
60     <xsl:for-each select="./*">
61       <xsl:if test="name(.) = 'node-id' or name(.) = 'node-number' or name(.) = 'clli' or name(.) = 'ipAddress' or name(.) = 'prefix-length' or name(.) = 'defaultGateway' or name(.) = 'template' or name(.) = 'geoLocation'">
62         <xsl:copy-of select="." />
63       </xsl:if>
64      </xsl:for-each>
65   </xsl:template>
66
67   <xsl:template name="shelve-body">
68     <xsl:for-each select="./*">
69       <xsl:if test="name(.) ='shelf-name' or name(.) = 'shelf-type' or name(.) = 'rack' or name(.) = 'shelf-position' or name(.) = 'administrative-state' or name(.) = 'equipment-state' or name(.) = 'due-date'">
70         <xsl:copy-of select="." />
71       </xsl:if>
72     </xsl:for-each>
73   </xsl:template>
74
75   <xsl:template name="cp-body">
76     <xsl:for-each select="./*">
77       <xsl:if test="name(.) = 'circuit-pack-type' or name(.) = 'circuit-pack-product-code' or name(.) = 'circuit-pack-name' or name(.) = 'administrative-state' or name(.) = 'equipment-state' or name(.) = 'circuit-pack-mode' or name(.) = 'shelf' or name(.) = 'slot' or name(.) = 'subSlot' or name(.) = 'due-date' or name(.) = 'parent-circuit-pack'">
78         <xsl:copy-of select="." />
79       </xsl:if>
80       <xsl:if test="name(.) = 'ports'">
81         <xsl:for-each select=".">
82           <xsl:element name="ports" >
83             <xsl:call-template name="ports-body"/>
84           </xsl:element>
85         </xsl:for-each>
86       </xsl:if>
87      </xsl:for-each>
88   </xsl:template>
89
90   <xsl:template name="inter-body">
91     <xsl:for-each select="./*">
92         <xsl:if test="not(name(.) = 'operational-state' or name(.)='ethernet')">
93          <xsl:copy-of select="." />
94         </xsl:if>
95         <xsl:if test="name(.)='ethernet'">
96             <xsl:element name="ethernet" >
97                 <xsl:call-template name="eth-body"/>
98             </xsl:element>
99         </xsl:if>
100     </xsl:for-each>
101   </xsl:template>
102
103    <xsl:template name="eth-body">
104     <xsl:for-each select="./*">
105       <xsl:if test="not(name(.) = 'curr-speed' or name(.)='curr-duplex') ">
106          <xsl:copy-of select="." />
107       </xsl:if>
108     </xsl:for-each>
109   </xsl:template>
110
111   <xsl:template name="proto-body">
112     <xsl:for-each select="./*">
113       <xsl:if test="name(.) = 'lldp'">
114         <xsl:for-each select=".">
115           <xsl:element name="lldp" >
116             <xsl:call-template name="lldp-body"/>
117           </xsl:element>
118         </xsl:for-each>
119       </xsl:if>
120      </xsl:for-each>
121   </xsl:template>
122
123   <xsl:template name="ports-body">
124     <xsl:for-each select="./*">
125       <xsl:if test="name(.) = 'port-name' or name(.) = 'port-type' or name(.) = 'port-qual' or name(.) = 'circuit-id' or name(.) = 'administrative-state' or name(.) = 'logical-connection-point' or name(.) = 'otdr-port' ">
126          <xsl:copy-of select="." />
127       </xsl:if>
128     </xsl:for-each>
129   </xsl:template>
130
131   <xsl:template name="lldp-body">
132     <xsl:for-each select="./*">
133       <xsl:if test="not(name(.) = 'nbr-list') ">
134          <xsl:copy-of select="." />
135       </xsl:if>
136     </xsl:for-each>
137   </xsl:template>
138
139   <xsl:template name="degree-body">
140     <xsl:for-each select="./*">
141       <xsl:if test="not(name(.) = 'max-wavelengths')">
142          <xsl:copy-of select="." />
143       </xsl:if>
144     </xsl:for-each>
145   </xsl:template>
146
147   <xsl:template name="srg-body">
148     <xsl:for-each select="./*">
149       <xsl:if test="not(name(.) = 'max-add-drop-ports' or name(.) = 'wavelengthDuplication')">
150          <xsl:copy-of select="." />
151       </xsl:if>
152     </xsl:for-each>
153   </xsl:template>
154
155  </xsl:stylesheet>