����JFIF��x�x����'
Server IP : 78.140.185.180 / Your IP : 3.142.124.139 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/dell/srvadmin/var/lib/openmanage/xslroot/sm/template/common/ |
Upload File : |
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:import href="Utils.xsl"/> <!-- The hhhltbl.xsl is used to display a table of HHHL physical devices with their associated properties. --> <!-- This should be used by all webpages which are required to display a table of HHHL physical devices --> <!-- Having this code in a common file allows for a central location to make updates and add new --> <!-- new fields for physical devices which will then be displayed by all web pages as well as the CLI. --> <!-- This file is broken down into two main xsl templates. The TABLE HEADER and the TABLE ROWS. --> <!-- HHHL TABLE HEADER --> <xsl:variable name="VAR_LOCALE"><xsl:value-of select="/OMA/Locale"/></xsl:variable> <xsl:template name="HHHLTableHeader"> <xsl:param name="tasks"/> <xsl:param name="expanded"/> <xsl:param name="changestatus"/> <xsl:call-template name="scripts"/> <xsl:variable name="dynamicView"> <xsl:choose> <xsl:when test="/OMA/@cli = 'true' ">false</xsl:when> <xsl:otherwise>true</xsl:otherwise> </xsl:choose> </xsl:variable> <Data name="Id" columnspacing="true" editable="false" type="ustring" ignoreonweb="true"> <xsl:attribute name="display"><xsl:value-of select="$strPCI"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strPCI"/></xsl:attribute> </Data> <xsl:if test="/OMA/@cli = 'true' or //ObjStatus"> <Data name="Status" columnspacing="true" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strStatus"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strStatus"/></xsl:attribute> </Data> </xsl:if> <Data name="Name" columnspacing="true" editable="false" type="ustring" align="left"> <xsl:attribute name="display"><xsl:value-of select="$strName"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strName"/></xsl:attribute> </Data> <xsl:if test="/OMA/@cli = 'true' or //ObjState"> <Data name="State" columnspacing="true" editable="false" type="ustring" align="left"> <xsl:attribute name="display"><xsl:value-of select="$strState"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strState"/></xsl:attribute> </Data> </xsl:if> <!--DeviceName field will be displayed only for PCIe-SSD devices--> <xsl:if test="//DeviceName and //BusProtocol='9'"> <!-- See ifany disk has BusProtocol populated. If so, show the header for the table --> <Data name="BusProtocol" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strDeviceName"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strDeviceName"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="$tasks='true'"> <Data name="taskslist" columnspacing="true" editable="false" type="ustring" ignoreoncli="true"> <!--xsl:if test="$changestatus = 1"--> <xsl:attribute name="noborderright">true</xsl:attribute> <!--/xsl:if--> <xsl:attribute name="display"><xsl:value-of select="$strTasks"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strTasks"/></xsl:attribute> </Data> <!--xsl:if test="$changestatus != 1"--> <Data name="exbut" columnspacing="true" editable="false" type="ustring" ignoreoncli="true"> <xsl:attribute name="display"><!--XLATESTART-->Execute<!--XLATESTOP--></xsl:attribute> <xsl:attribute name="value"><!--XLATESTART--><!--XLATESTOP--></xsl:attribute> </Data> <!--/xsl:if--> </xsl:if> <xsl:if test="//BusProtocol or /OMA/@cli = 'true'"> <!-- See ifany disk has BusProtocol populated. If so, show the header for the table --> <Data name="BusProtocol" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strType"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strType"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="//NVMeSpecVerSupported or (//NVMeSpecVerSupported and /OMA/@cli = 'true')"> <!-- See ifany disk has NVMeSpecVerSupported populated. If so, show the header for the table --> <Data name="NVMeSpecVerSupported" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strDeviceProtocol"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strDeviceProtocol"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="//MediaType or /OMA/@cli = 'true'"> <Data name="MediaType" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strMediaType"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strMediaType"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="//RemainingRatedWriteEndurance or /OMA/@cli = 'true'"> <Data name="RemainingRatedWriteEndurance " editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strRemainingRatedWriteEndurance"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strRemainingRatedWriteEndurance"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="/OMA/@cli = 'true' or //Revision"> <xsl:choose> <xsl:when test="//BusProtocol and //BusProtocol='9'"> <Data name="Rev" columnspacing="true" editable="false" type="ustring" align="left"> <xsl:attribute name="display"><xsl:value-of select="$strFWRevision"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strFWRevision"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data name="Rev" columnspacing="true" editable="false" type="ustring" align="left"> <xsl:attribute name="display"><xsl:value-of select="$strRevision"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strRevision"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="//CurrentDriverVersion or /OMA/@cli = 'true'"> <Data name="CurrentDriverVersion" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strDvr"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strDvr"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="//ModelNumber or /OMA/@cli = 'true'"> <Data name="ModelNumber" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strModelNumber"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strModelNumber"/></xsl:attribute> </Data> </xsl:if> <HiddenTable> <Data > <xsl:attribute name="name">BackTo</xsl:attribute> <xsl:attribute name="returnvalue"></xsl:attribute> </Data> </HiddenTable> <!-- isEmpty var used for hiding tasks menu option --> <xsl:variable name="isEmpty"> <xsl:call-template name="IsCurrentMethodMaskEmpty"> <xsl:with-param name="Mask"> <xsl:value-of select="CurrentMethodMask"/> </xsl:with-param> </xsl:call-template> </xsl:variable> <xsl:if test="//Length or /OMA/@cli = 'true'"> <Data name="Capacity" columnspacing="true" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strCapacity"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strCapacity"/></xsl:attribute> </Data> </xsl:if> <Data name="Vendor" columnspacing="true" editable="false" type="ustring" align="left"> <xsl:attribute name="display"><xsl:value-of select="$strVendorID"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strVendorID"/></xsl:attribute> </Data> <Data name="ProductID" columnspacing="true" editable="false" type="ustring" align="left"> <xsl:attribute name="display"><xsl:value-of select="$strProductID"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strProductID"/></xsl:attribute> </Data> <xsl:if test="//DeviceSerialNumber or $dynamicView = 'false'"> <!-- Only display this column if any of the objects return the XML --> <Data name="Serial" columnspacing="true" editable="false" type="ustring" align="left"> <xsl:attribute name="display"><xsl:value-of select="$strSerial"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strSerial"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="//PartNo or $dynamicView = 'false'"> <Data name="PartNo" columnspacing="true" editable="false" type="ustring" align="left"> <xsl:attribute name="display"><xsl:value-of select="$strPartNo"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strPartNo"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="//NegotiatedSpeed or $dynamicView = 'false'"> <!-- Only display this column if any of the objects return the XML --> <xsl:choose> <xsl:when test="//BusProtocol and //BusProtocol='9'"> <Data name="NegotiatedSpeed " columnspacing="true" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strPCIeNegotiatedLinkSpeed"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strPCIeNegotiatedLinkSpeed"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data name="NegotiatedSpeed " columnspacing="true" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strNegotiatedSpeed"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strNegotiatedSpeed"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="//CapableSpeed or $dynamicView = 'false'"> <!-- Only display this column if any of the objects return the XML --> <xsl:choose> <xsl:when test="//BusProtocol and //BusProtocol='9'"> <Data name="CapableSpeed " columnspacing="true" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strPCIeMaxLinkSpeed"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strPCIeMaxLinkSpeed"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data name="CapableSpeed " columnspacing="true" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strCapableSpeed"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strCapableSpeed"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="//NegotiatedLinkWidth or $dynamicView = 'false'"> <!-- Only display this column if any of the objects return the XML --> <Data name="NegotiatedLinkWidth" columnspacing="true" editable="false" type="ustring" align="left"> <xsl:attribute name="display"><xsl:value-of select="$strPCIeNegotiatedLinkWidth"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strPCIeNegotiatedLinkWidth"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="//MaxLinkWidth or $dynamicView = 'false'"> <!-- Only display this column if any of the objects return the XML --> <Data name="MaxLinkWidth" columnspacing="true" editable="false" type="ustring" align="left"> <xsl:attribute name="display"><xsl:value-of select="$strPCIeMaxLinkWidth"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strPCIeMaxLinkWidth"/></xsl:attribute> </Data> </xsl:if> <!-- Fix for JIT-73428 || Enabling FormFactor attribute display to PCIe SSD Subsystem --> <xsl:if test="/OMA/NVMeAdapters/@ControllerName = 'PCIe SSD Subsystem'"> <xsl:if test="//FormFactor or $dynamicView = 'false'"> <Data name="FormFactor" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strFormfactor"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strFormfactor"/></xsl:attribute> </Data> </xsl:if> </xsl:if> <xsl:if test="//SubVendor or $dynamicView = 'false'"> <Data name="SubVendor" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strSubVendor"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strSubVendor"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="$dynamicView = 'false'"> <Data name="PredFailure" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strPredFailure"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strPredFailure"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="//AvailableSpareThresholdPCIe or $dynamicView = 'false'"> <Data name="AvailableSpareThresholdPCIe" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strAvailableSpare"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strAvailableSpare"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="($dynamicView = 'false') or (//IsDeviceNVME and //IsDeviceNVME = '1')"> <Data name="ISECapable" editable="false" type="ustring" align="center"> <xsl:attribute name="display"><xsl:value-of select="$strISECapable"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$strISECapable"/></xsl:attribute> </Data> </xsl:if> </xsl:template> <!-- HHHL TABLE ROWS --> <xsl:template name="HHHLTableRows"> <xsl:param name="tasks"/> <xsl:param name="expanded"/> <xsl:param name="changestatus"/> <xsl:param name="ObjID"> <xsl:call-template name="ModNexus"> <xsl:with-param name="nexus"> <xsl:value-of select="Nexus"/> </xsl:with-param> </xsl:call-template> </xsl:param> <xsl:call-template name="scripts"/> <!-- The current implementation is to have the UI be dynamic in the data it shows. Only the columns applicable to the objects will be displayed. The CLI will display all columns of data however to ease script parsing. --> <xsl:variable name="dynamicView"> <xsl:choose> <xsl:when test="/OMA/@cli = 'true' ">false</xsl:when> <xsl:otherwise>true</xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="ADID"> <xsl:value-of select="Channel"/> </xsl:variable> <xsl:variable name="PredFailureValue"> <xsl:call-template name="SmartAlertDetected"> <xsl:with-param name="AttributesMask"> <xsl:value-of select="AttributesMask"/> </xsl:with-param> </xsl:call-template> </xsl:variable> <Row height="30px"> <Data type="ustring" columnspacing="true" align="center" ignoreonweb="true"> <xsl:attribute name="value"><xsl:value-of select="$ADID"/></xsl:attribute> </Data> <xsl:if test="/OMA/@cli = 'true' or ObjStatus"> <Data type="status" columnspacing="true" align="center"> <xsl:attribute name="value"><xsl:value-of select="ObjStatus"/></xsl:attribute> </Data> </xsl:if> <Data name="Name" columnspacing="true" editable="false" type="ustring" display="Test" align="left"> <xsl:attribute name="value"><xsl:value-of select="$strHHHL"/><xsl:value-of select="$ADID"/></xsl:attribute> </Data> <xsl:if test="ObjState or /OMA/@cli = 'true'"> <Data name="State" columnspacing="true" editable="false" type="ustring" display="Test" align="left"> <xsl:attribute name="value"><xsl:call-template name="GetState"><xsl:with-param name="state"><xsl:value-of select="ObjState"/></xsl:with-param></xsl:call-template></xsl:attribute> </Data> </xsl:if> <xsl:if test="//DeviceName and //BusProtocol='9'"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="DeviceName"/></xsl:attribute> </Data> </xsl:if> <!-- isEmpty var used for hiding tasks menu option 2nd redefinition. The first definition above seems to not be picked up. --> <xsl:variable name="isEmpty"> <xsl:call-template name="IsCurrentMethodMaskEmpty"> <xsl:with-param name="Mask"> <xsl:value-of select="CurrentMethodMask"/> </xsl:with-param> </xsl:call-template> </xsl:variable> <xsl:variable name="IsPDEncryptionCapable"><xsl:call-template name="IsDiskSecured"><xsl:with-param name="Mask"><xsl:value-of select="AttributesMask"/></xsl:with-param></xsl:call-template></xsl:variable> <xsl:if test="$tasks='true'"> <!--check to see if methods even exist --> <xsl:choose> <xsl:when test="$isEmpty='0'"> <!-- currentmethod mask isn't empty --> <Data value="tasks" columnspacing="true" display="Array Disks Tasks" type="select" ignoreoncli="true"> <xsl:attribute name="display"><xsl:value-of select="$strADTasks"/></xsl:attribute> <xsl:attribute name="name">ADtasks<xsl:value-of select="$ObjID"/></xsl:attribute> <!--xsl:if test="$changestatus = 1"--> <xsl:attribute name="noborderright">true</xsl:attribute> <!--/xsl:if--> <xsl:choose> <xsl:when test="(starts-with($VAR_LOCALE, 'fr')) or (starts-with($VAR_LOCALE, 'es')) or (starts-with($VAR_LOCALE, 'de')) or (starts-with($VAR_LOCALE, 'ja'))"> <xsl:attribute name="width">width:300px</xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="width">width:180px</xsl:attribute> </xsl:otherwise> </xsl:choose> <Choice returnvalue="-" default="true"> <xsl:attribute name="value"><xsl:value-of select="$strSelectTask"/></xsl:attribute> </Choice> <xsl:call-template name="for-loop-list-box"> <xsl:with-param name="Mask" select="CurrentMethodMask"/> <xsl:with-param name="templateName" select="10"/> <xsl:with-param name="BusProtocol" select="BusProtocol"/> </xsl:call-template> <!--xsl:if test="$changestatus != 1"> <ExtraItem type="button"> <xsl:attribute name="href">javascript:onExecute(\"Physical Disk <xsl:value-of select="$ADID"/>\",\"<xsl:value-of select="$ObjID"/>\",\"<xsl:value-of select="PDPowerState"/>\");</xsl:attribute> <xsl:attribute name="display"><xsl:value-of select="$strExecute"/></xsl:attribute> <xsl:attribute name="tablebutton">true</xsl:attribute> </ExtraItem> </xsl:if--> </Data> <!--xsl:if test="$changestatus = 1"--> <Data type="button"> <xsl:attribute name="display"><xsl:value-of select="$strExecute"/></xsl:attribute> <xsl:attribute name="id"><xsl:value-of select="$strExecute"/></xsl:attribute> <xsl:attribute name="href">javascript:onExecute(\"Physical Disk <xsl:value-of select="$ADID"/>\",\"<xsl:value-of select="$ObjID"/>\",\"<xsl:value-of select="$IsPDEncryptionCapable"/>\");</xsl:attribute> <xsl:attribute name="tablebutton">true</xsl:attribute> <!-- The above property should be set for the table button to get rid of whitespaces on the edges --> </Data> <!--/xsl:if--> </xsl:when> <xsl:otherwise> <!-- currentmethod mask is empty --> <Data value="tasks" columnspacing="true" type="select" ignoreoncli="true" noborderright="true"> <xsl:attribute name="display"><xsl:value-of select="$strADTasks"/></xsl:attribute> <xsl:attribute name="name">ADtasks<xsl:value-of select="$ObjID"/></xsl:attribute> <xsl:choose> <xsl:when test="(starts-with($VAR_LOCALE, 'fr')) or (starts-with($VAR_LOCALE, 'es')) or (starts-with($VAR_LOCALE, 'de')) or (starts-with($VAR_LOCALE, 'ja'))"> <xsl:attribute name="width">width:300px</xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="width">width:180px</xsl:attribute> </xsl:otherwise> </xsl:choose> <Choice returnvalue="" default="true"> <xsl:attribute name="value"><xsl:value-of select="$strNoTask"/></xsl:attribute> </Choice> </Data> <!--xsl:if test="$changestatus = 1"--> <!-- BITS040174: Introducing a new type 'skipSubtable'; for this type, sub table data will not be displayed. Note: sub table data appears on expanding Physical disks info by clicking on '+' --> <Data type="skipSubtable" columnspacing="true" name="execute" link="false"> <xsl:attribute name="value"></xsl:attribute> </Data> <!--/xsl:if--> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="//BusProtocol or /OMA/@cli = 'true'"> <xsl:choose> <xsl:when test="BusProtocol"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:call-template name="GetBusProtocol"><xsl:with-param name="Bus"><xsl:value-of select="BusProtocol"/></xsl:with-param><xsl:with-param name="AttributesMask"><xsl:value-of select="AttributesMask"/></xsl:with-param></xsl:call-template></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotAvailable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="//NVMeSpecVerSupported or (//NVMeSpecVerSupported and /OMA/@cli = 'true')"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="NVMeSpecVerSupported"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="//MediaType or /OMA/@cli = 'true'"> <xsl:choose> <xsl:when test="MediaType"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:call-template name="GetMediaType"><xsl:with-param name="MediaType"><xsl:value-of select="MediaType"/></xsl:with-param></xsl:call-template></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotAvailable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="//RemainingRatedWriteEndurance or /OMA/@cli = 'true'"> <xsl:choose> <xsl:when test="RemainingRatedWriteEndurance"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="RemainingRatedWriteEndurance"/>%</xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotApplicable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="/OMA/@cli = 'true' or //Revision"> <Data name="Test" columnspacing="true" editable="false" type="ustring" display="Test" align="left"> <xsl:attribute name="value"><xsl:value-of select="Revision"/></xsl:attribute> </Data> </xsl:if> <xsl:if test="//CurrentDriverVersion or /OMA/@cli = 'true'"> <xsl:choose> <xsl:when test="CurrentDriverVersion"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="CurrentDriverVersion"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotApplicable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="//ModelNumber or /OMA/@cli = 'true'"> <xsl:choose> <xsl:when test="ModelNumber"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="ModelNumber"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotApplicable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <!-- CAPACITY (LENGTH) COLUMN --> <xsl:if test="//Length or $dynamicView = 'false'"> <!-- Check to see if ANY of the objects have the XML tag. If so, then the header will be displayed, so populate the value here --> <xsl:choose> <!-- The column will be displayed so check to see if THIS object has the XML tag. --> <xsl:when test="Length"> <!-- The tag exists, so display the value --> <!--xsl:if test="$expanded='true'"--> <xsl:choose> <xsl:when test="/OMA/@cli='true'"> <!-- CLI Versions of the length data (displays bytes as well as GiB) --> <Data name="Test" columnspacing="true" editable="false" type="ustring" display="Test" align="center"> <xsl:attribute name="value"><xsl:call-template name="DecimalSep"><xsl:with-param name="Size"><xsl:value-of select="Length"/></xsl:with-param></xsl:call-template> GiB (<xsl:value-of select="Length"/> bytes)</xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <!-- Web Versions of the length data (ONLY displays GiB) --> <Data name="Test" columnspacing="true" editable="false" type="ustring" display="Test" align="center"> <xsl:attribute name="value"><xsl:call-template name="DecimalSep"><xsl:with-param name="Size"><xsl:value-of select="Length"/></xsl:with-param></xsl:call-template><xsl:value-of select="$strGB"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <Data name="Test" columnspacing="true" editable="false" type="ustring" display="Test" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strUnavaliable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <Data name="Test" columnspacing="true" editable="false" type="ustring" display="Test" align="left"> <xsl:attribute name="value"><xsl:value-of select="Vendor"/></xsl:attribute> </Data> <Data name="Test" columnspacing="true" editable="false" type="ustring" display="Test" align="left"> <xsl:attribute name="value"><xsl:value-of select="ProductID"/></xsl:attribute> </Data> <xsl:if test="//DeviceSerialNumber or /OMA/@cli = 'true'"> <xsl:choose> <xsl:when test="DeviceSerialNumber"> <Data type="ustring" align="left"> <xsl:attribute name="value"><xsl:value-of select="DeviceSerialNumber"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotAvailable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="//PartNo or /OMA/@cli = 'true'"> <xsl:choose> <xsl:when test="PartNo"> <Data type="ustring" align="left"> <xsl:attribute name="value"><xsl:value-of select="PartNo"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotAvailable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="//NegotiatedSpeed or /OMA/@cli = 'true'"> <xsl:choose> <xsl:when test="NegotiatedSpeed and NegotiatedSpeed>0"> <xsl:choose> <xsl:when test="//BusProtocol and //BusProtocol='9' and /OMA/NVMeAdapters/DCStorageObject/IsDeviceNVME and /OMA/NVMeAdapters/DCStorageObject/IsDeviceNVME = '1'"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="format-number((NegotiatedSpeed div (10)),'#,##0.0')"/> <xsl:text> </xsl:text><xsl:value-of select="$strGTPerSec"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="format-number((NegotiatedSpeed div (1024)),'#,##0.00')"/> <xsl:text> </xsl:text><xsl:value-of select="$strGbps"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:when test="NegotiatedSpeed and NegotiatedSpeed = '0'"> <Data type="ustring" align="center"> <xsl:attribute name="value">0</xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotAvailable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="//CapableSpeed or /OMA/@cli = 'true'"> <xsl:choose> <xsl:when test="CapableSpeed and CapableSpeed>0"> <xsl:choose> <xsl:when test="//BusProtocol and //BusProtocol='9' and /OMA/NVMeAdapters/DCStorageObject/IsDeviceNVME and /OMA/NVMeAdapters/DCStorageObject/IsDeviceNVME = '1'"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="format-number((CapableSpeed div (10)),'#,##0.0')"/> <xsl:text> </xsl:text><xsl:value-of select="$strGTPerSec"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="format-number((CapableSpeed div (1024)),'#,##0.00')"/> <xsl:text> </xsl:text><xsl:value-of select="$strGbps"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:when test="CapableSpeed and CapableSpeed = '0'"> <Data type="ustring" align="center"> <xsl:attribute name="value">0</xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotAvailable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="//NegotiatedLinkWidth or /OMA/@cli = 'true'"> <xsl:choose> <xsl:when test="NegotiatedLinkWidth"> <Data type="ustring" align="left"> <xsl:attribute name="value"><xsl:value-of select="$strX"/><xsl:value-of select="NegotiatedLinkWidth"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotApplicable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="//MaxLinkWidth or /OMA/@cli = 'true'"> <xsl:choose> <xsl:when test="MaxLinkWidth"> <Data type="ustring" align="left"> <xsl:attribute name="value"><xsl:value-of select="$strX"/><xsl:value-of select="MaxLinkWidth"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotApplicable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <!-- Fix for JIT-73428 || Enabling FormFactor attribute display to PCIe SSD Subsystem --> <xsl:if test="/OMA/NVMeAdapters/@ControllerName = 'PCIe SSD Subsystem'"> <xsl:if test="//FormFactor or $dynamicView = 'false'"> <xsl:choose> <xsl:when test="FormFactor"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:call-template name="GetFormFactor"><xsl:with-param name="FormFactor"><xsl:value-of select="FormFactor"/></xsl:with-param></xsl:call-template></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotAvailable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:if> <xsl:if test="//SubVendor or $dynamicView = 'false'"> <xsl:choose> <xsl:when test="SubVendor"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="SubVendor"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotAvailable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="$dynamicView = 'false'"> <xsl:choose> <xsl:when test="$PredFailureValue= '1'"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strYes"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNo"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="//AvailableSpareThresholdPCIe or $dynamicView = 'false'"> <xsl:choose> <xsl:when test="AvailableSpareThresholdPCIe"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="AvailableSpareThresholdPCIe"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNotAvailable"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="($dynamicView = 'false') or (//IsDeviceNVME and //IsDeviceNVME = '1')"> <xsl:choose> <xsl:when test="(//CurrentMethodMask and substring(CurrentMethodMask,11,1 )= '1')"> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strYes"/></xsl:attribute> </Data> </xsl:when> <xsl:otherwise> <Data type="ustring" align="center"> <xsl:attribute name="value"><xsl:value-of select="$strNo"/></xsl:attribute> </Data> </xsl:otherwise> </xsl:choose> </xsl:if> </Row> <script language="javascript"> function onExecute(name, oid, IsPDEncryptionCapable) { var help_Topic=""; <xsl:if test="//BusProtocol = '9'"> helpTopic=""; </xsl:if> var ADtasks = "ADtasks" + oid; var action = document.getElementById(ADtasks).value; var ADConfirmUrl = "./DataArea?plugin=com.dell.sm.webplugins.ConfirmHHHLActionWebPlugin&ControllerOID=<xsl:value-of select="/OMA/ID"/>&ADiskOID=" + oid + "&Action="+ action+ "&ChannelOID=<xsl:value-of select="/OMA/CHID"/>"; var ADExecuteLogUrl = "./DataArea?plugin=com.dell.sm.webplugins.CtrlExportLogWebPlugin&ControllerOID=<xsl:value-of select="/OMA/ID"/>&ADiskOID=" + oid + "&Action="+ action+ "&ChannelOID=<xsl:value-of select="/OMA/CHID"/>"; var ADExecuteTelemetryLogUrl = "./DataArea?plugin=com.dell.sm.webplugins.ADExportTelemetryLogWebPlugin&ControllerOID=<xsl:value-of select="/OMA/ControllerOID"/>&ControllerName=<xsl:value-of select="/OMA/ControllerName"/>&ADiskOID=" + oid + "&ADiskName=" + name + "&Action="+ action; var CurrentUrl=GetLocalUrl(); // Actions // 2097152 - Erase a Secure Disk // 67108864 - Export Disk Reliability Log // 2147483648 Export NVMe Telemetry Log if (action == "-") { alert("<xsl:value-of select="$strError"/>" + "<xsl:value-of select="$strSelectValidTask"/>"); } else if(action =="67108864") { if(document.getElementById("BackTo")!=null) { document.getElementById("BackTo").value='<xsl:value-of select="/OMA/BackTo"/>'; } helpTopic="hhhlin"; <xsl:if test="//BusProtocol = '9'"> helpTopic="hhhlpciel"; </xsl:if> // NVME - 101 // PCIeSSD - 102 var DeviceType=0; <xsl:choose> <xsl:when test="(/OMA/NVMeAdapters/DCStorageObject/IsDeviceNVME and /OMA/NVMeAdapters/DCStorageObject/IsDeviceNVME = '1')"> DeviceType=101; </xsl:when> <xsl:otherwise> DeviceType=102; </xsl:otherwise> </xsl:choose> document.dataarea.action = top.gnv.appendVID(ADExecuteLogUrl+"&help="+helpTopic+"&DeviceType="+DeviceType+"&CurrentUrl="+CurrentUrl); document.dataarea.submit(); } else if ( (action =="65536") || (action =="131072") || (action =="2097152") ) { // Erase a Secure Disk (bus protocol =9) or full initialization - 2097152 helpTopic="adtkclr"; if( action == "2097152") { if(IsPDEncryptionCapable != "Not Applicable") { helpTopic="adtkiee"; } <xsl:if test="//BusProtocol = '9'"> <xsl:choose> <xsl:when test="(/OMA/NVMeAdapters/DCStorageObject/IsDeviceNVME and /OMA/NVMeAdapters/DCStorageObject/IsDeviceNVME = '1')"> helpTopic="crypterhhhl"; </xsl:when> <xsl:otherwise> helpTopic="adpcitkfi"; </xsl:otherwise> </xsl:choose> </xsl:if> } var CurrentUrl=GetLocalUrl(); //clear or cancelclear or Secure Erase a Disk document.location.href = top.gnv.appendVID(ADConfirmUrl + "&help="+helpTopic+"&BackTo="+CurrentUrl); } else if(action =="2147483648") // Export Telemetry Log Action { if(document.getElementById("BackTo")!=null) { document.getElementById("BackTo").value='<xsl:value-of select="/OMA/BackTo"/>'; } helpTopic="adpcitketl"; // NVME - 101 // PCIeSSD - 102 example - HHHL var DeviceType=0; <xsl:choose> <xsl:when test="(//IsDeviceNVME and //IsDeviceNVME = '1')"> DeviceType=101; </xsl:when> <xsl:otherwise> DeviceType=102; </xsl:otherwise> </xsl:choose> document.dataarea.action = top.gnv.appendVID(ADExecuteTelemetryLogUrl+"&help="+helpTopic+"&DeviceType="+DeviceType+"&CurrentUrl="+CurrentUrl); document.dataarea.submit(); } else { alert("<xsl:value-of select="$strError"/>" + "<xsl:value-of select="$strSelectValidTask"/>"); } } </script> </xsl:template> </xsl:stylesheet>