Sections in XML Report Style Sheets

TestStand 2019 Help

Edition Date: May 2019

Part Number: 370052AA-01

»View Product Info
Download Help (Windows Only)

Toggle Expansion Use this Toggle Expansion button to expand or collapse the following sections. You must enable the Allow Blocked Content option in Microsoft Internet Explorer to collapse each section. You must expand each section you want to print or search.

The TestStand XML report style sheets include a VBScript section, a JavaScript section, and an XSLT section.

 VBScript Section

This section contains one function, GetLocalizedDecimalPoint(), to return the localized decimal point.

 JavaScript Section

This section contains JavaScript functions and variables that the XSLT code in later sections uses to translate the XML document. This section includes the following subsections:

 JavaScript Section 1

This section contains the following functions that initialize the global variables and other helper functions:

  • InitStylesheetPath—Initializes the global path variable, which stores the absolute path of the style sheet.
  • InitFlagGlobalVariables—Initializes global variables, such as gIncludeArrayMeasurement, which acts as a flag to determine how to add array data to the XML output.
  • (horizontal.xsl) SetColumnSpanConstant—Initializes a global variable for the column span of the generated tables.
  • (report.xsl) and (expand.xsl) InitColorGlobalVariables—Initializes all color global variables.

 JavaScript Section 2

This section contains the following functions to handle localized decimal values:

  • SetLocalizedDecimalPoint—Sets the localized decimal point to use for all numeric values and stores the localized decimal point in a global variable.
  • ReturnLocalizedDecimalVal_Node—Replaces the decimal point in the value node with the localized decimal point.

 JavaScript Section 3

This section contains the following functions to handle indentation and block levels for the tables in the report:

  • SetResultLevel—Sets the depth of the results to process.
  • SetBlockLevel—Sets the block level of the results to process.
  • GetResultLevel—Returns the depth of the results to process.
  • GetBlockLevel—Returns the block level of the results to process.
  • InitBlockLevelArray—Creates the BlockLevelArray and initializes the array to 0.
  • ProcessCurrentBlockLevel—Processes the block level of the step, adds required <blockquote> tags for the current block levels, and closes the HTML table if required.
  • GetIndentationString—Generates an indentation string based on the block level.
  • (report.xsl) and (horizontal.xsl) GetAddTable—Indicates whether you can add a table to the report.
  • (report.xsl) and (horizontal.xsl) SetAddTable—Specifies whether you can add a table to the report.
  • (horizontal.xsl) GetStdIndentationString—Returns the string that represents the standard indentation.
  • (horizontal.xsl) GetInitialIndentation—Returns the initial indentation.

 JavaScript Section 4

This section contains the following functions to insert looping step results in the report:

  • InitLoopArray—Initializes the global array that stores loop index counts.
  • BeginLoopIndices—Stores information to process loop index step results.
  • (horizontal.xsl) and (report.xsl) GetLoopIndicesTableEntry—Returns the HTML for the Table Row of the Loop Indices button control.
  • TestForStartLoopIndex—Opens the <DIV> and increments the loop stack depth counter for the first loop step result.
  • TestForEndLoopIndex—Closes the <DIV> and decreases the loop stack depth counter for the last loop step result.
  • InitLoopingInfoArray—Initializes globals information to support looping Sequence Call steps.
  • StoreCurrentLoopingLevel—Stores information to support looping Sequence Call steps.
  • RestoreLoopingLevel—Restores information to support looping Sequence Call steps.

 JavaScript Section 5

This section contains the following functions to insert arrays in the report as graph objects:

  • GraphArray—Creates the graph object to display a graph in the report:
  • AddElementToGraph—Adds a new numeric value to the graph.
  • GetGraphData—Returns the array that contains the data points on the graph.
  • GetArrayGraph—Returns the graph object that corresponds to the input array.
  • AddArrayToReportAsGraph—Adds an array to the report as a graph.

 JavaScript Section 6

