[477] | 1 | <?xml version="1.0" encoding="UTF-8"?> |
---|
| 2 | |
---|
| 3 | <!-- TO_DO: |
---|
| 4 | ODTWORZYC LINKI |
---|
| 5 | --> |
---|
| 6 | |
---|
| 7 | <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
---|
| 8 | xmlns="http://www.QosCosGrid.org/resourceDescription" |
---|
| 9 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
---|
| 10 | xmlns:set="http://exslt.org/sets" |
---|
| 11 | exclude-result-prefixes="set"> |
---|
| 12 | |
---|
| 13 | <xsl:strip-space elements="*"/> |
---|
| 14 | |
---|
| 15 | <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> |
---|
| 16 | |
---|
| 17 | <xsl:variable name="AD_IDENTIFIER">AD_ID</xsl:variable> |
---|
| 18 | <xsl:variable name="RES_IDENTIFIER">RES_ID</xsl:variable> |
---|
| 19 | <xsl:variable name="GROUP_IDENTIFIER">GROUP_ID</xsl:variable> |
---|
| 20 | <xsl:variable name="GATEWAY">GATEWAY</xsl:variable> |
---|
| 21 | <xsl:variable name="GRID_DOMAIN_IDENTIFIER">GRID</xsl:variable> |
---|
| 22 | |
---|
| 23 | <xsl:key name="AD_RESOURCES" match="/hostParameters/resources/computingResource" use="additionalProperties/property[@name=$AD_IDENTIFIER]"/> |
---|
| 24 | <xsl:key name="AD_GROUPS" match="/hostParameters/topology/resourcesGroup" use="additionalProperties/property[@name=$AD_IDENTIFIER]"/> |
---|
| 25 | <xsl:variable name="DOMAINS" select="set:distinct(.//additionalProperties/property[@name=$AD_IDENTIFIER])"/> |
---|
| 26 | |
---|
| 27 | <!-- ===================================================== ====================================================== --> |
---|
| 28 | <xsl:template match="/"> |
---|
| 29 | <xsl:apply-templates select="/hostParameters"/> |
---|
| 30 | </xsl:template> |
---|
| 31 | <!-- ===================================================== ====================================================== --> |
---|
| 32 | <xsl:template match="hostParameters"> |
---|
| 33 | <xsl:element name="rtg"> |
---|
| 34 | <xsl:call-template name="CONTEXT_TEMPLATE"/> |
---|
| 35 | |
---|
| 36 | <xsl:call-template name="INTRA_AD_INFOS_TEMPLATE"/> |
---|
| 37 | |
---|
| 38 | <xsl:call-template name="GRID_LEVEL_TEMPLATE"/> |
---|
| 39 | </xsl:element> |
---|
| 40 | </xsl:template> |
---|
| 41 | <!-- ===================================================== ====================================================== --> |
---|
| 42 | <xsl:template name="CONTEXT_TEMPLATE"> |
---|
| 43 | <xsl:element name="context"> |
---|
| 44 | <xsl:attribute name="rtgType">GridTopologyRtg</xsl:attribute> |
---|
| 45 | <xsl:attribute name="isComplete">true</xsl:attribute> |
---|
| 46 | |
---|
| 47 | <xsl:if test="validity/timeSlot"> |
---|
| 48 | <xsl:element name="defaultTimeInterval"> |
---|
| 49 | <xsl:apply-templates select="validity/timeSlot[1]"/> |
---|
| 50 | </xsl:element> |
---|
| 51 | </xsl:if> |
---|
| 52 | </xsl:element> |
---|
| 53 | </xsl:template> |
---|
| 54 | <!-- ===================================================== ====================================================== --> |
---|
| 55 | <xsl:template match="timeSlot"> |
---|
| 56 | <xsl:element name="lowerBoundedRange"> |
---|
| 57 | <xsl:value-of select="slotStart"/> |
---|
| 58 | </xsl:element> |
---|
| 59 | <xsl:choose> |
---|
| 60 | <xsl:when test="slotEnd"> |
---|
| 61 | <xsl:element name="upperBoundedRange"> |
---|
| 62 | <xsl:value-of select="slotEnd"/> |
---|
| 63 | </xsl:element> |
---|
| 64 | </xsl:when> |
---|
| 65 | <xsl:when test="slotDuration"> |
---|
| 66 | <xsl:element name="duration"> |
---|
| 67 | <xsl:value-of select="slotDuration"/> |
---|
| 68 | </xsl:element> |
---|
| 69 | </xsl:when> |
---|
| 70 | </xsl:choose> |
---|
| 71 | </xsl:template> |
---|
| 72 | <!-- ===================================================== ====================================================== --> |
---|
| 73 | <xsl:template name="INTRA_AD_INFOS_TEMPLATE"> |
---|
| 74 | <xsl:variable name="CURRENT" select="."/> |
---|
| 75 | <xsl:for-each select="$DOMAINS"> |
---|
| 76 | <xsl:element name="intraADInfo"> |
---|
| 77 | <xsl:attribute name="adId"> |
---|
| 78 | <xsl:value-of select="."/> |
---|
| 79 | </xsl:attribute> |
---|
| 80 | <xsl:apply-templates select="key('AD_RESOURCES',.)" mode="TEMPLATE_MODE"/> |
---|
| 81 | <xsl:apply-templates select="key('AD_GROUPS',.)" mode="TEMPLATE_MODE"/> |
---|
| 82 | |
---|
| 83 | <xsl:apply-templates select="key('AD_RESOURCES',.)" mode="RESOURCE_MODE"/> |
---|
| 84 | <xsl:apply-templates select="key('AD_GROUPS',.)" mode="RESOURCE_MODE"/> |
---|
| 85 | |
---|
| 86 | <xsl:apply-templates select="key('AD_GROUPS',.)" mode="GROUP_MODE"/> |
---|
| 87 | |
---|
| 88 | <xsl:apply-templates select="key('AD_RESOURCES',.)" mode="AVAILABILITY_MODE"/> |
---|
| 89 | </xsl:element> |
---|
| 90 | </xsl:for-each> |
---|
| 91 | </xsl:template> |
---|
| 92 | <!-- ===================================================== ====================================================== --> |
---|
| 93 | <xsl:template match="computingResource" mode="TEMPLATE_MODE"> |
---|
| 94 | <xsl:element name="compResourceTemplate"> |
---|
| 95 | <xsl:attribute name="id"> |
---|
| 96 | <xsl:value-of select="additionalProperties/property[@name=$RES_IDENTIFIER]"/> |
---|
| 97 | </xsl:attribute> |
---|
| 98 | <xsl:apply-templates select="machineParameters/hostParameter" mode="PARAMETER_MODE"/> |
---|
| 99 | </xsl:element> |
---|
| 100 | </xsl:template> |
---|
| 101 | <!-- ===================================================== ====================================================== --> |
---|
| 102 | <xsl:template match="*" mode="PARAMETER_MODE"> |
---|
| 103 | <xsl:choose> |
---|
| 104 | <xsl:when test="@name='cpucount'"> |
---|
| 105 | <xsl:call-template name="PARAMETER_TEMPLATE"> |
---|
| 106 | <xsl:with-param name="ELEMENT">metric</xsl:with-param> |
---|
| 107 | <xsl:with-param name="METRIC_TYPE">cpuCount</xsl:with-param> |
---|
| 108 | <xsl:with-param name="METRIC_UNIT">null</xsl:with-param> |
---|
| 109 | <xsl:with-param name="VALUE_TYPE">NUMERIC</xsl:with-param> |
---|
| 110 | </xsl:call-template> |
---|
| 111 | </xsl:when> |
---|
| 112 | <xsl:when test="@name='cpuspeed'"> |
---|
| 113 | <xsl:call-template name="PARAMETER_TEMPLATE"> |
---|
| 114 | <xsl:with-param name="ELEMENT">metric</xsl:with-param> |
---|
| 115 | <xsl:with-param name="METRIC_TYPE">cpuSpeed</xsl:with-param> |
---|
| 116 | <xsl:with-param name="METRIC_UNIT">MHz</xsl:with-param> |
---|
| 117 | <xsl:with-param name="VALUE_TYPE">NUMERIC</xsl:with-param> |
---|
| 118 | </xsl:call-template> |
---|
| 119 | </xsl:when> |
---|
| 120 | <xsl:when test="@name='memory'"> |
---|
| 121 | <xsl:call-template name="PARAMETER_TEMPLATE"> |
---|
| 122 | <xsl:with-param name="ELEMENT">metric</xsl:with-param> |
---|
| 123 | <xsl:with-param name="METRIC_TYPE">memoryTotal</xsl:with-param> |
---|
| 124 | <xsl:with-param name="METRIC_UNIT">MB</xsl:with-param> |
---|
| 125 | <xsl:with-param name="VALUE_TYPE">NUMERIC</xsl:with-param> |
---|
| 126 | </xsl:call-template> |
---|
| 127 | </xsl:when> |
---|
| 128 | <xsl:when test="@name='diskspace'"> |
---|
| 129 | <xsl:call-template name="PARAMETER_TEMPLATE"> |
---|
| 130 | <xsl:with-param name="ELEMENT">metric</xsl:with-param> |
---|
| 131 | <xsl:with-param name="METRIC_TYPE">diskTotal</xsl:with-param> |
---|
| 132 | <xsl:with-param name="METRIC_UNIT">MB</xsl:with-param> |
---|
| 133 | <xsl:with-param name="VALUE_TYPE">NUMERIC</xsl:with-param> |
---|
| 134 | </xsl:call-template> |
---|
| 135 | </xsl:when> |
---|
| 136 | <xsl:when test="@name='cpuarch'"> |
---|
| 137 | <xsl:call-template name="PARAMETER_TEMPLATE"> |
---|
| 138 | <xsl:with-param name="ELEMENT">metric</xsl:with-param> |
---|
| 139 | <xsl:with-param name="METRIC_TYPE">cpuType</xsl:with-param> |
---|
| 140 | <xsl:with-param name="VALUE_TYPE">STRING</xsl:with-param> |
---|
| 141 | </xsl:call-template> |
---|
| 142 | </xsl:when> |
---|
| 143 | <xsl:when test="@name='osname'"> |
---|
| 144 | <xsl:call-template name="PARAMETER_TEMPLATE"> |
---|
| 145 | <xsl:with-param name="ELEMENT">metric</xsl:with-param> |
---|
| 146 | <xsl:with-param name="METRIC_TYPE">osName</xsl:with-param> |
---|
| 147 | <xsl:with-param name="VALUE_TYPE">STRING</xsl:with-param> |
---|
| 148 | </xsl:call-template> |
---|
| 149 | </xsl:when> |
---|
| 150 | <xsl:when test="@name='osversion'"> |
---|
| 151 | <xsl:call-template name="PARAMETER_TEMPLATE"> |
---|
| 152 | <xsl:with-param name="ELEMENT">metric</xsl:with-param> |
---|
| 153 | <xsl:with-param name="METRIC_TYPE">osVersion</xsl:with-param> |
---|
| 154 | <xsl:with-param name="VALUE_TYPE">STRING</xsl:with-param> |
---|
| 155 | </xsl:call-template> |
---|
| 156 | </xsl:when> |
---|
| 157 | <xsl:when test="@name='freememory'"> |
---|
| 158 | <xsl:call-template name="PARAMETER_TEMPLATE"> |
---|
| 159 | <xsl:with-param name="ELEMENT">metric</xsl:with-param> |
---|
| 160 | <xsl:with-param name="METRIC_TYPE">memoryFree</xsl:with-param> |
---|
| 161 | <xsl:with-param name="METRIC_UNIT">MB</xsl:with-param> |
---|
| 162 | <xsl:with-param name="VALUE_TYPE">NUMERIC</xsl:with-param> |
---|
| 163 | </xsl:call-template> |
---|
| 164 | </xsl:when> |
---|
| 165 | <xsl:when test="@name='freediskspace'"> |
---|
| 166 | <xsl:call-template name="PARAMETER_TEMPLATE"> |
---|
| 167 | <xsl:with-param name="ELEMENT">metric</xsl:with-param> |
---|
| 168 | <xsl:with-param name="METRIC_TYPE">diskFree</xsl:with-param> |
---|
| 169 | <xsl:with-param name="METRIC_UNIT">MB</xsl:with-param> |
---|
| 170 | <xsl:with-param name="VALUE_TYPE">NUMERIC</xsl:with-param> |
---|
| 171 | </xsl:call-template> |
---|
| 172 | </xsl:when> |
---|
| 173 | <xsl:when test="@name='bandwidth'"> |
---|
| 174 | <xsl:call-template name="PARAMETER_TEMPLATE"> |
---|
| 175 | <xsl:with-param name="ELEMENT">metric</xsl:with-param> |
---|
| 176 | <xsl:with-param name="METRIC_TYPE">bandwidth</xsl:with-param> |
---|
| 177 | <xsl:with-param name="METRIC_UNIT">MB/sec</xsl:with-param> |
---|
| 178 | <xsl:with-param name="VALUE_TYPE">NUMERIC</xsl:with-param> |
---|
| 179 | </xsl:call-template> |
---|
| 180 | </xsl:when> |
---|
| 181 | <xsl:when test="@name='latency'"> |
---|
| 182 | <xsl:call-template name="PARAMETER_TEMPLATE"> |
---|
| 183 | <xsl:with-param name="ELEMENT">metric</xsl:with-param> |
---|
| 184 | <xsl:with-param name="METRIC_TYPE">latency</xsl:with-param> |
---|
| 185 | <xsl:with-param name="METRIC_UNIT">sec</xsl:with-param> |
---|
| 186 | <xsl:with-param name="VALUE_TYPE">NUMERIC</xsl:with-param> |
---|
| 187 | </xsl:call-template> |
---|
| 188 | </xsl:when> |
---|
| 189 | </xsl:choose> |
---|
| 190 | </xsl:template> |
---|
| 191 | <!-- ===================================================== ====================================================== --> |
---|
| 192 | <xsl:template name="PARAMETER_TEMPLATE"> |
---|
| 193 | <xsl:param name="ELEMENT"/> |
---|
| 194 | <xsl:param name="METRIC_TYPE" select="FALSE"/> |
---|
| 195 | <xsl:param name="METRIC_UNIT" select="FALSE"/> |
---|
| 196 | <xsl:param name="VALUE_TYPE"/> |
---|
| 197 | |
---|
| 198 | <xsl:element name="{$ELEMENT}"> |
---|
| 199 | <xsl:if test="$METRIC_UNIT"> |
---|
| 200 | <xsl:attribute name="unit"> |
---|
| 201 | <xsl:value-of select="$METRIC_UNIT"/> |
---|
| 202 | </xsl:attribute> |
---|
| 203 | </xsl:if> |
---|
| 204 | <xsl:if test="$METRIC_TYPE"> |
---|
| 205 | <xsl:attribute name="type" namespace="http://www.w3.org/2001/XMLSchema-instance"> |
---|
| 206 | <xsl:value-of select="$METRIC_TYPE"/> |
---|
| 207 | </xsl:attribute> |
---|
| 208 | </xsl:if> |
---|
| 209 | |
---|
| 210 | <xsl:apply-templates select="paramValue[1]" mode="PARAMETER_VALUE_MODE"> |
---|
| 211 | <xsl:with-param name="VALUE_TYPE"> |
---|
| 212 | <xsl:value-of select="$VALUE_TYPE"/> |
---|
| 213 | </xsl:with-param> |
---|
| 214 | </xsl:apply-templates> |
---|
| 215 | </xsl:element> |
---|
| 216 | |
---|
| 217 | </xsl:template> |
---|
| 218 | <!-- ===================================================== ====================================================== --> |
---|
| 219 | <xsl:template match="paramValue" mode="PARAMETER_VALUE_MODE"> |
---|
| 220 | <xsl:param name="VALUE_TYPE"/> |
---|
| 221 | |
---|
| 222 | <xsl:choose> |
---|
| 223 | <xsl:when test="$VALUE_TYPE='NUMERIC'"> |
---|
| 224 | <xsl:element name="rangeValue"> |
---|
| 225 | <xsl:element name="value"> |
---|
| 226 | <xsl:value-of select="."/> |
---|
| 227 | </xsl:element> |
---|
| 228 | <xsl:element name="min"> |
---|
| 229 | <xsl:value-of select="."/> |
---|
| 230 | </xsl:element> |
---|
| 231 | <xsl:element name="max"> |
---|
| 232 | <xsl:value-of select="."/> |
---|
| 233 | </xsl:element> |
---|
| 234 | </xsl:element> |
---|
| 235 | </xsl:when> |
---|
| 236 | <xsl:when test="$VALUE_TYPE='STRING'"> |
---|
| 237 | <xsl:element name="value"> |
---|
| 238 | <xsl:value-of select="."/> |
---|
| 239 | </xsl:element> |
---|
| 240 | </xsl:when> |
---|
| 241 | </xsl:choose> |
---|
| 242 | </xsl:template> |
---|
| 243 | <!-- ===================================================== ====================================================== --> |
---|
| 244 | <xsl:template match="computingResource" mode="RESOURCE_MODE"> |
---|
| 245 | <xsl:variable name="ID" select="additionalProperties/property[@name=$RES_IDENTIFIER]"/> |
---|
| 246 | |
---|
| 247 | <xsl:element name="compResource"> |
---|
| 248 | <xsl:attribute name="id"> |
---|
| 249 | <xsl:value-of select="$ID"/> |
---|
| 250 | </xsl:attribute> |
---|
| 251 | <xsl:attribute name="templateIdRef"> |
---|
| 252 | <xsl:value-of select="$ID"/> |
---|
| 253 | </xsl:attribute> |
---|
| 254 | <xsl:attribute name="isGateway"> |
---|
| 255 | <xsl:value-of select="additionalProperties/property[@name=$GATEWAY]"/> |
---|
| 256 | </xsl:attribute> |
---|
| 257 | <xsl:apply-templates select="machineParameters/hostParameter[@name='hostname']" mode="SPECIFIC_PARAMETER_MODE"> |
---|
| 258 | <xsl:with-param name="METRIC_TYPE">hostName</xsl:with-param> |
---|
| 259 | </xsl:apply-templates> |
---|
| 260 | </xsl:element> |
---|
| 261 | </xsl:template> |
---|
| 262 | <!-- ===================================================== ====================================================== --> |
---|
| 263 | <xsl:template match="*" mode="SPECIFIC_PARAMETER_MODE"> |
---|
| 264 | <xsl:param name="METRIC_TYPE"/> |
---|
| 265 | |
---|
| 266 | <xsl:call-template name="PARAMETER_TEMPLATE"> |
---|
| 267 | <xsl:with-param name="ELEMENT">resourceSpecificMetric</xsl:with-param> |
---|
| 268 | <xsl:with-param name="METRIC_TYPE"> |
---|
| 269 | <xsl:value-of select="$METRIC_TYPE"/> |
---|
| 270 | </xsl:with-param> |
---|
| 271 | <xsl:with-param name="VALUE_TYPE">STRING</xsl:with-param> |
---|
| 272 | </xsl:call-template> |
---|
| 273 | </xsl:template> |
---|
| 274 | <!-- ===================================================== ====================================================== --> |
---|
| 275 | <xsl:template match="resourcesGroup" mode="TEMPLATE_MODE"> |
---|
| 276 | <xsl:element name="netResourceTemplate"> |
---|
| 277 | <xsl:attribute name="id"> |
---|
| 278 | <xsl:value-of select="@groupId"/> |
---|
| 279 | </xsl:attribute> |
---|
| 280 | <xsl:apply-templates select="networkParamsInsideGroup/*" mode="PARAMETER_MODE"/> |
---|
| 281 | </xsl:element> |
---|
| 282 | </xsl:template> |
---|
| 283 | <!-- ===================================================== ====================================================== --> |
---|
| 284 | <xsl:template match="resourcesGroup" mode="RESOURCE_MODE"> |
---|
| 285 | <xsl:element name="netResource"> |
---|
| 286 | <xsl:attribute name="id"> |
---|
| 287 | <xsl:value-of select="@groupId"/> |
---|
| 288 | </xsl:attribute> |
---|
| 289 | <xsl:attribute name="templateIdRef"> |
---|
| 290 | <xsl:value-of select="@groupId"/> |
---|
| 291 | </xsl:attribute> |
---|
| 292 | </xsl:element> |
---|
| 293 | </xsl:template> |
---|
| 294 | <!-- ===================================================== ====================================================== --> |
---|
| 295 | <xsl:template match="resourcesGroup" mode="GROUP_MODE"> |
---|
| 296 | <xsl:element name="resourcesCommunicationGroup"> |
---|
| 297 | <xsl:attribute name="providerAdIdRef"> |
---|
| 298 | <xsl:value-of select="additionalProperties/property[@name=$AD_IDENTIFIER]"/> |
---|
| 299 | </xsl:attribute> |
---|
| 300 | <xsl:attribute name="netResourceIdRef"> |
---|
| 301 | <xsl:value-of select="@groupId"/> |
---|
| 302 | </xsl:attribute> |
---|
| 303 | <xsl:attribute name="groupId"> |
---|
| 304 | <xsl:value-of select="additionalProperties/property[@name=$GROUP_IDENTIFIER]"/> |
---|
| 305 | </xsl:attribute> |
---|
| 306 | <xsl:attribute name="isGateway"> |
---|
| 307 | <xsl:value-of select="additionalProperties/property[@name=$GATEWAY]"/> |
---|
| 308 | </xsl:attribute> |
---|
| 309 | <xsl:for-each select="resources/computingResourceIdRef"> |
---|
| 310 | <xsl:element name="resourceIdRef"> |
---|
| 311 | <xsl:value-of select="."/> |
---|
| 312 | </xsl:element> |
---|
| 313 | </xsl:for-each> |
---|
| 314 | </xsl:element> |
---|
| 315 | </xsl:template> |
---|
| 316 | <!-- ===================================================== ====================================================== --> |
---|
| 317 | <xsl:template match="computingResource" mode="AVAILABILITY_MODE"> |
---|
| 318 | <xsl:if test="availability or machineParameters/../availability"> |
---|
| 319 | <xsl:element name="resourceAvailability"> |
---|
| 320 | <xsl:attribute name="resourceIdRef"> |
---|
| 321 | <xsl:value-of select="additionalProperties/property[@name=$RES_IDENTIFIER]"/> |
---|
| 322 | </xsl:attribute> |
---|
| 323 | |
---|
| 324 | <xsl:apply-templates select="availability/timeSlot" mode="RESOURCE_AVAILABILITY_MODE"/> |
---|
| 325 | |
---|
| 326 | <xsl:apply-templates select="machineParameters/hostParameter/availability/timeSlot" mode="PARAMETER_AVAILABILITY_MODE"/> |
---|
| 327 | |
---|
| 328 | </xsl:element> |
---|
| 329 | </xsl:if> |
---|
| 330 | </xsl:template> |
---|
| 331 | <!-- ===================================================== ====================================================== --> |
---|
| 332 | <xsl:template match="timeSlot" mode="RESOURCE_AVAILABILITY_MODE"> |
---|
| 333 | <xsl:element name="resourceState"> |
---|
| 334 | <xsl:element name="resourceState"> |
---|
| 335 | <xsl:value-of select="@state"/> |
---|
| 336 | </xsl:element> |
---|
| 337 | <xsl:element name="timeInterval"> |
---|
| 338 | <xsl:apply-templates select="."/> |
---|
| 339 | </xsl:element> |
---|
| 340 | </xsl:element> |
---|
| 341 | </xsl:template> |
---|
| 342 | <!-- ===================================================== ====================================================== --> |
---|
| 343 | <xsl:template match="timeSlot" mode="PARAMETER_AVAILABILITY_MODE"> |
---|
| 344 | <xsl:element name="resourceState"> |
---|
| 345 | <xsl:element name="timeInterval"> |
---|
| 346 | <xsl:apply-templates select="."/> |
---|
| 347 | </xsl:element> |
---|
| 348 | <xsl:element name="metricAvailability"> |
---|
| 349 | <xsl:apply-templates select="../.." mode="PARAMETER_MODE"/> |
---|
| 350 | <xsl:element name="state"> |
---|
| 351 | <xsl:value-of select="@state"/> |
---|
| 352 | </xsl:element> |
---|
| 353 | </xsl:element> |
---|
| 354 | </xsl:element> |
---|
| 355 | </xsl:template> |
---|
| 356 | <!-- ===================================================== ====================================================== --> |
---|
| 357 | <xsl:template name="GRID_LEVEL_TEMPLATE"> |
---|
| 358 | <xsl:variable name="GROUP2GROUP" select="topology/resourcesGroup/networkParamsToGroup"/> |
---|
| 359 | <xsl:if test="$GROUP2GROUP"> |
---|
| 360 | <xsl:element name="intraADInfo"> |
---|
| 361 | <xsl:attribute name="adId"><xsl:value-of select="$GRID_DOMAIN_IDENTIFIER"/></xsl:attribute> |
---|
| 362 | <xsl:apply-templates select="$GROUP2GROUP" mode="GRID_DOMAIN_TEMPLATE_MODE"/> |
---|
| 363 | <xsl:apply-templates select="$GROUP2GROUP" mode="GRID_DOMAIN_RESOURCE_MODE"/> |
---|
| 364 | </xsl:element> |
---|
| 365 | |
---|
| 366 | <xsl:element name="interADInfo"> |
---|
| 367 | <xsl:attribute name="isSymmetric"> |
---|
| 368 | <xsl:value-of select="topology/resourcesGroup/networkParamsToGroup[1]/@isSymmetric"/> |
---|
| 369 | </xsl:attribute> |
---|
| 370 | <xsl:apply-templates select="$GROUP2GROUP" mode="GRID_LINKS_MODE"/> |
---|
| 371 | </xsl:element> |
---|
| 372 | </xsl:if> |
---|
| 373 | </xsl:template> |
---|
| 374 | <!-- ===================================================== ====================================================== --> |
---|
| 375 | <xsl:template match="networkParamsToGroup" mode="GRID_DOMAIN_TEMPLATE_MODE"> |
---|
| 376 | <xsl:element name="netResourceTemplate"> |
---|
| 377 | <xsl:attribute name="id"> |
---|
| 378 | <xsl:value-of select="../@groupId"/>-<xsl:value-of select="@groupId"/>-<xsl:value-of select="generate-id()"/> |
---|
| 379 | </xsl:attribute> |
---|
| 380 | <xsl:apply-templates mode="PARAMETER_MODE"/> |
---|
| 381 | </xsl:element> |
---|
| 382 | </xsl:template> |
---|
| 383 | <!-- ===================================================== ====================================================== --> |
---|
| 384 | <xsl:template match="networkParamsToGroup" mode="GRID_DOMAIN_RESOURCE_MODE"> |
---|
| 385 | <xsl:element name="netResource"> |
---|
| 386 | <xsl:attribute name="id"> |
---|
| 387 | <xsl:value-of select="../@groupId"/>-<xsl:value-of select="@groupId"/>-<xsl:value-of select="generate-id()"/> |
---|
| 388 | </xsl:attribute> |
---|
| 389 | <xsl:attribute name="templateIdRef"> |
---|
| 390 | <xsl:value-of select="../@groupId"/>-<xsl:value-of select="@groupId"/>-<xsl:value-of select="generate-id()"/> |
---|
| 391 | </xsl:attribute> |
---|
| 392 | </xsl:element> |
---|
| 393 | </xsl:template> |
---|
| 394 | <!-- ===================================================== ====================================================== --> |
---|
| 395 | <xsl:template match="networkParamsToGroup" mode="GRID_LINKS_MODE"> |
---|
| 396 | <xsl:element name="link"> |
---|
| 397 | <xsl:attribute name="adIdRef"> |
---|
| 398 | <xsl:value-of select="$GRID_DOMAIN_IDENTIFIER"/> |
---|
| 399 | </xsl:attribute> |
---|
| 400 | <xsl:attribute name="fromAdId"> |
---|
| 401 | <xsl:value-of select="../additionalProperties/property[@name=$AD_IDENTIFIER]"/> |
---|
| 402 | </xsl:attribute> |
---|
| 403 | <xsl:attribute name="fromGroupId"> |
---|
| 404 | <xsl:value-of select="../additionalProperties/property[@name=$GROUP_IDENTIFIER]"/> |
---|
| 405 | </xsl:attribute> |
---|
| 406 | <xsl:attribute name="toAdId"> |
---|
| 407 | <xsl:value-of select="additionalProperties/property[@name=$AD_IDENTIFIER]"/> |
---|
| 408 | </xsl:attribute> |
---|
| 409 | <xsl:attribute name="toGroupId"> |
---|
| 410 | <xsl:value-of select="additionalProperties/property[@name=$GROUP_IDENTIFIER]"/> |
---|
| 411 | </xsl:attribute> |
---|
| 412 | <xsl:attribute name="netResourceIdRef"> |
---|
| 413 | <xsl:value-of select="../@groupId"/>-<xsl:value-of select="@groupId"/>-<xsl:value-of select="generate-id()"/> |
---|
| 414 | </xsl:attribute> |
---|
| 415 | </xsl:element> |
---|
| 416 | </xsl:template> |
---|
| 417 | <!-- ===================================================== ====================================================== --> |
---|
| 418 | |
---|
| 419 | <!-- ===================================================== ====================================================== --> |
---|
| 420 | <!-- ===================================================== ====================================================== --> |
---|
| 421 | <xsl:template match="*"> |
---|
| 422 | !!! missing support for <xsl:value-of select="name()"/> !!! |
---|
| 423 | </xsl:template> |
---|
| 424 | <!-- ===================================================== ====================================================== --> |
---|
| 425 | </xsl:transform> |
---|