1 <?xml version="1.0" standalone="no"?>
4 <!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
5 <!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
7 <!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
8 <!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
10 <!ENTITY ALPHALOWER "ABCDEFxX0123456789">
11 <!ENTITY HEXUPPER "ABCDEFxX0123456789">
12 <!ENTITY HEXLOWER "abcdefxX0123456789">
13 <!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
16 <xsl:stylesheet version="1.0"
17 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
18 xmlns:exsl="http://exslt.org/common"
19 xmlns:dyn="http://exslt.org/dynamic"
20 xmlns:math="http://exslt.org/math"
21 xmlns:xlink="http://www.w3.org/1999/xlink"
22 extension-element-prefixes="math exsl dyn xlink">
24 <xsl:include href="edw2xtl_sav_globals.xsl"/>
26 <xsl:include href="edw2xtl_sav_view_addr.xsl"/>
27 <xsl:include href="edw2xtl_sav_view_busif.xsl"/>
28 <xsl:include href="edw2xtl_sav_view_port.xsl"/>
29 <xsl:include href="edw2xtl_sav_view_groups.xsl"/>
31 <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
33 <xsl:param name="P_SYSTEM_XML" select= "'__UNDEF__'"/>
34 <xsl:param name="P_GROUPS_XML" select= "'__UNDEF__'"/>
36 <xsl:param name="G_DEBUG" select="'FALSE'"/>
37 <xsl:param name="G_ADD_CHOICES" select="'TRUE'"/>
40 <xsl:param name="P_VIEW" select="'__UNDEF__'"/>
41 <xsl:param name="P_MODE" select="'__UNDEF__'"/>
42 <xsl:param name="P_SCOPE" select="'__UNDEF__'"/>
47 <!-- MAIN TEMPLATE -->
49 <xsl:template match="SAV[@VIEW]">
50 <xsl:if test="$G_DEBUG='TRUE'">
51 <xsl:message>SAV VIEW <xsl:value-of select="@VIEW"/></xsl:message>
52 <xsl:message>SAV MODE <xsl:value-of select="@MODE"/></xsl:message>
53 <xsl:message>SAV SCOPE <xsl:value-of select="@SCOPE"/></xsl:message>
57 <xsl:when test="not(@VIEW = 'PORT') and not(@VIEW = 'BUSINTERFACE') and not(@VIEW = 'ADDRESS')">
58 <xsl:message>EDW2SAV XTELLER ERROR: UNDEFINED VIEW <xsl:value-of select="@VIEW"/></xsl:message>
61 <xsl:when test="(@MODE and not(@MODE = 'FLAT') and not(@MODE = 'TREE') and not(@MODE = 'GROUPS'))">
62 <xsl:message>EDW2SAV XTELLER ERROR: UNDEFINED MODE <xsl:value-of select="@MODE"/></xsl:message>
65 <xsl:when test="(@SCOPE and not(@SCOPE = 'FULL') and not(@SCOPE= 'FOCUS'))">
66 <xsl:message>EDW2SAV XTELLER ERROR: UNDEFINED SCOPE <xsl:value-of select="@SCOPE"/></xsl:message>
69 <xsl:when test="$P_SYSTEM_XML ='__UNDEF__'">
70 <xsl:message>EDW2SAV XTELLER ERROR: SYSTEM XML UNDEFINED</xsl:message>
73 <xsl:when test="not($G_SYS)" >
74 <xsl:message>EDW2SAV XTELLER ERROR: EDKSYSTEM MISSING in SYSTEM XML <xsl:value-of select="$P_SYSTEM_XML"/></xsl:message>
77 <xsl:when test="($P_GROUPS_XML ='__UNDEF__') and (@MODE = 'GROUPS')" >
78 <xsl:message>EDW2SAV XTELLER ERROR: GROUP XML UNDEFINED for FOCUS</xsl:message>
81 <xsl:when test="($P_GROUPS_XML ='__UNDEF__') and (@SCOPE = 'FOCUS') and (@VIEW = 'BUSINTERFACE')" >
82 <xsl:message>EDW2SAV XTELLER ERROR: GROUP XML UNDEFINED for SCOPE</xsl:message>
87 <xsl:if test="$G_DEBUG='TRUE'">
88 <xsl:message>SYSTEM XML <xsl:value-of select="$P_SYSTEM_XML"/></xsl:message>
89 <xsl:message>GROUPS XML <xsl:value-of select="$P_GROUPS_XML"/></xsl:message>
92 <xsl:variable name="use_mode_">
94 <xsl:when test="@MODE = 'GROUPS'">TREE</xsl:when>
95 <xsl:otherwise><xsl:value-of select="@MODE"/></xsl:otherwise>
99 <xsl:variable name="num_procs_focused_on_" select="count(MASTER)"/>
100 <xsl:variable name="num_buses_focused_on_" select="count(BUS)"/>
102 <xsl:element name="SET">
103 <xsl:attribute name="CLASS">PROJECT</xsl:attribute>
104 <xsl:attribute name="VIEW_ID"><xsl:value-of select="@VIEW"/></xsl:attribute>
105 <xsl:attribute name="DISPLAYMODE"><xsl:value-of select="$use_mode_"/></xsl:attribute>
109 <!-- ADDRESS TAB VIEW -->
110 <xsl:when test="(@VIEW = 'ADDRESS')">
111 <xsl:call-template name="WRITE_VIEW_ADDRESS"/>
114 <!-- BIF TAB VIEWS -->
115 <xsl:when test="((@VIEW ='BUSINTERFACE') and (@SCOPE = 'FOCUS') and ($num_procs_focused_on_ > 0))">
116 <xsl:call-template name="WRITE_VIEW_BIF_FOCUS_ON_PROCS"/>
119 <!-- BIF TAB VIEWS -->
120 <xsl:when test="((@VIEW ='BUSINTERFACE') and (@SCOPE = 'FOCUS') and ($num_buses_focused_on_ > 0))">
121 <xsl:call-template name="WRITE_VIEW_BIF_FOCUS_ON_BUSES"/>
124 <xsl:when test="((@VIEW ='BUSINTERFACE') and (@MODE = 'TREE') and not(@SCOPE))">
125 <xsl:call-template name="WRITE_VIEW_BIF_TREE"/>
128 <xsl:when test="((@VIEW = 'BUSINTERFACE') and (@MODE = 'FLAT') and not(@SCOPE))">
129 <xsl:call-template name="WRITE_VIEW_BIF_FLAT"/>
132 <xsl:when test="((@VIEW = 'BUSINTERFACE') and (@MODE = 'GROUPS'))">
133 <xsl:call-template name="WRITE_VIEW_BIF_GROUPS">
134 <xsl:with-param name="iModules" select="$G_BLOCKS"/>
139 <!-- PORT TAB VIEWS -->
140 <xsl:when test="((@VIEW ='PORT') and (@SCOPE = 'FOCUS'))">
141 <xsl:call-template name="WRITE_VIEW_PORT_FOCUSED"/>
144 <!-- Generate XTeller panel data for Ports using hierarchy -->
145 <xsl:when test="((@VIEW = 'PORT') and (@MODE = 'TREE'))">
146 <xsl:call-template name="WRITE_VIEW_PORT_TREE"/>
149 <!-- Generate XTeller panel data for Ports without hierarchy, (flat view) -->
150 <xsl:when test="((@VIEW='PORT') and (@MODE = 'FLAT'))">
151 <xsl:call-template name="WRITE_VIEW_PORT_FLAT"/>
156 <xsl:message>ERROR during SAV XTeller generation with panel <xsl:value-of select="@VIEW"/> and display mode <xsl:value-of select="@MODE"/></xsl:message>
165 <xsl:template match="EDKSYSTEM">
168 <xsl:message>EDW VERSION <xsl:value-of select="$G_EDWVER"/></xsl:message>
169 <xsl:message>VIEW <xsl:value-of select="$VIEW"/></xsl:message>
170 <xsl:message>MODE <xsl:value-of select="$MODE"/></xsl:message>
173 <xsl:variable name="by_interface_">
176 Show interfaces or not
178 <xsl:when test="(($SHOW_BUSIF ='TRUE') or ($SHOW_IOIF ='TRUE'))">TRUE</xsl:when>
179 <xsl:otherwise>FALSE</xsl:otherwise>
184 <xsl:message>VIEW <xsl:value-of select="$VIEW"/></xsl:message>
185 <xsl:message>MODE <xsl:value-of select="$MODE"/></xsl:message>
186 <xsl:message>BY INTERFACE <xsl:value-of select="$by_interface_"/></xsl:message>
188 <xsl:variable name="displayMode_">
191 Hard code view to view for address panel,
192 always show view in what was formerly
193 multiprocessor view. See below.
195 <xsl:when test="(($G_NUM_OF_PROCS > 1) and ($VIEW='ADDRESS'))">TREE</xsl:when>
196 <xsl:when test="(($G_NUM_OF_PROCS <= 1) and ($VIEW='ADDRESS'))">FLAT</xsl:when>
198 <xsl:when test="($VIEW='ADDRESS')">TREE</xsl:when>
199 <xsl:otherwise><xsl:value-of select="$MODE"/></xsl:otherwise>
203 <SET CLASS="PROJECT" VIEW= "{$VIEW}" MODE="{$displayMode_}">
206 <!-- Generate XTeller panel data for Bus Interfaces using hierarchy -->
207 <xsl:when test="(($VIEW='BUSINTERFACE') and (not($MODE) or ($MODE = 'TREE')))">
208 <xsl:call-template name="WRITE_VIEW_BIF_TREE"/>
211 <!-- Generate XTeller panel data for Bus Interfaces without hierarchy, (flat view) -->
212 <xsl:when test="(($VIEW='BUSINTERFACE') and ($MODE = 'FLAT'))">
213 <xsl:call-template name="WRITE_VIEW_BIF_FLAT"/>
216 <!-- Generate XTeller panel data for Ports using hierarchy -->
217 <xsl:when test="(($VIEW='PORT') and (not($MODE) or ($MODE = 'TREE')))">
218 <xsl:call-template name="WRITE_VIEW_PORT_TREE"/>
221 <!-- Generate XTeller panel data for Ports without hierarchy, (flat view) -->
222 <xsl:when test="(($VIEW='PORT') and ($MODE = 'FLAT'))">
223 <xsl:call-template name="WRITE_VIEW_PORT_FLAT"/>
227 Hard code display of the address panel to always the the same.
228 No more tree or flat mode, always show address panel
229 in what was formerly the multiprocessor view.
231 <xsl:when test="($VIEW='ADDRESS')">
232 <xsl:call-template name="WRITE_VIEW_ADDRESS"/>
236 <xsl:message>ERROR during SAV XTeller generation with panel <xsl:value-of select="$VIEW"/> and display mode <xsl:value-of select="$MODE"/></xsl:message>