This section contains the following functions to insert tables in the report:

  • (horizontal.xsl) and (report.xsl) BeginTable—Adds a <TABLE> tag to the report.
  • (horizontal.xsl) and (report.xsl) EndTable—Adds a </TABLE> tag to the report.
  • (horizontal.xsl) AddIndentStartTag—Adds a <BLOCKQUOTE> tag to the report.
  • (horizontal.xsl) AddIndentEndTag—Adds a </BLOCKQUOTE> tag to the report.
  • IsTableCreationNecessary—Determines if a step in the current block satisfies the filtering condition and returns True to indicate that the block requires a new table. Use this function in filtering steps for Sequence Call steps.

 JavaScript Section 7

This section contains the following utility functions:

  • (report.xsl) and (expand.xsl) GetAbsolutePath—Returns the absolute path to the directory that contains the style sheet.
  • (report.xsl) and (expand.xsl) GetModuleTime—Returns the module time property.
  • (report.xsl) and (expand.xsl) GetFolderPath—Converts all '\' characters in the path to '/', removes the filename from the input path, and returns the folder path.
  • GetTotalTimeInHHMMSSFormat—Adds the total execution time in HHMMSS format to the report.
  • AddEndingBlockQuotesForCurrentSequence—Adds the </BLOCKQUOTE> tag to the report after processing a Sequence Call step.
  • GetSerialNumber—Returns the serial number of the input UUT node or returns NONE.
  • GetResultId—Returns the result ID.
  • GetLoopIndex—Adds the loop index property of the step to the report.
  • IsNotFlowControlStep—Returns True if the step is not a Flow Control step.
  • GetStepNameAddition—Returns the report text to add to the step name property for Flow Control steps.
  • RemoveIllegalCharacters—Adds the <br> tag for any newline characters and removes the \r character from the text.
  • GetLinkURL—Returns the complete file URL or only the filename, depending on whether you store absolute or relative paths for the style sheet.
  • AddPropertyToReport—Determines whether to add a PropertyObject to the report based on the IncludeMeasurement and IncludeLimits report options.
  • IsGraphControlInstalled—Determines whether the TSGraphControl2.ocx ActiveX control is installed.
  • (report.xsl) GetStepBgColor—Returns the background color for the step.

 (expand.xsl) Javascript Section 8

This section contains the following functions to support the expand and collapse functionality:

  • GetIdFromNode—Creates an ID for the node to use as the ID attribute in the resulting HTML document.
  • GetId—Calls the GetIdFromNode function to create an ID for the input node.
  • GetDIVStyleFromNode—Returns the style value for a <DIV>, depending on the step result status.
  • GetDIVStyle—Calls the GetDIVStyleFromNode function to determine the style.
  • GetStepResultImageFromNode—Returns the <IMG> text for the step result input.
  • GetStepResultImage—Calls the GetStepResultImageFromNode function to retrieve the IMG text.

 (expand.xsl) Javascript Section 9

This section contains the following table and filtering condition functions:

  • (horizontal.xsl) and (report.xsl) BeginTableForSequence—Determines whether to create a table for Sequence Call steps.
  • (horizontal.xsl) and (report.xsl) EndTableForSequence—Determines whether to add a </TABLE> tag for a Sequence Call step.
  • IsTableCreatedForSequence—Returns True if a new table is required.
  • SetEnableResultFiltering—Sets or resets the report filtering flag.
  • CheckIfStepSatisfiesFilteringCondition—Determines whether a step satisfies the filtering condition.
  • CheckIfStepSatisfiesFilteringCondition_node—Calls the CheckIfStepSatisfiesFilteringCondition function to determine whether a step satisfies the filtering condition.

 XSLT Section

This section contains XSLT code that transforms XML to HTML. This section includes the following subsections:

 XSLT Section 1

The transformation process to convert XML to HTML starts in this section, which initiates the creation of the HTML page. From this section, the transformation execution flow branches into various templates based on the element or attribute name of the XML tags in the report. This section contains the following subsection:

  • (report.xsl) and (expand.xsl) XSLT Section 1.1—JavaScript functions to include with the generated HTML file to support the expand and collapse functionality.

 XSLT Section 2

This section contains templates that transform a UUT report. This section contains the following subsections:

  • XSLT Section 2.1—Template that processes UUT <Report> elements. This section adds the UUT report header and applies relevant templates that generate the UUT report body.
  • XSLT Section 2.2—Templates that include XPath expressions to add data to the UUT report header, such as BatchSerialNumber, TestSocketIndex, SerialNumber and TotalTime.
  • XSLT Section 2.3—Template that the TEResult template calls recursively to process Sequence Call step results. The generation of the UUT report body begins when the transformation process applies this template to the step result that corresponds to the Main sequence. This sequence creates a new table, adds indentation, and applies the TEResult template to each step result under the <ResultList> element.
  • XSLT Section 2.4—Template that adds the sequence file path to the header of the sequence report table. The header consists of the sequence name and the sequence file path where the sequence exists.
  • XSLT Section 2.5—Templates that process individual step results, add new rows to the report for each step, and add appropriate step result information. This section uses specific templates that handle steps with PostResults callbacks, looping properties, and Flow Control steps. This section recursively calls the ResultList template in XML Section 2.3 to handle Sequence Call steps.
  • XSLT Section 2.6—Templates that add the step name and step execution status to the report table.
  • (horizontal.xsl) XSLT Section 2.7—Template that adds the measurement array of Multiple Numeric Limit Test steps to the report.
  • XSLT Section 2.8—Template that adds the error message and report text to the report table.
  • XSLT Section 2.9—Templates that add the interactive execution number to the report.
  • XSLT Section 2.10—Template that adds server information to the report.
  • XSLT Section 2.11—Templates that handle summary information for loops of a particular step when looping is enabled for the step or when the user loops or runs only selected steps.
  • XSLT Section 2.12—Templates that create the critical failure stack table for failed tests.
  • XSLT Section 2.13—Template that adds the module time to the report.

 XSLT Section 3

This section contains templates that transform a batch report. From this section, the transformation execution flow branches into various templates based on the element or attribute name of the XML tags in the report. This section contains the following subsections:

  • XSLT Section 3.1—Template that processes the batch header table and calls the template that builds the batch report table.
  • XSLT Section 3.2—Template that builds the batch report table.
  • XSLT Section 3.3—Template that adds data to the batch report table.

 XSLT Section 4

This section contains templates that templates in XSLT Section 2 and XSLT Section 3 use. This section contains the following subsections:

  • XSLT Section 4.1—Template that processes the StationID and login name.
  • XSLT Section 4.2—Template that processes the StartDate and StartTime of the report.

 XSLT Section 5

This section contains templates that insert all flagged information and additional results in the report table. This section contains the following subsections:

  • XSLT Section 5.1—Templates that process empty cell values, standard indentation, and comparison type.
  • XSLT Section 5.2—Template that processes the status color configured in the report options.
  • (expand.xsl) XSLT Section 5.3—Template that processes the status background color configured in the report options.
  • XSLT Section 5.4—Template that inserts flagged values in the report.
  • XSLT Section 5.5—Template that adds values in the report if the flag to include it in the report is enabled.
  • XSLT Section 5.6—Template that generates a result row to insert in the table.
  • XSLT Section 5.7—Template that generates the indentation based on the level.
  • XSLT Section 5.8—Template that inserts an array in the report as a table.
  • XSLT Section 5.9—Template for the array dimensions.
  • XSLT Section 5.10—Template that returns whether the step failure caused the sequence to fail.
  • (report.xsl) and (expand.xsl) XSLT Section 5.11—Template for the step background color configured in the report options.
  • (horizontal.xsl) XSLT Section 5.12—Template that removes white spaces from a string.
  • (horizontal.xsl) XSLT Section 5.13—Template that returns whether the step failure caused the sequence to fail from the Step status property.

See Also

XML Report Style Sheets

WAS THIS ARTICLE HELPFUL?

Not Helpful