Commit f5387c3f authored by 张明扬's avatar 张明扬 🇨🇳

feat:增加CANoe升级脚本

parent 59615533
This source diff could not be displayed because it is too large. You can view the blob instead.
[NStatePersistence]
Signature=VectorStatePersistence
[VGlobalMeasurementIndex]
mMeasurementIndex=936
/*@!Encoding:936*/
on busOff
{
resetCan();
}
\ No newline at end of file
#:
tbAf_YR(+wm
faɇbay{FvەEA&?I
\ No newline at end of file
/*@!Encoding:936*/
variables
{
const word testWaitForRsp = 1600; //等待诊断响应完成的总时间
const word pendding = 5000; //两帧NRC78的Δt
const word P2CAN_Client = 150; //ECU响应超时时间, 仅适用于单帧和首帧
const word P2CAN_Server = 50;
const word P2xCAN_Server = 5000; //P2*Server,用于判断10服务响应数据
//点亮转向灯,0x144报文的前7个字节,第8字节(checksum)会自动计算
byte _144_B0 = 0x00;
byte _144_B1 = 0x00;
byte _144_B2 = 0x00;
byte _144_B3 = 0x00;
byte _144_B4 = 0x00;
byte _144_B5 = 0x61;//EQEAL = 0x51, HA6HA = 0x61
byte _144_B6 = 0x08;//EQEAL = 0x08, HA6HA = 0x08
}
\ No newline at end of file
#|
tbAf_YR(+hjk`ɇbazfqmwnH h4hBcd~{ca-:`P>uL0,usҨ}luwj80WASWfBb\|;x
&Lvqݧrc= ǠCȌSHZw
}wh
ZurDX$91%;RCx|yreM9 lóA[Jӹ
g$Χm;iGydnErrSK-.P utX&{Ed/঩iunjZ LO:\<P)AG
!j"
\ No newline at end of file
<?xml version="1.0"?>
<Panel Type="Vector.CANalyzer.Panels.PanelSerializer, Vector.CANalyzer.Panels.Serializer, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null">
<Object Type="Vector.CANalyzer.Panels.Runtime.Panel, Vector.CANalyzer.Panels.Common, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="Panel" Children="Controls" ControlName="bootloader">
<Object Type="Vector.CANalyzer.Panels.Design.GroupBoxControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="GroupBoxControl3" Children="Controls" ControlName="Group Box 3">
<Object Type="Vector.CANalyzer.Panels.Design.PathControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="PathControl2" Children="Controls" ControlName="Path Dialog 2">
<Property Name="Name">PathControl2</Property>
<Property Name="Size">499, 23</Property>
<Property Name="Location">6, 22</Property>
<Property Name="SymbolConfiguration">5;16;File;;;ApplicationFilePath;4;;;-1;;;</Property>
<Property Name="TabIndex">402</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.ProgressBarControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="ProgressBarControl1" Children="Controls" ControlName="Progress Bar">
<Property Name="Name">ProgressBarControl1</Property>
<Property Name="Size">440, 25</Property>
<Property Name="Location">6, 53</Property>
<Property Name="OriginValue">0</Property>
<Property Name="DecimalPlaces">0</Property>
<Property Name="ValueSize">38, 30</Property>
<Property Name="SymbolConfiguration">5;16;ProgressBar;;;Application;2;;;-1;;;</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.TextBoxControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="TextBoxControl1" Children="Controls" ControlName="Input/Output Box">
<Property Name="Name">TextBoxControl1</Property>
<Property Name="Size">40, 14</Property>
<Property Name="Location">452, 58</Property>
<Property Name="AlarmUpperTextColor">WindowText</Property>
<Property Name="AlarmLowerBkgColor">Salmon</Property>
<Property Name="BoxTextAlign">Right</Property>
<Property Name="ValueDisplay">Double</Property>
<Property Name="AlarmUpperBkgColor">IndianRed</Property>
<Property Name="AlarmLowerTextColor">WindowText</Property>
<Property Name="AlarmGeneralSettings">1;0;0;0</Property>
<Property Name="DisplayLabel">Hide</Property>
<Property Name="DescriptionText">Application:</Property>
<Property Name="BoxBorderStyle">None</Property>
<Property Name="DescriptionSize">0, 0</Property>
<Property Name="LeadingZeros">True</Property>
<Property Name="FixText">Right</Property>
<Property Name="UsedValueTable">PhysicalValue</Property>
<Property Name="SymbolConfiguration">5;16;ProgressBar;;;Application;2;;;-1;;;</Property>
<Property Name="TabIndex">403</Property>
<Property Name="ReadOnlyControl">True</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.StaticTextControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="StaticTextControl3" Children="Controls" ControlName="Static Text 3">
<Property Name="Name">StaticTextControl3</Property>
<Property Name="Size">16, 17</Property>
<Property Name="Location">493, 56</Property>
<Property Name="Font">Microsoft YaHei, 9pt</Property>
<Property Name="TextAlign">MiddleCenter</Property>
<Property Name="Text">%</Property>
</Object>
<Property Name="Name">GroupBoxControl3</Property>
<Property Name="Size">512, 86</Property>
<Property Name="Location">9, 255</Property>
<Property Name="Font">SimSun, 9pt</Property>
<Property Name="Text">Application</Property>
<Property Name="TabIndex">400</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.GroupBoxControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="GroupBoxControl2" Children="Controls" ControlName="Group Box 2">
<Object Type="Vector.CANalyzer.Panels.Design.ProgressBarControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="ProgressBarControl2" Children="Controls" ControlName="Progress Bar">
<Property Name="Name">ProgressBarControl2</Property>
<Property Name="Size">440, 25</Property>
<Property Name="Location">6, 86</Property>
<Property Name="OriginValue">0</Property>
<Property Name="DecimalPlaces">0</Property>
<Property Name="ValueSize">38, 30</Property>
<Property Name="SymbolConfiguration">5;16;ProgressBar;;;FlashDriver;2;;;-1;;;</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.TextBoxControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="TextBoxControl7" Children="Controls" ControlName="Input/Output Box">
<Property Name="Name">TextBoxControl7</Property>
<Property Name="Size">40, 14</Property>
<Property Name="Location">452, 91</Property>
<Property Name="AlarmUpperTextColor">WindowText</Property>
<Property Name="AlarmLowerBkgColor">Salmon</Property>
<Property Name="BoxTextAlign">Right</Property>
<Property Name="ValueDisplay">Double</Property>
<Property Name="AlarmUpperBkgColor">IndianRed</Property>
<Property Name="AlarmLowerTextColor">WindowText</Property>
<Property Name="AlarmGeneralSettings">1;0;0;0</Property>
<Property Name="DisplayLabel">Hide</Property>
<Property Name="DescriptionText">FlashDriver:</Property>
<Property Name="BoxBorderStyle">None</Property>
<Property Name="DescriptionSize">0, 0</Property>
<Property Name="LeadingZeros">True</Property>
<Property Name="FixText">Right</Property>
<Property Name="UsedValueTable">PhysicalValue</Property>
<Property Name="SymbolConfiguration">5;16;ProgressBar;;;FlashDriver;2;;;-1;;;</Property>
<Property Name="TabIndex">303</Property>
<Property Name="ReadOnlyControl">True</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.StaticTextControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="StaticTextControl1" Children="Controls" ControlName="Static Text 3">
<Property Name="Name">StaticTextControl1</Property>
<Property Name="Size">16, 17</Property>
<Property Name="Location">493, 89</Property>
<Property Name="Font">Microsoft YaHei, 9pt</Property>
<Property Name="TextAlign">MiddleCenter</Property>
<Property Name="Text">%</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.CheckBoxControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="CheckBoxControl1" Children="Controls" ControlName="Check Box">
<Property Name="Name">CheckBoxControl1</Property>
<Property Name="Size">126, 17</Property>
<Property Name="Location">7, 24</Property>
<Property Name="Text">不使用FlashDriver</Property>
<Property Name="SymbolConfiguration">5;16;CheckBox;;;FlashDriverUnused;1;;;-1;;;</Property>
<Property Name="TabIndex">301</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.PathControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="PathControl1" Children="Controls" ControlName="Path Dialog">
<Property Name="Name">PathControl1</Property>
<Property Name="Size">500, 23</Property>
<Property Name="Location">6, 53</Property>
<Property Name="SymbolConfiguration">5;16;File;;;FlashDriverFilePath;4;;;-1;;;</Property>
<Property Name="TabIndex">302</Property>
</Object>
<Property Name="Name">GroupBoxControl2</Property>
<Property Name="Size">512, 119</Property>
<Property Name="Location">9, 129</Property>
<Property Name="Font">SimSun, 9pt</Property>
<Property Name="Text">
</Property>
<Property Name="TabIndex">300</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.GroupBoxControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="GroupBoxControl1" Children="Controls" ControlName="Group Box">
<Object Type="Vector.CANalyzer.Panels.Design.StaticTextControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="StaticTextControl4" Children="Controls" ControlName="Static Text 4">
<Property Name="Name">StaticTextControl4</Property>
<Property Name="Size">227, 70</Property>
<Property Name="Location">278, 38</Property>
<Property Name="Font">SimSun, 9.75pt</Property>
<Property Name="Text">支持文件类型:srec,s19,hex
直接选择文件即可,无需设置
诊断帧长度:CAN2.0:0
CANFD:8,12,16,24,32,48,64</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.TextBoxControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="TextBoxControl2" Children="Controls" ControlName="Input/Output Box 2">
<Property Name="Name">TextBoxControl2</Property>
<Property Name="Size">127, 21</Property>
<Property Name="Location">6, 24</Property>
<Property Name="AlarmUpperTextColor">WindowText</Property>
<Property Name="ValueDecimalPlaces">0</Property>
<Property Name="AlarmLowerBkgColor">Salmon</Property>
<Property Name="BoxTextAlign">Center</Property>
<Property Name="ValueDisplay">Hexadecimal</Property>
<Property Name="AlarmUpperBkgColor">IndianRed</Property>
<Property Name="AlarmLowerTextColor">WindowText</Property>
<Property Name="AlarmGeneralSettings">1;0;0;0</Property>
<Property Name="DisplayLabel">Left</Property>
<Property Name="DescriptionText">物理请求ID</Property>
<Property Name="DescriptionSize">66, 23</Property>
<Property Name="UsedValueTable">PhysicalValue</Property>
<Property Name="SymbolConfiguration">5;16;TP;;;TxID_Phys;1;;;-1;;;</Property>
<Property Name="TabIndex">101</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.TextBoxControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="TextBoxControl3" Children="Controls" ControlName="Input/Output Box 3">
<Property Name="Name">TextBoxControl3</Property>
<Property Name="Size">127, 21</Property>
<Property Name="Location">6, 55</Property>
<Property Name="AlarmUpperTextColor">WindowText</Property>
<Property Name="ValueDecimalPlaces">0</Property>
<Property Name="AlarmLowerBkgColor">Salmon</Property>
<Property Name="BoxTextAlign">Center</Property>
<Property Name="ValueDisplay">Hexadecimal</Property>
<Property Name="AlarmUpperBkgColor">IndianRed</Property>
<Property Name="AlarmLowerTextColor">WindowText</Property>
<Property Name="AlarmGeneralSettings">1;0;0;0</Property>
<Property Name="DisplayLabel">Left</Property>
<Property Name="DescriptionText">诊断响应ID</Property>
<Property Name="DescriptionSize">66, 23</Property>
<Property Name="UsedValueTable">PhysicalValue</Property>
<Property Name="SymbolConfiguration">5;16;TP;;;RxID;1;;;-1;;;</Property>
<Property Name="TabIndex">102</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.TextBoxControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="TextBoxControl6" Children="Controls" ControlName="Input/Output Box 6">
<Property Name="Name">TextBoxControl6</Property>
<Property Name="Size">109, 21</Property>
<Property Name="Location">152, 55</Property>
<Property Name="AlarmUpperTextColor">WindowText</Property>
<Property Name="ValueDecimalPlaces">0</Property>
<Property Name="AlarmLowerBkgColor">Salmon</Property>
<Property Name="BoxTextAlign">Center</Property>
<Property Name="ValueDisplay">Decimal</Property>
<Property Name="AlarmUpperBkgColor">IndianRed</Property>
<Property Name="AlarmLowerTextColor">WindowText</Property>
<Property Name="AlarmGeneralSettings">1;0;0;0</Property>
<Property Name="DisplayLabel">Left</Property>
<Property Name="DescriptionText">诊断帧长度</Property>
<Property Name="DescriptionSize">66, 23</Property>
<Property Name="UsedValueTable">PhysicalValue</Property>
<Property Name="SymbolConfiguration">5;16;TP;;;MaxCANFDFrameLength;1;;;-1;;;</Property>
<Property Name="TabIndex">104</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.TextBoxControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="TextBoxControl4" Children="Controls" ControlName="Input/Output Box 4">
<Property Name="Name">TextBoxControl4</Property>
<Property Name="Size">127, 21</Property>
<Property Name="Location">6, 87</Property>
<Property Name="AlarmUpperTextColor">WindowText</Property>
<Property Name="ValueDecimalPlaces">0</Property>
<Property Name="AlarmLowerBkgColor">Salmon</Property>
<Property Name="BoxTextAlign">Center</Property>
<Property Name="ValueDisplay">Hexadecimal</Property>
<Property Name="AlarmUpperBkgColor">IndianRed</Property>
<Property Name="AlarmLowerTextColor">WindowText</Property>
<Property Name="AlarmGeneralSettings">1;0;0;0</Property>
<Property Name="DisplayLabel">Left</Property>
<Property Name="DescriptionText">功能请求ID</Property>
<Property Name="DescriptionSize">66, 23</Property>
<Property Name="UsedValueTable">PhysicalValue</Property>
<Property Name="SymbolConfiguration">5;16;TP;;;TxID_Func;1;;;-1;;;</Property>
<Property Name="TabIndex">103</Property>
</Object>
<Object Type="Vector.CANalyzer.Panels.Design.TextBoxControl, Vector.CANalyzer.Panels.CommonControls, Version=11.0.81.0, Culture=neutral, PublicKeyToken=null" Name="TextBoxControl5" Children="Controls" ControlName="Input/Output Box 5">
<Property Name="Name">TextBoxControl5</Property>
<Property Name="Size">122, 21</Property>
<Property Name="Location">139, 87</Property>
<Property Name="AlarmUpperTextColor">WindowText</Property>
<Property Name="ValueDecimalPlaces">0</Property>
<Property Name="AlarmLowerBkgColor">Salmon</Property>
<Property Name="BoxTextAlign">Center</Property>
<Property Name="ValueDisplay">Decimal</Property>
<Property Name="AlarmUpperBkgColor">IndianRed</Property>
<Property Name="AlarmLowerTextColor">WindowText</Property>
<Property Name="AlarmGeneralSettings">1;0;0;0</Property>
<Property Name="DisplayLabel">Left</Property>
<Property Name="DescriptionText">重复刷写次数</Property>
<Property Name="DescriptionSize">79, 23</Property>
<Property Name="UsedValueTable">PhysicalValue</Property>
<Property Name="SymbolConfiguration">5;16;Bootloader;;;Count;1;;;-1;;;</Property>
<Property Name="TabIndex">105</Property>
</Object>
<Property Name="Name">GroupBoxControl1</Property>
<Property Name="Size">512, 119</Property>
<Property Name="Location">9, 3</Property>
<Property Name="Font">SimSun, 9pt</Property>
<Property Name="Text">TP层参数</Property>
<Property Name="TabIndex">100</Property>
</Object>
<Property Name="Name">Panel</Property>
<Property Name="Size">530, 349</Property>
<Property Name="BackColor">White</Property>
</Object>
</Panel>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<systemvariables version="4">
<namespace name="" comment="" interface="">
<namespace name="Bootloader" comment="" interface="">
<variable anlyzLocal="2" readOnly="false" valueSequence="false" unit="" name="Count" comment="" bitcount="32" isSigned="false" encoding="65001" type="int" />
</namespace>
<namespace name="CheckBox" comment="" interface="">
<variable anlyzLocal="2" readOnly="false" valueSequence="false" unit="" name="FlashDriverUnused" comment="" bitcount="32" isSigned="false" encoding="65001" type="int" />
</namespace>
<namespace name="File" comment="" interface="">
<variable anlyzLocal="2" readOnly="false" valueSequence="false" unit="" name="ApplicationFilePath" comment="" bitcount="88" isSigned="true" encoding="65001" type="string" />
<variable anlyzLocal="2" readOnly="false" valueSequence="false" unit="" name="FlashDriverFilePath" comment="" bitcount="88" isSigned="true" encoding="65001" type="string" />
</namespace>
<namespace name="ProgressBar" comment="" interface="">
<variable anlyzLocal="2" readOnly="false" valueSequence="false" unit="" name="Application" comment="" bitcount="32" isSigned="false" encoding="65001" type="int" />
<variable anlyzLocal="2" readOnly="false" valueSequence="false" unit="" name="FlashDriver" comment="" bitcount="64" isSigned="true" encoding="65001" type="float" />
</namespace>
<namespace name="TP" comment="" interface="">
<variable anlyzLocal="2" readOnly="false" valueSequence="false" unit="" name="MaxCANFDFrameLength" comment="" bitcount="32" isSigned="false" encoding="65001" type="int" />
<variable anlyzLocal="2" readOnly="false" valueSequence="false" unit="" name="RxID" comment="" bitcount="32" isSigned="false" encoding="65001" type="int" />
<variable anlyzLocal="2" readOnly="false" valueSequence="false" unit="" name="TxID_Func" comment="" bitcount="32" isSigned="false" encoding="65001" type="int" />
<variable anlyzLocal="2" readOnly="false" valueSequence="false" unit="" name="TxID_Phys" comment="" bitcount="32" isSigned="false" encoding="65001" type="int" />
</namespace>
</namespace>
</systemvariables>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- Attribute types-->
<xs:simpleType name="t_time">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]"/>
<!-- "YYYY-MM-DD hh:mm.ss" -->
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_timestamp">
<xs:restriction base="xs:string">
<xs:pattern value="[ 0-9]*[0-9]\.[0-9][0-9][0-9][0-9][0-9][0-9]"/>
<!-- "X.XXXXXX" -->
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_timestamp_normalized">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]*[0-9]\.[0-9]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_hex_value">
<xs:restriction base="xs:string">
<xs:pattern value="0x[0-9A-Fa-f]*"/>
<!-- "0xABCDEF" -->
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_hex_value_noprefix">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9A-Fa-f]*"/>
<!-- "ABCDEF" -->
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_numeric_value">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]*[0-9]\.?[0-9]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_bool_enum">
<xs:restriction base="xs:string">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_result_enum">
<xs:restriction base="xs:string">
<xs:enumeration value=""/>
<xs:enumeration value="na"/>
<xs:enumeration value="skip"/>
<xs:enumeration value="pass"/>
<xs:enumeration value="fail"/>
<xs:enumeration value="warn"/>
<xs:enumeration value="none"/>
<xs:enumeration value="error"/>
<xs:enumeration value="inconclusive"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_checkresult_enum">
<xs:restriction base="xs:string">
<xs:enumeration value="Unknown"/>
<xs:enumeration value="none"/>
<xs:enumeration value="pass"/>
<xs:enumeration value="inconclusive"/>
<xs:enumeration value="fail"/>
<xs:enumeration value="error"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_measurementresulttype_enum">
<xs:restriction base="xs:string">
<xs:enumeration value="int"/>
<xs:enumeration value="float"/>
<xs:enumeration value="string"/>
<xs:enumeration value="signed"/>
<xs:enumeration value="unsigned"/>
<xs:enumeration value="double"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_rtr">
<xs:restriction base="xs:string">
<xs:enumeration value="rtr"/>
<xs:enumeration value="nortr"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_ams">
<xs:restriction base="xs:string">
<xs:enumeration value="ctrl"/>
<xs:enumeration value="ams"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_dir">
<xs:restriction base="xs:string">
<xs:enumeration value="tx"/>
<xs:enumeration value="rx"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_vartype">
<xs:restriction base="xs:string">
<xs:enumeration value="int"/>
<xs:enumeration value="integer"/>
<xs:enumeration value="float"/>
<xs:enumeration value="string"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_violationtype">
<xs:restriction base="xs:string">
<xs:enumeration value="constraint"/>
<xs:enumeration value="condition"/>
<xs:enumeration value="conditionwarning"/>
<xs:enumeration value="constraintwarning"/>
<xs:enumeration value="observation"/>
<xs:enumeration value="program"/>
<xs:enumeration value="warning"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_verdicttype">
<xs:restriction base="xs:string">
<xs:enumeration value="2_basic"/>
<xs:enumeration value="5_extended"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_reportfeatures">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:attributeGroup name="a_time">
<xs:attribute name="time" type="t_time" use="required"/>
<xs:attribute name="timestamp" type="t_timestamp" use="required"/>
</xs:attributeGroup>
<xs:attributeGroup name="a_starttime">
<xs:attribute name="starttime" type="t_time" use="required"/>
<xs:attribute name="timestamp" type="t_timestamp" use="required"/>
</xs:attributeGroup>
<xs:attributeGroup name="a_endtime">
<xs:attribute name="endtime" type="t_time" use="required"/>
<xs:attribute name="endtimestamp" type="t_timestamp" use="required"/>
</xs:attributeGroup>
<!--Types for element-->
<xs:complexType name="t_cell">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="colspan" type="xs:integer"/>
<xs:attribute name="rowspan" type="xs:integer"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="t_info">
<xs:sequence>
<xs:element name="name"/>
<xs:element name="description"/>
</xs:sequence>
<xs:attribute name="key" type="xs:string"/>
</xs:complexType>
<xs:complexType name="t_infos">
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="xinfo" type="t_info" maxOccurs="unbounded"/>
<xs:element name="info" type="t_info" maxOccurs="unbounded"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="t_canmsg">
<xs:sequence minOccurs="0">
<xs:element name="byte" maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:attribute name="pos" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="t_hex_value" use="required"/>
<xs:attribute name="dlc" type="xs:integer" use="required"/>
<xs:attribute name="rtr" type="t_rtr" use="required"/>
</xs:complexType>
<xs:complexType name="t_mostmsg">
<xs:sequence minOccurs="0">
<xs:element name="byte" maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:attribute name="pos" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="fblock" type="t_hex_value" use="required"/>
<xs:attribute name="instance" type="t_hex_value" use="required"/>
<xs:attribute name="function" type="t_hex_value" use="required"/>
<xs:attribute name="optype" type="t_hex_value" use="required"/>
<xs:attribute name="da" type="t_hex_value" use="required"/>
<xs:attribute name="sa" type="t_hex_value" use="required"/>
<xs:attribute name="tellen" type="t_hex_value" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="telid" type="t_hex_value"/>
<xs:attribute name="ams" type="t_ams" use="required"/>
</xs:complexType>
<xs:complexType name="t_mostsysmsg">
<xs:sequence minOccurs="0">
<xs:element name="byte" maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:attribute name="pos" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="rtype" type="t_hex_value" use="required"/>
<xs:attribute name="da" type="t_hex_value" use="required"/>
<xs:attribute name="sa" type="t_hex_value" use="required"/>
</xs:complexType>
<xs:complexType name="t_linframe">
<xs:sequence minOccurs="0">
<xs:element name="byte" maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:attribute name="pos" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="t_hex_value" use="required"/>
<xs:attribute name="channel" type="t_hex_value_noprefix" use="required"/>
<xs:attribute name="dir" type="t_dir"/>
</xs:complexType>
<xs:complexType name="t_gmlanmsg">
<xs:sequence minOccurs="0">
<xs:element name="byte" maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:attribute name="pos" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="t_hex_value" use="required"/>
<xs:attribute name="sourceId" type="t_hex_value"/>
<xs:attribute name="prio" type="t_hex_value"/>
<xs:attribute name="dlc" type="xs:integer" use="required"/>
<xs:attribute name="rtr" type="t_rtr" use="required"/>
</xs:complexType>
<xs:complexType name="t_image">
<xs:attribute name="file" type="xs:string" use="required"/>
<xs:attribute name="width" type="xs:string"/>
<xs:attribute name="height" type="xs:string"/>
</xs:complexType>
<xs:complexType name="t_details">
<xs:sequence>
<xs:element name="title" minOccurs="0"/>
<xs:choice>
<xs:element name="image" type="t_image"/>
<xs:element name="canmsg" type="t_canmsg"/>
<xs:element name="mostmsg" type="t_mostmsg"/>
<xs:element name="linframe" type="t_linframe"/>
<xs:element name="gmlanmsg" type="t_gmlanmsg"/>
<xs:element name="mostsysmsg" type="t_mostsysmsg"/>
<xs:element name="info" type="t_info"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="timestamp" type="t_timestamp" use="required"/>
</xs:complexType>
<xs:complexType name="t_measuredresults">
<xs:sequence maxOccurs="unbounded">
<xs:element name="measuredresult">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
<xs:attribute name="type" type="t_measurementresulttype_enum" use="required"/>
<xs:attribute name="unit" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="t_verdict">
<xs:attributeGroup ref="a_time"/>
<xs:attributeGroup ref="a_endtime"/>
<xs:attribute name="result" type="t_result_enum" use="required"/>
</xs:complexType>
<xs:complexType name="t_sysvardef">
<xs:sequence>
<xs:element name="valuetable" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="enumerationvalue" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="value" use="required"/>
<xs:attribute name="description" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sysvarvalue"/>
</xs:sequence>
<xs:attribute name="timestamp" type="t_timestamp" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="type" type="t_vartype" use="required"/>
<xs:attribute name="min" type="xs:string"/>
<xs:attribute name="max" type="xs:string"/>
</xs:complexType>
<xs:complexType name="t_vardef">
<xs:sequence>
<xs:element name="testerquestion" minOccurs="0"/>
<xs:element name="testerinput">
<xs:complexType>
<xs:sequence>
<xs:element name="inputvalue"/>
<xs:element name="description" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="timestamp" type="t_timestamp" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="type" type="t_vartype" use="required"/>
</xs:complexType>
<xs:complexType name="t_result">
<xs:attribute name="timestamp" type="t_timestamp" use="required"/>
<xs:attribute name="result" type="t_result_enum" use="required"/>
</xs:complexType>
<xs:complexType name="t_precondition">
<xs:sequence>
<xs:element name="teststep" type="t_teststep" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="precondend" type="t_precondend"/>
</xs:sequence>
<xs:attributeGroup ref="a_starttime"/>
</xs:complexType>
<xs:complexType name="t_precondend">
<xs:attributeGroup ref="a_endtime"/>
<xs:attribute name="fulfilled" type="t_bool_enum"/>
</xs:complexType>
<xs:complexType name="t_teststep" mixed="true">
<xs:sequence minOccurs="0">
<xs:element name="tabularinfo" type="t_tabularinfo"/>
</xs:sequence>
<xs:attribute name="timestamp" type="t_timestamp" use="required"/>
<xs:attribute name="level" type="xs:integer"/>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="auto"/>
<xs:enumeration value="user"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ident" type="xs:string" use="required"/>
<xs:attribute name="result" type="t_result_enum" use="required"/>
<xs:attribute name="detectedAt" type="t_timestamp"/>
<xs:attribute name="detectedText" type="xs:string"/>
<xs:attribute name="indent" type="xs:string"/>
</xs:complexType>
<xs:complexType name="t_comment" mixed="true">
<xs:sequence minOccurs="0">
<xs:element name="text"/>
</xs:sequence>
<xs:attribute name="timestamp" type="t_timestamp"/>
</xs:complexType>
<xs:complexType name="t_prepend">
<xs:attributeGroup ref="a_endtime"/>
</xs:complexType>
<xs:complexType name="t_xinfoobject">
<xs:sequence maxOccurs="unbounded">
<xs:element name="xinfo" type="t_info"/>
</xs:sequence>
<xs:attribute name="type" type="xs:string"/>
</xs:complexType>
<xs:complexType name="t_xinfoset">
<xs:sequence maxOccurs="unbounded">
<xs:element name="xinfoobject" type="t_xinfoobject"/>
</xs:sequence>
<xs:attribute name="type" type="xs:string"/>
</xs:complexType>
<xs:complexType name="t_miscinfo">
<xs:sequence>
<xs:element name="title"/>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="info" type="t_info"/>
</xs:sequence>
</xs:sequence>
</xs:complexType>
<xs:complexType name="t_externalref" mixed="true">
<xs:attribute name="type" type="xs:string" use="required"/>
<xs:attribute name="title" type="xs:string" use="required"/>
<xs:attribute name="owner" type="xs:string"/>
</xs:complexType>
<xs:complexType name="t_extendedinfo" mixed="true">
<xs:sequence>
<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="t_tabularinfo">
<xs:sequence>
<xs:element name="description"/>
<xs:choice maxOccurs="unbounded">
<xs:element name="heading">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="cell" type="t_cell"/>
</xs:sequence>
<xs:attribute name="level" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="row">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="cell" type="t_cell"/>
</xs:sequence>
<xs:attribute name="level" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="expand" type="xs:string" fixed="true"/>
</xs:complexType>
<xs:complexType name="t_testlogfiles">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="testlogfile">
<xs:complexType>
<xs:attribute name="logbegin"/>
<xs:attribute name="logend"/>
<xs:attribute name="file" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="t_engineer">
<xs:complexContent>
<xs:extension base="t_infos"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="t_testsetup">
<xs:complexContent>
<xs:extension base="t_infos"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="t_sut">
<xs:complexContent>
<xs:extension base="t_infos"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="t_hardware">
<xs:sequence>
<xs:element name="sectioncomment" minOccurs="0"/>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="xinfoset" type="t_xinfoset"/>
</xs:sequence>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="category" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="t_checkbegin">
<xs:attribute name="timestamp" type="t_timestamp" use="required"/>
<xs:attribute name="checkname" type="xs:string" use="required"/>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="t_checkend">
<xs:attribute name="timestamp" type="t_timestamp" use="required"/>
<xs:attribute name="checkname" type="xs:string" use="required"/>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="t_checkstatistic">
<xs:sequence>
<xs:sequence maxOccurs="unbounded">
<xs:element name="spec" type="t_infos"/>
</xs:sequence>
<xs:sequence maxOccurs="unbounded">
<xs:element name="statistic">
<xs:complexType>
<xs:complexContent>
<xs:extension base="t_infos">
<xs:attribute name="title"/>
<xs:attribute name="type" fixed="distribution">
<xs:annotation>
<xs:documentation>Only for distribution type</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:sequence>
<xs:attribute name="checkname" type="xs:string" use="required"/>
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="seq" type="xs:string"/>
<xs:attribute name="result" type="t_checkresult_enum" use="required"/>
</xs:complexType>
<xs:complexType name="t_violation" mixed="true">
<xs:attribute name="timestamp" type="t_timestamp" use="required"/>
<xs:attribute name="type" type="t_violationtype" use="required"/>
<xs:attribute name="result" type="t_result_enum"/>
<xs:attribute name="checkId" type="xs:string"/>
<xs:attribute name="checkTitle" type="xs:string"/>
<xs:attribute name="detectedAt" type="t_timestamp_normalized"/>
</xs:complexType>
<xs:complexType name="t_skipped">
<xs:sequence>
<xs:element name="title"/>
<xs:choice minOccurs="0">
<xs:element name="ident"/>
<xs:element name="skippedcount"/>
</xs:choice>
<xs:element name="description" minOccurs="0"/>
<xs:element name="externalref" type="t_externalref" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="a_starttime"/>
</xs:complexType>
<!--Elements-->
<xs:element name="showtestcase">
<xs:complexType>
<xs:sequence>
<xs:element name="none" type="t_bool_enum"/>
<xs:element name="pass" type="t_bool_enum"/>
<xs:element name="inconclusive"/>
<xs:element name="fail"/>
<xs:element name="error" type="t_bool_enum"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Color Definitions: The following section contains the definitions of -->
<!-- some colors that are used in the document. If you adjust these -->
<!-- definitions they will be used in the entire document. All colors are -->
<!-- RGB encoded with a single integer value from 0 to 255 for each color. -->
<!-- Color that is used to emphasize positive test results -->
<xsl:variable name="PositiveResultColor">rgb(25, 165, 88)</xsl:variable>
<!-- Color that is used to emphasize negative test results in printouts -->
<xsl:variable name="NegativeResultColor">rgb(240, 0, 0)</xsl:variable>
<!-- Color that is used to emphasize negative test results in printouts -->
<xsl:variable name="NoneResultColor">rgb(105, 105, 105)</xsl:variable>
<!-- Color that is used to emphasize negative test results in printouts -->
<xsl:variable name="InconclusiveResultColor">rgb(255, 165, 0)</xsl:variable>
<!-- Color that is used to emphasize negative test results in printouts -->
<xsl:variable name="ErrorResultColor">rgb(205, 0, 0)</xsl:variable>
<!-- Color that is used to emphasize warnings -->
<xsl:variable name="WarningColor">rgb(255, 255, 0)</xsl:variable>
<!-- Color of the background of table cells -->
<xsl:variable name="TableBackgroundColor">rgb(229, 229, 229)</xsl:variable>
<!-- Color of table cells that should be emphasized, e.g. column headings -->
<xsl:variable name="TableHeadingColor">rgb(179, 179, 179)</xsl:variable>
<!-- Background color of the Report -->
<xsl:variable name="BackgroundColor">rgb(255, 255, 255)</xsl:variable>
<!-- Color of table cells that should be emphasized, e.g. column headings -->
<xsl:variable name="HeadingBackgroundColor">rgb(220, 221, 222)</xsl:variable>
<!-- Background color of the Navigation Frame -->
<xsl:variable name="NavBackgroundColor">rgb(220, 221, 222)</xsl:variable>
<!-- Color for table grids to use for printing (not visible in screen display) -->
<xsl:variable name="PrintTableGridColor">rgb(150,150,150)</xsl:variable>
<!-- Height of separator space above/below test pattern output inside test cases (including unit) -->
<xsl:variable name="PatternSeparatorHeight">0.2em</xsl:variable>
<xsl:template name="cssDef">
<!-- The section @media screen/print can be used if you want to use -->
<!-- different styles for displaying on screen and printing. Place styles in -->
<!-- the following section to use them for screen-rendering. -->
@media screen
{
body
{
background-color: <xsl:copy-of select="$BackgroundColor" />;
font-family: arial, verdana, trebuchet, officina, sans-serif;
}
}
<!-- This styles are used for printouts -->
@media print
{
<!-- Use background color white -->
body
{
background-color: rgb(255, 255, 255);
font-family: arial, verdana, trebuchet, officina, sans-serif;
}
<!-- don't underline links -->
a
{
text-decoration: none;
}
<!-- Headers and Result tables are printed with borders because
most browsers don't print background colors by default -->
.HeadingTable, .SubHeadingTable, .GroupHeadingTable , .GroupEndTable
{
border-width: 2px;
border-style: solid;
border-color: <xsl:copy-of select="$PrintTableGridColor"/>;
}
.ResultBlockHeading
{
border-width: 1px;
border-style: solid;
border-color: <xsl:copy-of select="$PrintTableGridColor"/>;
}
table.ResultTable, table.OverviewTable, table.CheckStatisticsTable
{
border-collapse: collapse;
}
td.DefaultCell, td.DefineCell, td.NumberCell, td.NumberCellPositiveResult, td.NumberCellNegativeResult,
td.NumberCellErrorResult, td.NumberCellInconclusiveResult, td.NumberCellNoneResult, td.NumberCellNoColor,
td.PositiveResultCell, td.NegativeResultCell, td.WarningCell, td.NoneResultCell, td.InconclusiveResultCell,
td.ErrorResultCell, th.TableHeadingCell
{
border-width: 1px;
border-style: solid;
border-color: <xsl:copy-of select="$PrintTableGridColor"/>;
}
.PatternSeparator
{
<!-- remove border around separator cells -->
border-style: none;
}
.PositiveResult
{
<!-- add "underlining" for printing without background colors -->
border-bottom: 2px solid;
}
.NegativeResult
{
<!-- add "underlining" for printing without background colors -->
border-bottom: 2px solid;
}
.NoneResult
{
<!-- add "underlining" for printing without background colors -->
border-bottom: 2px solid;
}
.InconclusiveResult
{
<!-- add "underlining" for printing without background colors -->
border-bottom: 2px solid;
}
.ErrorResult
{
<!-- add "underlining" for printing without background colors -->
border-bottom: 2px solid;
}
.TestcaseHeadingDefaultResult
{
<!-- add "underlining" for printing without background colors -->
border-bottom: 2px solid;
}
.TestcaseHeadingPositiveResult
{
<!-- add "underlining" for printing without background colors -->
border-bottom: 2px solid;
}
.TestcaseHeadingNegativeResult
{
<!-- add "underlining" for printing without background colors -->
border-bottom: 2px solid;
}
table.ScreenOnly, a.Undecorated, .LinkCell
{
display: none;
}
}
a.Undecorated:hover
{
color:red;
}
a.Undecorated
{
text-decoration: none;
}
.NavStyle
{
background-color: <xsl:value-of select="$NavBackgroundColor"/>;
}
td.LinkCell, td.UpCell
{
<!--background-color: <xsl:value-of select="$NavBackgroundColor"/>;-->
width: 1px;
white-space: nowrap;
}
<!-- Table styles -->
table
{
margin-bottom: 10px;
vertical-align: top;
border: 0;
border-spacing: 1px;
padding: 2px;
}
table.ScreenOnly
{
vertical-align: top;
margin-bottom: 10px;
}
.NoMarginBottom
{
margin-bottom: 0px;
}
.HeadingTable
{
width: 100%;
text-align: center;
margin-top: 15px;
margin-bottom: 30px;
margin-left: auto;
margin-right: auto;
background-color: <xsl:copy-of select="$HeadingBackgroundColor" />;
}
.SubHeadingTable
{
width: 100%;
text-align: center;
margin-top: 15px;
margin-bottom: 25px;
background-color: <xsl:copy-of select="$HeadingBackgroundColor" />;
}
.GroupHeadingTable, .GroupEndTable
{
width: 100%;
text-align: center;
margin-top: 15px;
padding-right: <xsl:copy-of select="$IndentDepth"/>px;
background-color: <xsl:copy-of select="$HeadingBackgroundColor" />;
}
.DefaultTable
{
padding: 0px;
border-spacing: 0px;
}
.CheckStatisticsTable
{
margin-bottom: 8px;
padding-right: <xsl:copy-of select="$IndentDepth"/>px;
}
.OverviewTable
{
text-align: left;
}
.OverviewResultTable
{
width: 100%;
margin-bottom: 0px;
border-spacing: 0px;
padding: 0px;
text-align: center;
}
.ResultTable
{
width: 100%;
text-align: left;
padding-right: <xsl:copy-of select="$IndentDepth"/>px;
}
.ResultTableInner
{
width: 100%;
text-align: left;
padding-right: 0px;
}
table.ResultTable td, table.ChildLinkTable td
{
vertical-align: top;
}
.ChildLinkTable
{
width: 1px;
text-align: left;
}
.InfoTable
{
text-align: left;
padding-right: 0px;
margin-bottom: 0px;
border-spacing: 0px;
}
.InfoTableExpand
{
width: 100%;
text-align: left;
padding-right: 0px;
margin-bottom: 0px;
border-spacing: 0px;
}
.OverallResultTable
{
width: 50%;
text-align: center;
margin-bottom: 20px;
margin-left: auto;
margin-right: auto;
font-weight: bold;
}
.TableHeadingCell
{
background-color: <xsl:copy-of select="$TableHeadingColor" />;
font-family: arial, verdana, trebuchet, officina, sans-serif;
font-weight: bold;
text-align: center;
}
.CellNoColor
{
text-align: left;
vertical-align: top;
}
.DefineCell
{
background-color: <xsl:copy-of select="$TableHeadingColor" />;
text-align: left;
}
.DefaultCell, .DefaultCellBold
{
background-color: <xsl:copy-of select="$TableBackgroundColor" />;
text-align: left;
}
.DefaultCellBold
{
font-weight: bold;
}
.NumberCell
{
background-color: <xsl:copy-of select="$TableBackgroundColor" />;
text-align: center;
min-width: 50px;
}
.NumberCellNegativeResult
{
background-color: <xsl:copy-of select="$NegativeResultColor" />;
text-align: center;
min-width: 50px;
}
.NumberCellPositiveResult
{
background-color: <xsl:copy-of select="$PositiveResultColor" />;
text-align: center;
min-width: 50px;
}
.NumberCellNoneResult
{
background-color: <xsl:copy-of select="$NoneResultColor" />;
text-align: center;
min-width: 50px;
}
.NumberCellInconclusiveResult
{
background-color: <xsl:copy-of select="$InconclusiveResultColor" />;
text-align: center;
min-width: 50px;
}
.NumberCellErrorResult
{
background-color: <xsl:copy-of select="$ErrorResultColor" />;
text-align: center;
min-width: 50px;
}
.NumberCellNoColor
{
text-align: center;
}
.PositiveResultCell
{
background-color: <xsl:copy-of select="$PositiveResultColor" />;
}
.NegativeResultCell
{
background-color: <xsl:copy-of select="$NegativeResultColor" />;
}
.NoneResultCell
{
background-color: <xsl:copy-of select="$NoneResultColor" />;
}
.InconclusiveResultCell
{
background-color: <xsl:copy-of select="$InconclusiveResultColor" />;
}
.ErrorResultCell
{
background-color: <xsl:copy-of select="$ErrorResultColor" />;
white-space: nowrap;
}
.WarningCell
{
background-color: <xsl:copy-of select="$WarningColor" />;
}
.TestcaseHeadingDefaultResult
{
background-color: <xsl:copy-of select="$TableHeadingColor" />;
}
.TestcaseHeadingPositiveResult
{
background-color: <xsl:copy-of select="$PositiveResultColor" />;
}
.TestcaseHeadingNegativeResult
{
background-color: <xsl:copy-of select="$NegativeResultColor" />;
}
.TestcaseHeadingNoneResult
{
background-color: <xsl:copy-of select="$NoneResultColor" />;
}
.TestcaseHeadingInconclusiveResult
{
background-color: <xsl:copy-of select="$InconclusiveResultColor" />;
}
.TestcaseHeadingErrorResult
{
background-color: <xsl:copy-of select="$ErrorResultColor" />;
}
.PatternSeparator
{
height: <xsl:copy-of select="$PatternSeparatorHeight"/>;
}
.NegativeResult
{
background-color: <xsl:copy-of select="$NegativeResultColor" />;
text-align: center;
font-weight: bold;
}
.PositiveResult
{
background-color: <xsl:copy-of select="$PositiveResultColor" />;
text-align: center;
font-weight: bold;
}
.NoneResult
{
background-color: <xsl:copy-of select="$NoneResultColor" />;
text-align: center;
font-weight: bold;
}
.InconclusiveResult
{
background-color: <xsl:copy-of select="$InconclusiveResultColor" />;
text-align: center;
font-weight: bold;
}
.ErrorResult
{
background-color: <xsl:copy-of select="$ErrorResultColor" />;
text-align: center;
font-weight: bold;
}
<!-- Heading styles -->
.Heading1
{
font-family: arial, sans-serif;
font-weight: bold;
font-size: 26px;
}
.Heading2
{
font-family: arial, sans-serif;
font-weight: bold;
font-size: 20px;
}
.Heading3
{
font-family: arial, sans-serif;
font-weight: bold;
font-size: 18px;
margin-bottom: 20px;
margin-top: 20px;
}
.Heading4
{
font-family: arial, sans-serif;
font-weight: bold;
font-size: 16px;
margin-top: 10px;
margin-bottom: 10px;
}
<!-- Margins for all images -->
img
{
Margin-bottom: 10px;
Margin-right: 10px;
}
<!-- Bottom margin for all paragraphs-->
p
{
Margin-bottom: 20px;
}
<!-- Styles with Background Colors for different results -->
.DefaultTableBackground
{
background-color: <xsl:copy-of select="$TableBackgroundColor" />;
border-spacing: 0px;
padding: 0px;
}
.NegativeResultBackground
{
background-color: <xsl:copy-of select="$NegativeResultColor" />;
border-spacing: 0px;
padding: 0px;
}
.PositiveResultBackground
{
background-color: <xsl:copy-of select="$PositiveResultColor" />;
border-spacing: 0px;
padding: 0px;
}
.WarningResultBackground
{
background-color: <xsl:copy-of select="$WarningColor" />;
border-spacing: 0px;
padding: 0px;
}
.NoneResultBackground
{
background-color: <xsl:copy-of select="$NoneResultColor" />;
border-spacing: 0px;
padding: 0px;
}
.InconclusiveResultBackground
{
background-color: <xsl:copy-of select="$InconclusiveResultColor" />;
border-spacing: 0px;
padding: 0px;
}
.ErrorResultBackground
{
background-color: <xsl:copy-of select="$ErrorResultColor" />;
border-spacing: 0px;
padding: 0px;
}
.TestGroupHeadingBackground
{
background-color: <xsl:copy-of select="$TableHeadingColor" />;
}
<!-- Style for indentation -->
.Indentation
{
margin-left: <xsl:copy-of select="$IndentDepth" />px;
}
</xsl:template>
<xsl:template name="cssStyleDef">
<style type="text/css">
<xsl:call-template name="cssDef"/>
</style>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="LinkPrefix" select="'lnk_'"/>
<xsl:variable name="TablePrefix" select="'tbl_'"/>
<xsl:variable name="Table2Prefix" select="'tbl_t'"/>
<xsl:variable name="DivPrefix" select="'div_'"/>
<xsl:variable name="ExpandedText" select="'[−]'"/>
<xsl:variable name="CollapsedText" select="'[+]'"/>
<xsl:template name="expand-script">
<script type="text/javascript">
var EXPANDED = '<xsl:value-of select="$ExpandedText"/>';
var COLLAPSED = '<xsl:value-of select="$CollapsedText"/>';
var VISIBLE = 'Visible';
var HIDDEN = 'Hidden';
var NONE = 'none';
var BLOCK = '';
function getDivId(id) { return '<xsl:value-of select="$DivPrefix"/>' + id; }
function getLinkId(id) { return '<xsl:value-of select="$LinkPrefix"/>' + id; }
function getTableId(id) { return '<xsl:value-of select="$TablePrefix"/>' + id; }
function getTbl2Id(id) { return '<xsl:value-of select="$Table2Prefix"/>' + id; }
<![CDATA[
function switchText(oldText) { return oldText == COLLAPSED ? EXPANDED : COLLAPSED ; }
function getStyleFromText(linkText) { return linkText == COLLAPSED ? HIDDEN : VISIBLE; }
function getElements(tagName, elementId)
{
this.elements = [];
var index = 0;
var elm = document.getElementsByTagName(tagName);
var len = elm.length;
for (var i = 0; i < len; i++)
{
var id = elm[i].id;
if (id && id.indexOf(elementId) == 0)
{
this.elements[index] = elm[i];
index++;
}
}
return this.elements;
}
function matchElements(tagName, matchId)
{
this.elements = [];
var index = 0;
var elm = document.getElementsByTagName(tagName);
for (var i = 0; i < elm.length; i++)
{
var id = elm[i].id;
var tc = id.replace(/s[0-9]+\./, "");
if (tc && tc == matchId)
{
this.elements[index] = elm[i];
index++;
}
}
return this.elements;
}
function onoff(elm, style)
{
if(elm.style.display == NONE)
{
if(style == null || style == VISIBLE)
elm.style.display = BLOCK;
}
else
{
if(style == null || style == HIDDEN)
elm.style.display = NONE;
}
}
function switchTagStyle(tag, id, style)
{
var divs = getElements(tag, id);
for(var i = 0; i < divs.length; i++)
onoff(divs[i], style);
}
function switchRowStyle(tbl, style)
{
var rows = tbl.rows.length;
for(var rowIndex=0; rowIndex < rows; rowIndex++)
{
var row = tbl.rows[rowIndex];
if (row.id != "on")
onoff(row, style);
}
}
function switchTableRowStyle(tableId, style)
{
var tables = getElements('table', tableId);
for(var i = 0; i < tables.length; i++)
switchRowStyle(tables[i], style);
}
function switchLinkText(linkId, newText)
{
var link = getElements('a', linkId);
var len = link.length;
for(var i = 0; i < len; i++)
{
var lnk = link[i];
if(newText == null)
{
var oldText = lnk.text;
newText = switchText(oldText)
}
lnk.text = newText;
}
}
function switchTag(tag, id, text)
{
var style = getStyleFromText(text);
switchTagStyle(tag, id, style);
}
function switchTable(id)
{
switchLinkText(getTableId(id));
switchTableRowStyle(getTableId(id));
}
function switchDiv(id, linkText)
{
var text = switchText(linkText);
switchLinkText(getLinkId(id), text);
switchTag('div', getDivId(id), text);
}
function switchAll(id, linkText)
{
var text = switchText(linkText);
switchLinkText(getLinkId(id), text);
switchTag('div', getDivId(id), text);
var style = getStyleFromText(text);
switchTableRowStyle(getTbl2Id(id), style);
}
function showTable(id)
{
var tableId = getTableId(id);
switchLinkText(tableId, EXPANDED);
switchTableRowStyle(tableId, VISIBLE);
}
function hideTable(id)
{
var tableId = getTableId(id);
switchTableRowStyle(tableId, HIDDEN);
switchLinkText(tableId, COLLAPSED);
}
function showDiv(id)
{
switchLinkText(getLinkId(id), EXPANDED);
switchTag('div', getDivId(id), EXPANDED);
}
function showTC(id)
{
var divId = getDivId(id);
var elms = matchElements('div', divId);
if(elms != null && elms.length > 0)
{
id = elms[0].id.replace(getDivId(''), '');
showDiv(id);
}
}
]]>
</script>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- displays the number for test elements -->
<xsl:template name="show-number-impl">
<xsl:number level="multiple" count="testgroup|testcase" />
</xsl:template>
<xsl:template name="make-number-impl">
<xsl:call-template name="show-number-impl"/>
</xsl:template>
<xsl:template match="engineer" mode="title">
<div class="Heading4"><xsl:text>Test Engineer</xsl:text></div>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" exclude-result-prefixes="exsl" extension-element-prefixes="exsl">
<xsl:template match="*" mode="show-hide"/>
<xsl:template match="*" mode="end"/>
<!-- Template: Test Module Information section -->
<xsl:template match="testmodule" mode="information">
<xsl:call-template name="testmodule-information"/>
</xsl:template>
<xsl:template match="testmodule" mode="tree">
<xsl:param name="parent-obj" select="'objTree.root'"/>
testcase = <xsl:value-of select="$parent-obj"/>.addChild("../common_report_files/info.gif", "Test Module Information", true, "Frame_Report.html#TestModuleInfo", "Report", "0");
<xsl:apply-templates select="preparation|completion" mode="tree">
<xsl:with-param name="parent-obj" select="$parent-obj"/>
<xsl:with-param name="title" select="'Test Module'"/>
</xsl:apply-templates>
<xsl:apply-templates select="testcase|testgroup|skipped" mode="tree">
<xsl:with-param name="parent-obj" select="$parent-obj"/>
<xsl:with-param name="parent-nr" select="''"/>
<xsl:with-param name="start-nr" select="0"/>
</xsl:apply-templates>
<xsl:apply-templates select="checkbegin[1]|checkend[1]" mode="file"/>
</xsl:template>
<xsl:template match="testmodule" mode="report-end"/>
<xsl:template match="testmodule" mode="href-file">
<xsl:text>Frame_Report.html</xsl:text>
</xsl:template>
<xsl:template name="testmodule-information">
<!-- Check statistics on test module level -->
<xsl:if test="./checkstatistic">
<div class="Heading4">
<xsl:text>Test Module Check Statistics</xsl:text>
</div>
<xsl:apply-templates select="./checkstatistic" mode="report"/>
</xsl:if>
<!-- Violations -->
<xsl:if test="violation|descendant::testcase/violation|descendant::testgroup/violation">
<div class="Heading4">Violations occurred</div>
<!-- ??? -->
<xsl:if test="descendant::testcase/violation">
<div class="Indentation">
<table class="OverviewTable">
<tr>
<td class="DefineCell" colspan="4">Number of violations inside test cases:</td>
</tr>
<tr>
<td class="DefineCell">Total number</td>
<td class="NumberCell">
<xsl:value-of select="count(descendant::testcase/violation)"/>
</td>
</tr>
<xsl:variable name="tc-cond-v" select="count(descendant::testcase/violation[@type='condition' and (@result='fail' or @result='error')])"/>
<xsl:variable name="tc-cons-v" select="count(descendant::testcase/violation[@type='constraint' and (@result='fail' or @result='error')])"/>
<xsl:variable name="tc-cond-w" select="count(descendant::testcase/violation[@type='condition' and @result='warn'])"/>
<xsl:variable name="tc-cons-w" select="count(descendant::testcase/violation[@type='constraint' and @result='warn'])"/>
<xsl:variable name="tc-prog-v" select="count(descendant::testcase/violation[@type='program' and (@result='fail' or @result='error')])"/>
<xsl:variable name="tc-prog-w" select="count(descendant::testcase/violation[@type='program' and @result='warn'])"/>
<xsl:if test="$tc-cond-v > 0">
<tr>
<td class="NegativeResultCell" style="text-indent: {$IndentDepth}px;">Condition violation</td>
<td class="NumberCell"><xsl:value-of select="$tc-cond-v"/></td>
</tr>
</xsl:if>
<xsl:if test="$tc-cons-v > 0">
<tr>
<td class="NegativeResultCell" style="text-indent: {$IndentDepth}px;">Constraint violation</td>
<td class="NumberCell"><xsl:value-of select="$tc-cons-v"/></td>
</tr>
</xsl:if>
<xsl:if test="$tc-cond-w > 0">
<tr>
<td class="WarningCell" style="text-indent: {$IndentDepth}px;">Condition warning</td>
<td class="NumberCell"><xsl:value-of select="$tc-cond-w"/></td>
</tr>
</xsl:if>
<xsl:if test="$tc-cons-w">
<tr>
<td class="WarningCell" style="text-indent: {$IndentDepth}px;">Constraint warning</td>
<td class="NumberCell"><xsl:value-of select="$tc-cons-w"/></td>
</tr>
</xsl:if>
<xsl:if test="$tc-prog-v > 0">
<tr>
<td class="NegativeResultCell" style="text-indent: {$IndentDepth}px;">Program violation</td>
<td class="NumberCell"><xsl:value-of select="$tc-prog-v"/></td>
</tr>
</xsl:if>
<xsl:if test="$tc-prog-w">
<tr>
<td class="WarningCell" style="text-indent: {$IndentDepth}px;">Program warning</td>
<td class="NumberCell"><xsl:value-of select="$tc-prog-w"/></td>
</tr>
</xsl:if>
</table>
</div>
</xsl:if>
<xsl:if test="violation|descendant::testgroup/violation">
<div class="Indentation">
<table class="OverviewTable">
<td class="DefineCell" colspan="4">Violations outside of test cases:</td>
<xsl:apply-templates select="violation|descendant::testgroup/violation" mode="testmodule"/>
</table>
</div>
</xsl:if>
</xsl:if>
<xsl:apply-templates select="." mode="link-children"/>
</xsl:template>
<xsl:template match="testmodule" mode="link-children">
<xsl:call-template name="link-children"/>
</xsl:template>
<xsl:template match="testmodule" mode="results">
<xsl:apply-templates select="." mode="results-heading"/>
<div class="Indentation">
<table class="OverviewTable">
<xsl:apply-templates select="/*/testcycle" mode="overview"/>
<xsl:apply-templates select="preparation" mode="overview"/>
<xsl:apply-templates select="/testreport/testunit|testgroup|testcase|skipped" mode="overview"/>
<xsl:apply-templates select="completion" mode="overview"/>
</table>
</div>
</xsl:template>
<xsl:template match="testcycle" mode="information">
<xsl:variable name="href">
<xsl:apply-templates select="." mode="href-file"/>
</xsl:variable>
<exsl:document href="{$href}" method="html" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
<xsl:value-of select="@run"/>
</title>
<link rel="stylesheet" type="text/css" href="extendedNavigation.css"/>
</head>
<body>
<xsl:apply-templates select="." mode="heading"/>
<xsl:apply-templates select="." mode="detailed"/>
</body>
</html>
</exsl:document>
</xsl:template>
<xsl:template match="testcycle" mode="href-file">
<xsl:value-of select="generate-id()"/>
<xsl:apply-templates select="." mode="html-name"/>
</xsl:template>
<xsl:template match="testcycle" mode="html-name">
<xsl:text>cycleinfo.html</xsl:text>
</xsl:template>
<xsl:template match="testcycle[parent::testmodule]" mode="tree">
testcycle = objTree.root.addChild("../common_report_files/testgroup.gif", "<xsl:text>Test Cycle </xsl:text><xsl:value-of select="@run"/>", false, "", "Report", "");
testcycle.addChild("../common_report_files/info.gif", "Test Cycle Information", true, "<xsl:apply-templates select="." mode="href-file"/>", "Report", "");
testgroup = testcycle
<xsl:apply-templates select="preparation" mode="tree">
<xsl:with-param name="parent-obj" select="'testcycle'"/>
<xsl:with-param name="title" select="'Test Module'"/>
</xsl:apply-templates>
<xsl:apply-templates select="testcase|testgroup|skipped" mode="tree">
<xsl:with-param name="parent-obj" select="'testgroup'"/>
</xsl:apply-templates>
<xsl:apply-templates select="completion" mode="tree">
<xsl:with-param name="parent-obj" select="'testcycle'"/>
<xsl:with-param name="title" select="'Test Module'"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="testcycle[parent::testmodule]" mode="detailed">
<xsl:call-template name="testmodule-information"/>
</xsl:template>
<xsl:template match="testcycle" mode="link-children">
</xsl:template>
<xsl:template match="preparation|completion" mode="tree-icon">
<xsl:choose>
<xsl:when test="descendant::*[@result='error']">
<xsl:text>"../common_report_files/testcase_error.gif"</xsl:text>
</xsl:when>
<xsl:when test="descendant::*[@result='fail']">
<xsl:text>"../common_report_files/testcase_failed.gif"</xsl:text>
</xsl:when>
<xsl:when test="descendant::violation[(@result='fail' or @result='error') and @type!='observation']">
<xsl:text>"../common_report_files/testcase_failed.gif"</xsl:text>
</xsl:when>
<xsl:when test="descendant::*[@result='inconclusive']">
<xsl:text>"../common_report_files/testcase_inconclusive.gif"</xsl:text>
</xsl:when>
<xsl:when test="descendant::*[@result='pass']">
<xsl:text>"../common_report_files/testcase_passed.gif"</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>"../common_report_files/testcase_none.gif"</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="preparation|completion" mode="tree">
<xsl:param name="parent-obj"/>
<xsl:param name="title" select="''"/>
prepcomp = <xsl:value-of select="$parent-obj"/>.addChild(<xsl:apply-templates select="." mode="tree-icon"/>,"<xsl:apply-templates select="." mode="name"/>",true,"<xsl:apply-templates select="." mode="href-file"/>", "Report", "<xsl:value-of select="@timestamp"/>");
<xsl:call-template name="preparation-completion-file">
<xsl:with-param name="containerText" select="$title"/>
<xsl:with-param name="withBeginEnd" select="true()"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="preparation|completion" mode="detailed">
<xsl:param name="containerText"/>
<xsl:param name="withBeginEnd"/>
<xsl:call-template name="preparation-completion">
<xsl:with-param name="containerText" select="$containerText"/>
<xsl:with-param name="withBeginEnd" select="$withBeginEnd"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="preparation[parent::testcase]|completion[parent::testcase]">
<xsl:param name="id"/>
<xsl:call-template name="preparation-completion">
<xsl:with-param name="id" select="$id"/>
<xsl:with-param name="containerText">Test Case</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="preparation-completion-file">
<xsl:param name="containerText"/>
<xsl:param name="withBeginEnd" select="false()"/>
<xsl:variable name="href">
<xsl:apply-templates select="." mode="href-file"/>
</xsl:variable>
<exsl:document href="{$href}" method="html" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
<xsl:apply-templates select="." mode="name-of"/>
<xsl:value-of select="$containerText"/>
</title>
<link rel="stylesheet" type="text/css" href="extendedNavigation.css"/>
<xsl:call-template name="all-scripts"/>
</head>
<body>
<xsl:apply-templates select="." mode="detailed">
<xsl:with-param name="containerText" select="$containerText"/>
<xsl:with-param name="withBeginEnd" select="$withBeginEnd"/>
</xsl:apply-templates>
</body>
</html>
</exsl:document>
</xsl:template>
<xsl:template match="preparation|completion" mode="href-file">
<xsl:value-of select="generate-id(.)"/>
<xsl:apply-templates select="." mode="html-name"/>
</xsl:template>
<xsl:template match="preparation" mode="html-name">
<xsl:text>prep.html</xsl:text>
</xsl:template>
<xsl:template match="completion" mode="html-name">
<xsl:text>comp.html</xsl:text>
</xsl:template>
<!-- Templates for Navigation Tree -->
<xsl:template match="testgroup[count(descendant::testcase|descendant::testsequence)=0]" mode="tree">
<xsl:param name="parent-obj"/>
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:variable name="counted-nodes">
<xsl:call-template name="count-nodes-impl"/>
</xsl:variable>
<xsl:variable name="nr">
<xsl:call-template name="make-number-impl">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="node-nr" select="$start-nr + $counted-nodes"/>
</xsl:call-template>
</xsl:variable>
testcase = <xsl:value-of select="$parent-obj"/>.addChild("../common_report_files/testcase_skipped.gif","<xsl:value-of select="$nr"/><xsl:text> </xsl:text><xsl:value-of select="title"/>", false, "", "Report", "");
</xsl:template>
<xsl:template match="testgroup[count(descendant::testcase|descendant::testsequence)>0]" mode="tree">
<xsl:param name="parent-obj"/>
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:apply-templates select="." mode="detailed">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="$start-nr"/>
</xsl:apply-templates>
<xsl:variable name="counted-nodes">
<xsl:call-template name="count-nodes-impl"/>
</xsl:variable>
<xsl:variable name="nr">
<xsl:call-template name="make-number-impl">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="node-nr" select="$start-nr + $counted-nodes"/>
</xsl:call-template>
</xsl:variable>
<!-- add a group and information page -->
testgroup = <xsl:value-of select="$parent-obj"/>.addChild("../common_report_files/testgroup.gif", "<xsl:value-of select="$nr"/><xsl:text> </xsl:text><xsl:value-of select="title"/>", false, "", "Report", "");
testgroup.addChild("../common_report_files/info.gif", "Test Group Information", true, "<xsl:apply-templates select="." mode="href-file"/>", "Report", "");
<xsl:apply-templates select="preparation|completion|testsequence|testcase|testgroup|testfixture|testsequencelist|testcaselist|skippedcase|skippedgroup|skippedfixture|skippedsequence|skippedtestcaselist|skippedtestsequencelist" mode="tree">
<xsl:with-param name="parent-obj" select="'testgroup'"/>
<xsl:with-param name="parent-nr" select="$nr"/>
<xsl:with-param name="start-nr" select="0"/>
<xsl:with-param name="title" select="'Test Group'"/>
</xsl:apply-templates>
<xsl:apply-templates select="checkbegin[1]|checkend[1]" mode="file"/>
<!-- reset testgroup to parent testgroup when testgroup is not at uppermost level -->
if (testgroup.parent != undefined)
{
testgroup = testgroup.parent;
}
</xsl:template>
<xsl:template match="testgroup[count(descendant::testcase|descendant::testsequence)=0]" mode="detailed"/>
<xsl:template match="testgroup[count(descendant::testcase|descendant::testsequence)>0]" mode="detailed">
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:variable name="href">
<xsl:apply-templates select="." mode="href-file"/>
</xsl:variable>
<exsl:document href="{$href}" method="html" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
<xsl:value-of select="title"/>
</title>
<xsl:call-template name="all-scripts"/>
<link rel="stylesheet" type="text/css" href="extendedNavigation.css"/>
</head>
<body>
<xsl:call-template name="testgroup-detailed">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="$start-nr"/>
</xsl:call-template>
</body>
</html>
</exsl:document>
</xsl:template>
<xsl:template name="testgroup-overview-impl">
<a>
<xsl:attribute name="href">
<xsl:apply-templates select="." mode="href-file"/>
</xsl:attribute>
<b>
<xsl:value-of select="title"/>
</b>
</a>
</xsl:template>
<xsl:template name="testgroup-detailed-impl">
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:call-template name="link-children">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="0"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="testgroup-end-impl"/>
<xsl:template match="testgroup" mode="href-file">
<xsl:value-of select="generate-id(.)"/>
<xsl:text>tginfo.html</xsl:text>
</xsl:template>
<xsl:template match="testcase[verdict/@result='error']" mode="tree-icon">
<xsl:text>"../common_report_files/testcase_error.gif"</xsl:text>
</xsl:template>
<xsl:template match="testcase[verdict/@result='fail']" mode="tree-icon">
<xsl:text>"../common_report_files/testcase_failed.gif"</xsl:text>
</xsl:template>
<xsl:template match="testcase[verdict/@result='inconclusive']" mode="tree-icon">
<xsl:text>"../common_report_files/testcase_inconclusive.gif"</xsl:text>
</xsl:template>
<xsl:template match="testcase[verdict/@result='pass']" mode="tree-icon">
<xsl:text>"../common_report_files/testcase_passed.gif"</xsl:text>
</xsl:template>
<xsl:template match="testcase" mode="tree-icon">
<xsl:text>"../common_report_files/testcase_none.gif"</xsl:text>
</xsl:template>
<xsl:template match="testcase" mode="tree">
<xsl:param name="parent-obj"/>
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:apply-templates select="." mode="detailed">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="$start-nr"/>
</xsl:apply-templates>
<xsl:call-template name="testcase-tree">
<xsl:with-param name="parent-obj" select="$parent-obj"/>
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="$start-nr"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="testcase[./precondition/precondend[@fulfilled='false']]" mode="tree">
<xsl:param name="parent-obj"/>
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:if test="$ShowFailedPreconditions">
<xsl:apply-templates select="." mode="detailed">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="$start-nr"/>
</xsl:apply-templates>
<xsl:call-template name="testcase-tree">
<xsl:with-param name="parent-obj" select="$parent-obj"/>
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="$start-nr"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template match="testcase" mode="detailed">
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:variable name="hide-tc">
<xsl:call-template name="hidetestcase"/>
</xsl:variable>
<xsl:variable name="ShowTestCaseDetails" select="not(boolean(number($hide-tc)))"/>
<xsl:if test="$ShowTestCaseDetails">
<xsl:variable name="href">
<xsl:apply-templates select="." mode="href-file"/>
</xsl:variable>
<exsl:document href="{$href}" method="html" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
<xsl:value-of select="title"/>
</title>
<xsl:call-template name="all-scripts"/>
<link rel="stylesheet" type="text/css" href="extendedNavigation.css"/>
</head>
<body>
<xsl:call-template name="testcase-detailed">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="$start-nr"/>
</xsl:call-template>
</body>
</html>
</exsl:document>
</xsl:if>
</xsl:template>
<xsl:template match="testcase" mode="href-file">
<xsl:value-of select="generate-id(.)"/>
<xsl:text>.html</xsl:text>
</xsl:template>
<xsl:template name="testcase-tree">
<xsl:param name="parent-obj"/>
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:variable name="counted-nodes">
<xsl:call-template name="count-nodes-impl"/>
</xsl:variable>
<xsl:variable name="nr">
<xsl:call-template name="make-number-impl">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="node-nr" select="$start-nr + $counted-nodes"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="hide-tc">
<xsl:call-template name="hidetestcase"/>
</xsl:variable>
<xsl:variable name="ShowTestCaseLink" select="not(boolean(number($hide-tc)))"/>
testcase = <xsl:value-of select="$parent-obj"/>.addChild(<xsl:apply-templates select="." mode="tree-icon"/>,"<xsl:value-of select="$nr"/><xsl:text> </xsl:text><xsl:value-of select="title"/>",<xsl:value-of select="$ShowTestCaseLink"/>,"<xsl:apply-templates select="." mode="href-file"/>","Report","<xsl:value-of select="@timestamp"/>");
</xsl:template>
<xsl:template match="skipped|skippedcase|skippedgroup|skippedfixture|skippedsequence|skippedtestcaselist|skippedtestsequencelist" mode="tree">
<xsl:param name="parent-obj"/>
skipped = <xsl:value-of select="$parent-obj"/>.addChild("../common_report_files/testcase_skipped.gif", "<xsl:value-of select="title"/>",false, "", "Report", "");
</xsl:template>
<xsl:template match="skipped|skippedcase|skippedgroup|skippedfixture|skippedsequence|skippedtestcaselist|skippedtestsequencelist" mode="detailed"/>
<xsl:template match="checkbegin" mode="file">
<xsl:variable name="href">
<xsl:apply-templates select="." mode="href-file"/>
</xsl:variable>
<exsl:document href="{$href}" method="html" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
<xsl:text>Startup of checks</xsl:text>
</title>
<link rel="stylesheet" type="text/css" href="extendedNavigation.css"/>
<xsl:call-template name="all-scripts"/>
</head>
<body>
<xsl:call-template name="checkbegin-head"/>
</body>
</html>
</exsl:document>
</xsl:template>
<xsl:template match="checkend" mode="file">
<xsl:variable name="href">
<xsl:apply-templates select="." mode="href-file"/>
</xsl:variable>
<exsl:document href="{$href}" method="html" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
<xsl:text>Startup of checks</xsl:text>
</title>
<link rel="stylesheet" type="text/css" href="extendedNavigation.css"/>
<xsl:call-template name="all-scripts"/>
</head>
<body>
<xsl:call-template name="checkend-head"/>
</body>
</html>
</exsl:document>
</xsl:template>
<xsl:template match="checkbegin[ancestor::preparation and not(ancestor::testcase)]" mode="href-file">
<xsl:apply-templates select="ancestor::preparation" mode="href-file"/>
</xsl:template>
<xsl:template match="checkbegin[ancestor::completion and not(ancestor::testcase)]" mode="href-file">
<xsl:apply-templates select="ancestor::completion" mode="href-file"/>
</xsl:template>
<xsl:template match="checkbegin[ancestor::testsequence and not(ancestor::testcase)]" mode="href-file">
<xsl:apply-templates select="ancestor::testsequence" mode="href-file"/>
</xsl:template>
<xsl:template match="checkbegin[ancestor::testcase]" mode="href-file">
<xsl:apply-templates select="ancestor::testcase" mode="href-file"/>
</xsl:template>
<xsl:template match="checkbegin" mode="href-file">
<xsl:value-of select="generate-id(..)"/>
<xsl:text>chkbeg.html</xsl:text>
</xsl:template>
<xsl:template match="checkend" mode="href-file">
<xsl:value-of select="generate-id(..)"/>
<xsl:text>chkend.html</xsl:text>
</xsl:template>
<xsl:template match="checkstatistic" mode="containing-file">
<xsl:choose>
<xsl:when test="parent::testmodule">Frame_Report.html</xsl:when>
<xsl:when test="parent::testreport">Frame_Report.html</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select=".." mode="href-file"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="testmodule|testcycle[parent::testmodule]" mode="failed-list">
<xsl:param name="verdict"/>
<xsl:apply-templates select="testcycle|testgroup|testcase" mode="failed-list">
<xsl:with-param name="verdict" select="$verdict"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="testgroup" mode="failed-list">
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:param name="verdict"/>
<xsl:variable name="counted-nodes">
<xsl:call-template name="count-nodes-impl"/>
</xsl:variable>
<xsl:variable name="nr">
<xsl:call-template name="make-number-impl">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="node-nr" select="$start-nr + $counted-nodes"/>
</xsl:call-template>
</xsl:variable>
<xsl:apply-templates select="testgroup|testsequence|testcase|testsequencelist|testcaselist" mode="failed-list">
<xsl:with-param name="parent-nr" select="$nr"/>
<xsl:with-param name="start-nr" select="0"/>
<xsl:with-param name="verdict" select="$verdict"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="testcase" mode="failed-list">
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:param name="verdict"/>
<xsl:if test="verdict[@result=$verdict] ">
<xsl:call-template name="testcase-failed-list">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="$start-nr"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template name="testcase-failed-list">
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:variable name="counted-nodes">
<xsl:call-template name="count-nodes-impl"/>
</xsl:variable>
<xsl:variable name="hide-tc">
<xsl:call-template name="hidetestcase"/>
</xsl:variable>
<tr>
<td>
<xsl:choose>
<xsl:when test="not(boolean(number($hide-tc)))">
<a>
<xsl:attribute name="href">
<xsl:apply-templates select="." mode="href-file"/>
</xsl:attribute>
<xsl:attribute name="target">Report</xsl:attribute>
<xsl:attribute name="onclick">showTimestamp('<xsl:value-of select="@timestamp"/>')</xsl:attribute>
<xsl:call-template name="show-number-impl">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="$start-nr + $counted-nodes"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="title"/>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="show-number-impl">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="$start-nr + $counted-nodes"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="title"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:template>
<xsl:template match="*" mode="link-up">
<xsl:param name="rowspan"/>
<xsl:call-template name="link-up">
<xsl:with-param name="rowspan" select="$rowspan"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="testpattern" mode="link-up">
<xsl:apply-templates select=".." mode="link-up"/>
</xsl:template>
<xsl:template match="preparation[parent::testcase]|completion[parent::testcase]" mode="link-up"/>
<xsl:template match="preparation[parent::testsequence]|completion[parent::testsequence]" mode="link-up">
<xsl:if test="$ShowSequenceAsGroup">
<xsl:call-template name="link-up"/>
</xsl:if>
</xsl:template>
<xsl:template match="preparation|completion|testcase" mode="link-up">
<table>
<tbody>
<tr>
<xsl:call-template name="link-up"/>
</tr>
</tbody>
</table>
</xsl:template>
<xsl:template name="link-up">
<xsl:param name="rowspan"/>
<td class="UpCell">
<xsl:if test="$rowspan">
<xsl:attribute name="rowspan">
<xsl:value-of select="$rowspan"/>
</xsl:attribute>
</xsl:if>
<a>
<xsl:attribute name="href">
<xsl:apply-templates select=".." mode="href-file"/>
</xsl:attribute>
<xsl:text>Go up</xsl:text>
</a>
</td>
</xsl:template>
<xsl:template name="htmlFrameNavTree">
<html>
<head>
<title>
<xsl:value-of select="/*/title"/>
</title>
<link rel="stylesheet" type="text/css" href="../common_report_files/tree.css"/>
<script type="text/javascript" src="../common_report_files/document.js"/>
<script type="text/javascript" src="../common_report_files/tree.js"/>
<xsl:call-template name="showtimestamp-script"/>
<script type="text/javascript">
var objTree = new jsTree;
var testcycle;
var testgroup;
var testcase;
//create the root
<xsl:choose>
<xsl:when test="/*/verdict/@result='error'">
objTree.createRoot("../common_report_files/testmodul_error.gif", "<xsl:value-of select="/*/title"/>", true, "Frame_Report.html#TOP", "Report", "0");
</xsl:when>
<xsl:when test="/*/verdict/@result='fail'">
objTree.createRoot("../common_report_files/testmodul_failed.gif", "<xsl:value-of select="/*/title"/>", true, "Frame_Report.html#TOP", "Report", "0");
</xsl:when>
<xsl:when test="/*/verdict/@result='inconclusive'">
objTree.createRoot("../common_report_files/testmodul_inconclusive.gif", "<xsl:value-of select="/*/title"/>", true, "Frame_Report.html#TOP", "Report", "0");
</xsl:when>
<xsl:when test="/*/verdict/@result='pass'">
objTree.createRoot("../common_report_files/testmodul_passed.gif", "<xsl:value-of select="/*/title"/>", true, "Frame_Report.html#TOP", "Report", "0");
</xsl:when>
<xsl:otherwise>
objTree.createRoot("../common_report_files/testmodul_none.gif", "<xsl:value-of select="/*/title"/>", true, "Frame_Report.html#TOP", "Report", "0");
</xsl:otherwise>
</xsl:choose>
//special childs for test information at the top of the report
testcase = objTree.root.addChild("../common_report_files/info.gif", "General Test Information", true, "Frame_Report.html#GeneralTestInfo", "Report", "0");
testcase = objTree.root.addChild("../common_report_files/info.gif", "Test Overview", true, "Frame_Report.html#TestOverview", "Report", "0");
<!-- Add script calls to create the navigation tree with testgroups, testcases, etc. -->
<xsl:apply-templates select="/*/testcycle|/*/testunit|/testmodule" mode="tree">
<xsl:with-param name="parent-obj" select="'objTree.root'"/>
</xsl:apply-templates>
// Calls dialog to print ReportFrame
function printReportFrame()
{
top.Report.print();
}
function init()
{
objTree.buildDOM();
}
</script>
</head>
<body style="background-color: rgb(220, 221, 222)" onLoad="init()">
<xsl:attribute name="style">
background-color: <xsl:value-of select="$NavBackgroundColor"/></xsl:attribute>
<table>
<tr>
<td>
<img src="../common_report_files/print.gif" alt="Print current Frame" onclick="printReportFrame()"/>
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
<xsl:template name="htmlFrameReport">
<html>
<head>
<title>
<xsl:value-of select="/*/title"/>
</title>
<xsl:call-template name="all-scripts"/>
<link rel="stylesheet" type="text/css" href="extendedNavigation.css"/>
</head>
<body>
<xsl:call-template name="report-body"/>
</body>
</html>
</xsl:template>
<xsl:template name="htmlFrameFailedList">
<html>
<head>
<title>
<xsl:value-of select="/*/title"/>
<xsl:text>Faulty test cases</xsl:text>
</title>
<link rel="stylesheet" type="text/css" href="extendedNavigation.css"/>
<xsl:call-template name="showtimestamp-script"/>
</head>
<body class="NavStyle">
<div class="Heading4">Test cases with verdict none:</div>
<table>
<xsl:apply-templates select="/testmodule|/testreport" mode="failed-list">
<xsl:with-param name="verdict" select="'none'"/>
</xsl:apply-templates>
</table>
<div class="Heading4">Test cases with verdict inconclusive:</div>
<table>
<xsl:apply-templates select="/testmodule|/testreport" mode="failed-list">
<xsl:with-param name="verdict" select="'inconclusive'"/>
</xsl:apply-templates>
</table>
<div class="Heading4">Test cases with verdict fail:</div>
<table>
<xsl:apply-templates select="/testmodule|/testreport" mode="failed-list">
<xsl:with-param name="verdict" select="'fail'"/>
</xsl:apply-templates>
</table>
<div class="Heading4">Test cases with verdict error in Test System:</div>
<table>
<xsl:apply-templates select="/testmodule|/testreport" mode="failed-list">
<xsl:with-param name="verdict" select="'error'"/>
</xsl:apply-templates>
</table>
</body>
</html>
</xsl:template>
<xsl:template name="htmlFrameLogFile">
<html>
<head>
<title>Logfile Frame</title>
<link rel="stylesheet" type="text/css" href="extendedNavigation.css"/>
<script type="text/javascript">
function showTimestamp(timestamp)
{
ExtNavigationApplet.showTimeStamp(timestamp);
}
</script>
</head>
<body>
<!-- append non-empty log file entries -->
<xsl:variable name="logfiles">
<xsl:for-each select="//testlogfile">
<xsl:if test="normalize-space(./@file)">
<xsl:value-of select="translate(@file, '\', '/')"/>
<xsl:text>|0|</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<script src="../common_report_files/deployJava.js"/>
<script>
<xsl:text>var attributes = {code: 'ExtNavigationApplet.class', id:'ExtNavigationApplet', mayscript:'true', width: '100%', height: '100%'};</xsl:text>
<xsl:text>var parameters = {jnlp_href: '../common_report_files/ExtNavigationApplet.jnlp', logfiles: '</xsl:text>
<xsl:value-of select="$logfiles"/>
<xsl:text>', docUrl: window.location.href};</xsl:text>
<xsl:text>deployJava.runApplet(attributes, parameters, '1.6');</xsl:text>
</script>
</body>
</html>
</xsl:template>
<!-- helper functions -->
<xsl:template name="all-scripts">
<xsl:call-template name="showtimestamp-script"/>
<xsl:call-template name="expand-script"/>
</xsl:template>
<xsl:template name="showtimestamp-script">
<script type="text/javascript">
function showTimestamp(timestamp){top.LogFile.showTimestamp(timestamp);}
</script>
</xsl:template>
<xsl:template name="aHrefImpl">
<xsl:param name="externalID"/>
<xsl:param name="externalFile"/>
<xsl:param name="internalID"/>
<xsl:param name="anchorText"/>
<xsl:call-template name="aHref">
<xsl:with-param name="externalID" select="$externalID"/>
<xsl:with-param name="externalFile" select="$externalFile"/>
<xsl:with-param name="internalID" select="$internalID"/>
<xsl:with-param name="anchorText" select="$anchorText"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="showTimeStampImpl">
<xsl:param name="timeStampValue"/>
<a>
<xsl:attribute name="href">javascript:showTimestamp('<xsl:value-of select="$timeStampValue"/>')</xsl:attribute>
<xsl:value-of select="$timeStampValue"/>
</a>
</xsl:template>
<xsl:template name="showUpperStatisticImpl">
<xsl:param name="statisticNodeSet"/>
<xsl:apply-templates select="$statisticNodeSet" mode="containing-file"/>
<xsl:text>#</xsl:text>
<xsl:apply-templates select="$statisticNodeSet" mode="checkstatistic-anchor"/>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" exclude-result-prefixes="exsl" extension-element-prefixes="exsl">
<xsl:template match="testmodule[not(testcycle)]|testreport[not(testcycle)]" mode="results"/>
<xsl:template match="testmodule|testreport" mode="results">
<!-- Table with Test Results -->
<xsl:apply-templates select="." mode="results-heading"/>
<div class="Indentation">
<table class="OverviewTable">
<xsl:apply-templates select="self::testcycle" mode="overview"/>
<xsl:apply-templates select="preparation" mode="overview"/>
<xsl:apply-templates select="/testreport/testunit|testgroup|testcase|skipped" mode="overview"/>
<xsl:apply-templates select="completion" mode="overview"/>
</table>
</div>
</xsl:template>
<xsl:template match="testmodule" mode="results-heading">
<div class="Heading4">Test Case Results</div>
</xsl:template>
<xsl:template match="testmodule[testcycle]" mode="results-heading"/>
<xsl:template match="testmodule" mode="information">
<xsl:variable name="id-self">
<xsl:if test="ancestor-or-self::testcycle">
<xsl:call-template name="number-cycle"/>
</xsl:if>
</xsl:variable>
<!-- Violations -->
<xsl:if test="violation|descendant::testgroup/violation">
<div id="{$DivPrefix}{$id-self}">
<div class="Heading4">Violations occurred (not within test cases)</div>
<div class="Indentation">
<table class="OverviewTable">
<xsl:apply-templates select="violation|descendant::testgroup/violation" mode="testmodule"/>
</table>
</div>
</div>
</xsl:if>
<!-- Preparation/Completion section of test module -->
<xsl:apply-templates select="preparation|completion" mode="testmodule">
<xsl:with-param name="id" select="$id-self"/>
</xsl:apply-templates>
<!-- checkbegin/checkend outside a testcase -->
<xsl:apply-templates select="checkbegin[1]|checkend[1]" mode="head">
<xsl:with-param name="id" select="$id-self"/>
</xsl:apply-templates>
<xsl:apply-templates select="." mode="link-children"/>
<xsl:apply-templates select="." mode="detailed">
<xsl:with-param name="id" select="$id-self"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="testmodule" mode="title">
<xsl:apply-templates select="." mode="heading-title"/>
</xsl:template>
<xsl:template match="testmodule" mode="heading">
<table class="GroupHeadingTable">
<tr>
<td>
<big class="Heading3">
<xsl:apply-templates select="." mode="heading-title"/>
</big>
</td>
</tr>
</table>
</xsl:template>
<xsl:template match="testmodule" mode="heading-title">
<xsl:value-of select="'Test Cycle 1'"/>
</xsl:template>
<xsl:template match="testmodule[testcycle]" mode="link-children">
<xsl:call-template name="link-children"/>
<xsl:apply-templates select="checkbegin[1]|checkend[1]" mode="file"/>
</xsl:template>
<xsl:template match="testmodule" mode="link-children">
<div class="Indentation">
<div class="Heading4">Contents</div>
<div class="Indentation">
<table class="OverviewTable">
<tr>
<td class="DefineCell" colspan="{$OverviewColumnCount}">
<xsl:call-template name="a-href-ext">
<xsl:with-param name="externalID" select="current()"/>
<xsl:with-param name="externalFile" select="'cycleinfo.html'"/>
<xsl:with-param name="anchorText">
<xsl:apply-templates select="." mode="title"/>
</xsl:with-param>
</xsl:call-template>
</td>
</tr>
</table>
</div>
</div>
</xsl:template>
<xsl:template match="testmodule" mode="href-file">
<xsl:value-of select="generate-id(.)"/>
<xsl:text>cycleinfo.html</xsl:text>
</xsl:template>
<xsl:template match="testmodule" mode="detailed">
<xsl:variable name="href">
<xsl:apply-templates select="." mode="href-file"/>
</xsl:variable>
<xsl:variable name="id-self">
<xsl:if test="ancestor-or-self::testcycle">
<xsl:call-template name="number-cycle"/>
</xsl:if>
</xsl:variable>
<exsl:document href="{$href}" method="html" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
<xsl:value-of select="@run"/>
</title>
<link rel="stylesheet" type="text/css" href="extendedNavigation.css"/>
<xsl:call-template name="expand-script"/>
</head>
<body>
<xsl:apply-templates select="." mode="heading"/>
<xsl:call-template name="test-results"/>
<table class="SubHeadingTable">
<tr>
<xsl:apply-templates select="." mode="show-hide-multicycle"/>
<td><div class="Heading2">Test Module Information</div></td>
</tr>
</table>
<!-- Check statistics on test module level -->
<xsl:if test="checkstatistic">
<div id="{$DivPrefix}{$id-self}">
<xsl:call-template name="checkstatistic-heading"/>
<xsl:apply-templates select="checkstatistic" mode="report"/>
</div>
</xsl:if>
<table class="SubHeadingTable">
<tr>
<td>
<big class="Heading2">
<xsl:text>Test Case Details</xsl:text>
</big>
</td>
</tr>
</table>
<xsl:apply-templates select="testcase|testgroup" mode="detailed">
<xsl:with-param name="id">
<xsl:call-template name="number-cycle"/>
</xsl:with-param>
</xsl:apply-templates>
</body>
</html>
</exsl:document>
</xsl:template>
<xsl:template match="testmodule" mode="show-hide"/>
<xsl:template match="testmodule" mode="show-hide-multicycle">
<xsl:call-template name="show-hide-all">
<xsl:with-param name="id" select="''"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="testcycle" mode="overview"/>
<xsl:template match="testcycle" mode="information">
<xsl:variable name="href">
<xsl:apply-templates select="." mode="href-file"/>
</xsl:variable>
<xsl:variable name="id-self">
<xsl:if test="ancestor-or-self::testcycle">
<xsl:call-template name="number-cycle"/>
</xsl:if>
</xsl:variable>
<exsl:document href="{$href}" method="html" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
<xsl:value-of select="@run"/>
</title>
<link rel="stylesheet" type="text/css" href="extendedNavigation.css"/>
<xsl:call-template name="expand-script"/>
</head>
<body>
<xsl:apply-templates select="." mode="heading"/>
<xsl:call-template name="test-results"/>
<table class="SubHeadingTable">
<tr>
<xsl:apply-templates select="." mode="show-hide-multicycle"/>
<td><div class="Heading2">Test Module Information</div></td>
</tr>
</table>
<!-- Check statistics on test module level -->
<xsl:if test="checkstatistic">
<div id="{$DivPrefix}{$id-self}">
<xsl:call-template name="checkstatistic-heading"/>
<xsl:apply-templates select="checkstatistic" mode="report"/>
</div>
</xsl:if>
<xsl:apply-templates select=".|testcase|testgroup" mode="detailed">
<xsl:with-param name="id">
<xsl:call-template name="number-cycle"/>
</xsl:with-param>
</xsl:apply-templates>
</body>
</html>
</exsl:document>
</xsl:template>
<xsl:template match="testcycle" mode="href-file">
<xsl:value-of select="generate-id()"/>
<xsl:apply-templates select="." mode="html-name"/>
</xsl:template>
<xsl:template match="testcycle" mode="html-name">
<xsl:text>cycleinfo.html</xsl:text>
</xsl:template>
<xsl:template match="testcycle" mode="show-hide-multicycle">
<xsl:call-template name="show-hide-all">
<xsl:with-param name="id" select="''"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="preparation|completion" mode="overview"/>
<xsl:template match="checkbegin" mode="file">
<xsl:variable name="href">
<xsl:apply-templates select="." mode="href-file"/>
</xsl:variable>
<exsl:document href="{$href}" method="html" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
<xsl:text>Startup of checks</xsl:text>
</title>
<link rel="stylesheet" type="text/css" href="extendedNavigation.css"/>
<xsl:call-template name="expand-script"/>
</head>
<body>
<xsl:call-template name="checkbegin-head"/>
</body>
</html>
</exsl:document>
</xsl:template>
<xsl:template match="checkend" mode="file">
<xsl:variable name="href">
<xsl:apply-templates select="." mode="href-file"/>
</xsl:variable>
<exsl:document href="{$href}" method="html" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
<xsl:text>Startup of checks</xsl:text>
</title>
<link rel="stylesheet" type="text/css" href="extendedNavigation.css"/>
<xsl:call-template name="expand-script"/>
</head>
<body>
<xsl:call-template name="checkend-head"/>
</body>
</html>
</exsl:document>
</xsl:template>
<xsl:template match="checkbegin" mode="href-file">
<xsl:value-of select="generate-id(..)"/>
<xsl:text>chkbeg.html</xsl:text>
</xsl:template>
<xsl:template match="checkend" mode="href-file">
<xsl:value-of select="generate-id(..)"/>
<xsl:text>chkend.html</xsl:text>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="showTimeStampImpl">
<xsl:param name="timeStampValue"/>
<xsl:value-of select="$timeStampValue"/>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="RootFolder">
<xsl:text>./</xsl:text>
</xsl:variable>
<!-- Template: Test Module Information section -->
<xsl:template match="testmodule|testreport" mode="results">
<!-- Table with Test Results -->
<xsl:apply-templates select="." mode="results-heading"/>
<div class="Indentation">
<table class="OverviewTable">
<xsl:apply-templates select="/*/testcycle" mode="overview"/>
<xsl:apply-templates select="preparation" mode="overview"/>
<xsl:apply-templates select="/testreport/testunit|testgroup|testcase|skipped" mode="overview"/>
<xsl:apply-templates select="completion" mode="overview"/>
</table>
</div>
</xsl:template>
<xsl:template match="testmodule" mode="information">
<xsl:call-template name="testmodule-information"/>
</xsl:template>
<xsl:template match="testmodule" mode="show-hide">
<xsl:call-template name="show-hide-all">
<xsl:with-param name="id" select="''"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="testmodule-information">
<xsl:variable name="id-self">
<xsl:if test="ancestor-or-self::testcycle">
<xsl:call-template name="number-cycle"/>
</xsl:if>
</xsl:variable>
<!-- Check statistics on test module level -->
<xsl:if test="checkstatistic">
<div id="{$DivPrefix}{$id-self}">
<xsl:call-template name="checkstatistic-heading"/>
<xsl:apply-templates select="checkstatistic" mode="report"/>
</div>
</xsl:if>
<!-- Violations -->
<xsl:if test="violation|descendant::testgroup/violation">
<div id="{$DivPrefix}{$id-self}">
<div class="Heading4">Violations occurred (not within test cases)</div>
<div class="Indentation">
<table class="OverviewTable">
<xsl:apply-templates select="violation|descendant::testgroup/violation" mode="testmodule"/>
</table>
</div>
</div>
</xsl:if>
<!-- Preparation/Completion section of test module -->
<xsl:apply-templates select="preparation|completion" mode="testmodule">
<xsl:with-param name="id" select="$id-self"/>
</xsl:apply-templates>
<!-- checkbegin/checkend outside a testcase -->
<xsl:apply-templates select="checkbegin[1]|checkend[1]" mode="head">
<xsl:with-param name="id" select="$id-self"/>
</xsl:apply-templates>
<xsl:apply-templates select="." mode="link-children"/>
<xsl:apply-templates select="." mode="detailed">
<xsl:with-param name="id" select="$id-self"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="testmodule" mode="detailed">
<xsl:param name="id"/>
<!-- Test Case Details -->
<table class="SubHeadingTable">
<tr>
<td>
<big class="Heading2">
<xsl:text>Test Case Details</xsl:text>
</big>
</td>
</tr>
</table>
<xsl:apply-templates select="testcase|testgroup" mode="detailed">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="testcycle" mode="information">
<a name="{generate-id()}"/>
<table class="SubHeadingTable">
<tr>
<xsl:apply-templates select="." mode="show-hide"/>
<td>
<div class="Heading2">
<xsl:apply-templates select="." mode="heading-title"/>
</div>
</td>
</tr>
</table>
<xsl:call-template name="testmodule-information"/>
</xsl:template>
<xsl:template match="testcycle[parent::testmodule]" mode="detailed">
<xsl:param name="id"/>
<!-- Test Case Details -->
<table class="SubHeadingTable">
<tr>
<td>
<big class="Heading2">
<xsl:text>Test Case Details</xsl:text>
</big>
</td>
</tr>
</table>
<xsl:apply-templates select="testcase|testgroup" mode="detailed">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="testcycle" mode="show-hide">
<xsl:call-template name="show-hide-all">
<xsl:with-param name="id">
<xsl:call-template name="number-cycle"/>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template match="testgroup" mode="detailed">
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:param name="id"/>
<xsl:if test="count(descendant::testcase|descendant::teststep|descendant::testcommand|descendant::testsequence)>0">
<xsl:call-template name="testgroup-detailed">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="$start-nr"/>
<xsl:with-param name="id" select="$id"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template match="testgroup" mode="show-hide">
<xsl:param name="id"/>
<xsl:param name="rowspan"/>
<xsl:call-template name="show-hide-all">
<xsl:with-param name="id" select="$id"/>
<xsl:with-param name="rowspan" select="$rowspan"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="testgroup-overview-impl">
<a href="#{generate-id()}">
<b>
<xsl:value-of select="title"/>
</b>
</a>
</xsl:template>
<xsl:template name="testgroup-detailed-impl">
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:param name="id"/>
<xsl:variable name="counted-nodes">
<xsl:call-template name="count-nodes-impl"/>
</xsl:variable>
<!-- Preparation section of test group -->
<xsl:apply-templates select="preparation" mode="testgroup">
<xsl:with-param name="id" select="concat($id, 'p')"/>
</xsl:apply-templates>
<!-- checkbegin not in a test case -->
<xsl:apply-templates select="checkbegin[1]" mode="head">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
<!-- Content (test cases, nested test groups) of test group -->
<xsl:apply-templates select="testgroup|testfixture|testsequence|testcase|testsequencelist|testcaselist" mode="detailed">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="0"/>
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
<!-- checkend not in a test case -->
<xsl:apply-templates select="checkend[1]" mode="head">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
<!-- Completion section of test group -->
<xsl:apply-templates select="completion" mode="testgroup">
<xsl:with-param name="id" select="concat($id, 'c')"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="testcase" mode="detailed">
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:param name="id"/>
<xsl:variable name="hide-tc">
<xsl:call-template name="hidetestcase"/>
</xsl:variable>
<xsl:variable name="show-tc" select="not(boolean(number($hide-tc)))"/>
<xsl:if test="$show-tc">
<xsl:call-template name="testcase-detailed">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="$start-nr"/>
<xsl:with-param name="id" select="$id"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template match="testcase[./precondition/precondend[@fulfilled='false']]" mode="detailed">
<xsl:param name="parent-nr"/>
<xsl:param name="start-nr" select="0"/>
<xsl:param name="id"/>
<xsl:if test="$ShowFailedPreconditions">
<xsl:call-template name="testcase-detailed">
<xsl:with-param name="parent-nr" select="$parent-nr"/>
<xsl:with-param name="start-nr" select="$start-nr"/>
<xsl:with-param name="id" select="$id"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template match="testcase" mode="show-hide">
<xsl:param name="id"/>
<xsl:call-template name="show-hide-all">
<xsl:with-param name="id" select="$id"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="preparation|completion" mode="overview"/>
<xsl:template match="preparation|completion" mode="testmodule">
<xsl:param name="id"/>
<xsl:call-template name="preparation-completion">
<xsl:with-param name="containerText" select="'Test Module'"/>
<xsl:with-param name="withBeginEnd" select="true()"/>
<xsl:with-param name="id" select="concat($id, substring(name(.), 1, 1))"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="preparation|completion" mode="testgroup-overview"/>
<xsl:template match="preparation|completion" mode="testgroup">
<xsl:param name="id"/>
<xsl:call-template name="preparation-completion">
<xsl:with-param name="containerText" select="'Test Group'"/>
<xsl:with-param name="id" select="$id"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="checkbegin" mode="href-file"/>
<xsl:template match="/*" mode="report-end">
<!-- Mark for the end of the report -->
<table class="SubHeadingTable">
<tr>
<td>
<div class="Heading2">
<xsl:text>End of Report</xsl:text>
</div>
</td>
</tr>
</table>
</xsl:template>
<xsl:template match="*" mode="end">
<table class="GroupEndTable">
<tr>
<td>
<xsl:text>End of </xsl:text>
<xsl:apply-templates select="." mode="name"/>
<xsl:text>: </xsl:text>
<xsl:value-of select="title"/>
</td>
</tr>
</table>
</xsl:template>
<xsl:template match="*" mode="link-up"/>
<xsl:template match="*" mode="link-children"/>
<xsl:template name="aHrefImpl">
<xsl:param name="externalID"/>
<xsl:param name="internalID"/>
<xsl:param name="anchorText"/>
<xsl:param name="onclick"/>
<xsl:choose>
<xsl:when test="string-length($internalID) = 0">
<xsl:call-template name="aHref">
<xsl:with-param name="internalID" select="$externalID"/>
<xsl:with-param name="anchorText" select="$anchorText"/>
<xsl:with-param name="onclick" select="$onclick"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="aHref">
<xsl:with-param name="internalID" select="$internalID"/>
<xsl:with-param name="anchorText" select="$anchorText"/>
<xsl:with-param name="onclick" select="$onclick"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="showTimeStampImpl">
<xsl:param name="timeStampValue"/>
<xsl:value-of select="$timeStampValue"/>
</xsl:template>
<xsl:template name="showUpperStatisticImpl">
<xsl:param name="statisticNodeSet"/>
<xsl:text>#</xsl:text>
<xsl:apply-templates select="$statisticNodeSet" mode="checkstatistic-anchor"/>
</xsl:template>
<xsl:template name="linkFrameImpl"/>
</xsl:stylesheet>
\ No newline at end of file
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Global Settings -->
<!-- Name of subdirectory to place dependent files in. This variable -->
<!-- is automatically filled by the calling process when starting the -->
<!-- XSLT process. Don't modify it's value. -->
<!-- This subdirectory must be used for any separate files generated by -->
<!-- the stylesheet. The batch job called by the EXECUTE PRE directive -->
<!-- creates this directory if it doesn't exist yet. -->
<!-- Contains output folder for extended and multipage navigation -->
<xsl:param name="ReportPartsSubdir"/>
<!-- Same content as previous parameter but with UTF8 enconding -->
<xsl:param name="ReportPartsSubdirUTF8">
<xsl:value-of select="$ReportPartsSubdir"/>
</xsl:param>
<!-- Switch output of ident of structure elements depending on report type-->
<!-- (would be true for testmodule reports) -->
<xsl:variable name="StructureIdents" select="true()"/>
<!-- Verbosity Level: Defines up to which level the details of teststeps -->
<!-- are shown in the report -->
<xsl:variable name="TestStepMaxLevel">3</xsl:variable>
<!-- Should failed test steps always be shown, independently of the -->
<!-- level on which they were reported? -->
<xsl:variable name="IncludeFailedStepsOnAnyLevel" select="true()"/>
<!-- Depth of Indentation per level(in pixel) -->
<xsl:variable name="IndentDepth">20</xsl:variable>
<!-- Should '\n' be transformed into linebreaks in the description texts? -->
<!-- Set to true() to activate or false() to deactivate -->
<xsl:variable name="DoLinebreakTransformation" select="true()"/>
<!-- Should images in the report which are scaled and link to the image -->
<!-- file itself for full size display be opened in the same or in a new -->
<!-- window? Set to false() to disable opening new windows for image links-->
<xsl:variable name="LinkImageNewWindow" select="true()"/>
<!-- Enable special handling for "Verdict Information" xinfo blocks -->
<xsl:variable name="EnableSpecialVerdictInfo" select="count(//testcase/miscinfo/title[text()='Verdict Information']) > 0"/>
<!-- Enable up-links between check statistics -->
<xsl:variable name="CheckStatisticUpLinks" select="true()"/>
<!-- Should the automatic numbering be available? Or should the idents of test groups and test cases be used instead? -->
<!-- Set to true() to activate the automatic numbering or false() to deactivate -->
<xsl:variable name="ShowAutomaticTestModuleNumbering" select="true()"/>
<!-- Controls the which details of test cases to report, depending on the test case verdict -->
<!-- and on the filter settings in the report file, if missing assume showtestcase='true' -->
<!-- showcase='true' means the test case will have full details -->
<!-- showcase='false' means the test case does not contain any details -->
<xsl:variable name="HideNoneTestCases" select="/*/showtestcase/none[text()='false']"/>
<xsl:variable name="HidePassTestCases" select="/*/showtestcase/pass[text()='false']"/>
<xsl:variable name="HideInconTestCases" select="/*/showtestcase/inconclusive[text()='false']"/>
<xsl:variable name="HideFailTestCases" select="/*/showtestcase/fail[text()='false']"/>
<xsl:variable name="HideErrorTestCases" select="/*/showtestcase/error[text()='false']"/>
<!-- Controls wether the details of failed preconditions are reported or not -->
<xsl:variable name="ShowFailedPreconditions" select="false()"/>
<!-- Controls wether to display the testsequence as testgroup in overview section -->
<xsl:variable name="ShowSequenceAsGroup" select="false()"/>
<!-- Controls wether to display the testsequence/testcase list as testgroup in overview section -->
<xsl:variable name="ShowTestListAsGroup" select="true()"/>
<!-- Controls wether to display the additional warning column in the overview table -->
<xsl:variable name="ShowWarningMessage" select="count(//teststep[@result='warn']) > 0"/>
<!-- Controls wether to display the additional warning column in the overview table -->
<xsl:variable name="ShowWarningsInStatistics" select="count(//teststep[@result='warn' and ancestor::testcase]) > 0"/>
<!-- Number of columns in the overview table. Depends on the several variables -->
<xsl:variable name="OverviewColumnCount" select="3 + $StructureIdents + $EnableSpecialVerdictInfo + $ShowWarningsInStatistics"/>
</xsl:stylesheet>
\ No newline at end of file
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- HTML Report Generation Style Sheet -->
<!-- onepage.xslt -->
<!-- Transformation style sheet to generate a one -->
<!-- page HTML report from CAnoe's XML report file. -->
<!-- (c) 2006-2010 Vector Informatik GmbH, Stuttgart -->
<!-- Imported files -->
<xsl:include href="include/varglobal.xslt"/>
<xsl:include href="include/css.xslt"/>
<xsl:include href="include/common.xslt"/>
<xsl:include href="include/expandscript.xslt"/>
<xsl:include href="include/impl/onepage.xslt"/>
<xsl:include href="include/impl/common.xslt"/>
<xsl:output method="html" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html>
<head>
<title>
<xsl:value-of select="testmodule/title"/>
</title>
<xsl:call-template name="cssStyleDef"/>
<xsl:call-template name="expand-script"/>
</head>
<body>
<xsl:call-template name="report-body"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="utf-8"?>
<!--Vector Test Automation Editor 2.1.34.0-->
<testmodule title="Bootloader Test" version="1.0" xmlns="http://www.vector-informatik.de/CANoe/TestModule/1.27">
<preparation>
<capltestfunction name="prePareForTest" title="prePareForTest"/>
</preparation>
<capltestcase title="天鹰100升级-诊断刷写" name="bootloader_BYD"/>
</testmodule>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment