Check Complete (location based)
The Check Complete / Check Complete 2 file is a configuration file for the location based Check Complete Quality Gate check. The schema and example provided illustrates how to structure the Check Complete XML file.
Location based schema
Click to unfold
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="TestConfig" targetNamespace="http://tempuri.org/TestConfig.xsd" xmlns:mstns="http://tempuri.org/TestConfig.xsd" xmlns="http://tempuri.org/TestConfig.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:annotation>
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
<DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<Connections />
<Tables />
<Sources />
</DataSource>
</xs:appinfo>
</xs:annotation>
<xs:element name="TestConfig" msdata:IsDataSet="true" msdata:Locale="en-US" msprop:Generator_DataSetName="TestConfig" msprop:Generator_UserDSName="TestConfig">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Location" msprop:Generator_TableClassName="LocationDataTable" msprop:Generator_TableVarName="tableLocation" msprop:Generator_TablePropName="Location" msprop:Generator_RowDeletingName="LocationRowDeleting" msprop:Generator_RowChangingName="LocationRowChanging" msprop:Generator_RowEvHandlerName="LocationRowChangeEventHandler" msprop:Generator_RowDeletedName="LocationRowDeleted" msprop:Generator_UserTableName="Location" msprop:Generator_RowChangedName="LocationRowChanged" msprop:Generator_RowEvArgName="LocationRowChangeEvent" msprop:Generator_RowClassName="LocationRow" maxOccurs="79228162514264337593543950335">
<xs:complexType>
<xs:sequence>
<xs:element name="LocationID" msprop:Generator_ColumnVarNameInTable="columnLocationID" msprop:Generator_ColumnPropNameInRow="LocationID" msprop:Generator_ColumnPropNameInTable="LocationIDColumn" msprop:Generator_UserColumnName="LocationID" type="xs:unsignedLong" />
<xs:element name="LineNo" msprop:Generator_ColumnVarNameInTable="columnLineNo" msprop:Generator_ColumnPropNameInRow="LineNo" msprop:Generator_ColumnPropNameInTable="LineNoColumn" msprop:Generator_UserColumnName="LineNo" type="xs:int" />
<xs:element name="StatNo" msprop:Generator_ColumnVarNameInTable="columnStatNo" msprop:Generator_ColumnPropNameInRow="StatNo" msprop:Generator_ColumnPropNameInTable="StatNoColumn" msprop:Generator_UserColumnName="StatNo" type="xs:int" />
<xs:element name="StatIdx" msprop:Generator_ColumnVarNameInTable="columnStatIdx" msprop:Generator_ColumnPropNameInRow="StatIdx" msprop:Generator_ColumnPropNameInTable="StatIdxColumn" msprop:Generator_UserColumnName="StatIdx" type="xs:int" />
<xs:element name="FuNo" msprop:Generator_ColumnVarNameInTable="columnFuNo" msprop:Generator_ColumnPropNameInRow="FuNo" msprop:Generator_ColumnPropNameInTable="FuNoColumn" msprop:Generator_UserColumnName="FuNo" type="xs:int" />
<xs:element name="WorkPos" msprop:Generator_ColumnVarNameInTable="columnWorkPos" msprop:Generator_ColumnPropNameInRow="WorkPos" msprop:Generator_ColumnPropNameInTable="WorkPosColumn" msprop:Generator_UserColumnName="WorkPos" type="xs:int" />
<xs:element name="ToolPos" msprop:Generator_ColumnVarNameInTable="columnToolPos" msprop:Generator_ColumnPropNameInRow="ToolPos" msprop:Generator_ColumnPropNameInTable="ToolPosColumn" msprop:Generator_UserColumnName="ToolPos" type="xs:int" />
<xs:element name="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_UserColumnName="Name" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TestSuite" msprop:Generator_TableClassName="TestSuiteDataTable" msprop:Generator_TableVarName="tableTestSuite" msprop:Generator_TablePropName="TestSuite" msprop:Generator_RowDeletingName="TestSuiteRowDeleting" msprop:Generator_RowChangingName="TestSuiteRowChanging" msprop:Generator_RowEvHandlerName="TestSuiteRowChangeEventHandler" msprop:Generator_RowDeletedName="TestSuiteRowDeleted" msprop:Generator_UserTableName="TestSuite" msprop:Generator_RowChangedName="TestSuiteRowChanged" msprop:Generator_RowEvArgName="TestSuiteRowChangeEvent" msprop:Generator_RowClassName="TestSuiteRow">
<xs:complexType>
<xs:sequence>
<xs:element name="TestSuiteId" msprop:Generator_ColumnVarNameInTable="columnTestSuiteId" msprop:Generator_ColumnPropNameInRow="TestSuiteId" msprop:Generator_ColumnPropNameInTable="TestSuiteIdColumn" msprop:Generator_UserColumnName="TestSuiteId" type="xs:unsignedLong" />
<xs:element name="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_UserColumnName="Name" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Test" msprop:Generator_TableClassName="TestDataTable" msprop:Generator_TableVarName="tableTest" msprop:Generator_TablePropName="Test" msprop:Generator_RowDeletingName="TestRowDeleting" msprop:Generator_RowChangingName="TestRowChanging" msprop:Generator_RowEvHandlerName="TestRowChangeEventHandler" msprop:Generator_RowDeletedName="TestRowDeleted" msprop:Generator_UserTableName="Test" msprop:Generator_RowChangedName="TestRowChanged" msprop:Generator_RowEvArgName="TestRowChangeEvent" msprop:Generator_RowClassName="TestRow">
<xs:complexType>
<xs:sequence>
<xs:element name="TestID" msprop:Generator_ColumnVarNameInTable="columnTestID" msprop:Generator_ColumnPropNameInRow="TestID" msprop:Generator_ColumnPropNameInTable="TestIDColumn" msprop:Generator_UserColumnName="TestID" type="xs:unsignedLong" />
<xs:element name="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_UserColumnName="Name" type="xs:string" minOccurs="0" />
<xs:element name="componentClass" msprop:Generator_ColumnVarNameInTable="columncomponentClass" msprop:Generator_ColumnPropNameInRow="componentClass" msprop:Generator_ColumnPropNameInTable="componentClassColumn" msprop:Generator_UserColumnName="componentClass" type="xs:string" minOccurs="0" />
<xs:element name="DataBase" msprop:Generator_ColumnVarNameInTable="columnDataBase" msprop:Generator_ColumnPropNameInRow="DataBase" msprop:Generator_ColumnPropNameInTable="DataBaseColumn" msprop:Generator_UserColumnName="DataBase" type="xs:unsignedLong" minOccurs="0" />
<xs:element name="TestGroup" msprop:Generator_ColumnVarNameInTable="columnTestGroup" msprop:Generator_ColumnPropNameInRow="TestGroup" msprop:Generator_ColumnPropNameInTable="TestGroupColumn" msprop:Generator_UserColumnName="TestGroup" type="xs:unsignedLong" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DataBase" msprop:Generator_TableClassName="DataBaseDataTable" msprop:Generator_TableVarName="tableDataBase" msprop:Generator_TablePropName="DataBase" msprop:Generator_RowDeletingName="DataBaseRowDeleting" msprop:Generator_RowChangingName="DataBaseRowChanging" msprop:Generator_RowEvHandlerName="DataBaseRowChangeEventHandler" msprop:Generator_RowDeletedName="DataBaseRowDeleted" msprop:Generator_UserTableName="DataBase" msprop:Generator_RowChangedName="DataBaseRowChanged" msprop:Generator_RowEvArgName="DataBaseRowChangeEvent" msprop:Generator_RowClassName="DataBaseRow">
<xs:complexType>
<xs:sequence>
<xs:element name="DataBaseId" msprop:Generator_ColumnVarNameInTable="columnDataBaseId" msprop:Generator_ColumnPropNameInRow="DataBaseId" msprop:Generator_ColumnPropNameInTable="DataBaseIdColumn" msprop:Generator_UserColumnName="DataBaseId" type="xs:unsignedLong" />
<xs:element name="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_UserColumnName="Name" type="xs:string" minOccurs="0" />
<xs:element name="ConnectionString" msprop:Generator_ColumnVarNameInTable="columnConnectionString" msprop:Generator_ColumnPropNameInRow="ConnectionString" msprop:Generator_ColumnPropNameInTable="ConnectionStringColumn" msprop:Generator_UserColumnName="ConnectionString" type="xs:string" minOccurs="0" />
<xs:element name="SerialNumber" msprop:Generator_ColumnVarNameInTable="columnSerialNumber" msprop:Generator_ColumnPropNameInRow="SerialNumber" msprop:Generator_ColumnPropNameInTable="SerialNumberColumn" msprop:Generator_UserColumnName="SerialNumber" type="xs:boolean" minOccurs="0" />
<xs:element name="Simulation" msprop:Generator_ColumnVarNameInTable="columnSimulation" msprop:Generator_ColumnPropNameInRow="Simulation" msprop:Generator_ColumnPropNameInTable="SimulationColumn" msprop:Generator_UserColumnName="Simulation" type="xs:boolean" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TestLocations" msprop:Generator_TableClassName="TestLocationsDataTable" msprop:Generator_TableVarName="tableTestLocations" msprop:Generator_TablePropName="TestLocations" msprop:Generator_RowDeletingName="TestLocationsRowDeleting" msprop:Generator_RowChangingName="TestLocationsRowChanging" msprop:Generator_RowEvHandlerName="TestLocationsRowChangeEventHandler" msprop:Generator_RowDeletedName="TestLocationsRowDeleted" msprop:Generator_UserTableName="TestLocations" msprop:Generator_RowChangedName="TestLocationsRowChanged" msprop:Generator_RowEvArgName="TestLocationsRowChangeEvent" msprop:Generator_RowClassName="TestLocationsRow">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" msprop:Generator_ColumnVarNameInTable="columnId" msprop:Generator_ColumnPropNameInRow="Id" msprop:Generator_ColumnPropNameInTable="IdColumn" msprop:Generator_UserColumnName="Id" type="xs:unsignedLong" />
<xs:element name="TestID" msprop:Generator_ColumnVarNameInTable="columnTestID" msprop:Generator_ColumnPropNameInRow="TestID" msprop:Generator_ColumnPropNameInTable="TestIDColumn" msprop:Generator_UserColumnName="TestID" type="xs:unsignedLong" minOccurs="0" />
<xs:element name="LocationID" msprop:Generator_ColumnVarNameInTable="columnLocationID" msprop:Generator_ColumnPropNameInRow="LocationID" msprop:Generator_ColumnPropNameInTable="LocationIDColumn" msprop:Generator_UserColumnName="LocationID" type="xs:unsignedLong" minOccurs="0" />
<xs:element name="SourceID" msprop:Generator_ColumnVarNameInTable="columnSourceID" msprop:Generator_ColumnPropNameInRow="SourceID" msprop:Generator_ColumnPropNameInTable="SourceIDColumn" msprop:Generator_UserColumnName="SourceID" type="xs:unsignedLong" minOccurs="0" />
<xs:element name="StatusID" msprop:Generator_ColumnVarNameInTable="columnStatusID" msprop:Generator_ColumnPropNameInRow="StatusID" msprop:Generator_ColumnPropNameInTable="StatusIDColumn" msprop:Generator_UserColumnName="StatusID" type="xs:int" minOccurs="0" />
<xs:element name="TargetID" msprop:Generator_ColumnVarNameInTable="columnTargetID" msprop:Generator_ColumnPropNameInRow="TargetID" msprop:Generator_ColumnPropNameInTable="TargetIDColumn" msprop:Generator_UserColumnName="TargetID" type="xs:unsignedLong" minOccurs="0" />
<xs:element name="Rank" msprop:Generator_ColumnVarNameInTable="columnRank" msprop:Generator_ColumnPropNameInRow="Rank" msprop:Generator_ColumnPropNameInTable="RankColumn" msprop:Generator_UserColumnName="Rank" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TestGroup" msprop:Generator_TableClassName="TestGroupDataTable" msprop:Generator_TableVarName="tableTestGroup" msprop:Generator_TablePropName="TestGroup" msprop:Generator_RowDeletingName="TestGroupRowDeleting" msprop:Generator_RowChangingName="TestGroupRowChanging" msprop:Generator_RowEvHandlerName="TestGroupRowChangeEventHandler" msprop:Generator_RowDeletedName="TestGroupRowDeleted" msprop:Generator_UserTableName="TestGroup" msprop:Generator_RowChangedName="TestGroupRowChanged" msprop:Generator_RowEvArgName="TestGroupRowChangeEvent" msprop:Generator_RowClassName="TestGroupRow">
<xs:complexType>
<xs:sequence>
<xs:element name="TestGroupId" msprop:Generator_ColumnVarNameInTable="columnTestGroupId" msprop:Generator_ColumnPropNameInRow="TestGroupId" msprop:Generator_ColumnPropNameInTable="TestGroupIdColumn" msprop:Generator_UserColumnName="TestGroupId" type="xs:unsignedLong" />
<xs:element name="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_UserColumnName="Name" type="xs:string" minOccurs="0" />
<xs:element name="TestSuite" msprop:Generator_ColumnVarNameInTable="columnTestSuite" msprop:Generator_ColumnPropNameInRow="TestSuite" msprop:Generator_ColumnPropNameInTable="TestSuiteColumn" msprop:Generator_UserColumnName="TestSuite" type="xs:unsignedLong" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AdditionalInfo" msprop:Generator_TableClassName="AdditionalInfoDataTable" msprop:Generator_TableVarName="tableAdditionalInfo" msprop:Generator_TablePropName="AdditionalInfo" msprop:Generator_RowDeletingName="AdditionalInfoRowDeleting" msprop:Generator_RowChangingName="AdditionalInfoRowChanging" msprop:Generator_RowEvHandlerName="AdditionalInfoRowChangeEventHandler" msprop:Generator_RowDeletedName="AdditionalInfoRowDeleted" msprop:Generator_UserTableName="AdditionalInfo" msprop:Generator_RowChangedName="AdditionalInfoRowChanged" msprop:Generator_RowEvArgName="AdditionalInfoRowChangeEvent" msprop:Generator_RowClassName="AdditionalInfoRow">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" msprop:Generator_ColumnVarNameInTable="columnId" msprop:Generator_ColumnPropNameInRow="Id" msprop:Generator_ColumnPropNameInTable="IdColumn" msprop:Generator_UserColumnName="Id" type="xs:unsignedLong" />
<xs:element name="TestLocationID" msprop:Generator_ColumnVarNameInTable="columnTestLocationID" msprop:Generator_ColumnPropNameInRow="TestLocationID" msprop:Generator_ColumnPropNameInTable="TestLocationIDColumn" msprop:Generator_UserColumnName="TestLocationID" type="xs:unsignedLong" minOccurs="0" />
<xs:element name="ParamName" msprop:Generator_ColumnVarNameInTable="columnParamName" msprop:Generator_ColumnPropNameInRow="ParamName" msprop:Generator_ColumnPropNameInTable="ParamNameColumn" msprop:Generator_UserColumnName="ParamName" type="xs:string" minOccurs="0" />
<xs:element name="ParamIntValue" msprop:Generator_ColumnVarNameInTable="columnParamIntValue" msprop:Generator_ColumnPropNameInRow="ParamIntValue" msprop:Generator_ColumnPropNameInTable="ParamIntValueColumn" msprop:Generator_UserColumnName="ParamIntValue" type="xs:int" minOccurs="0" />
<xs:element name="ParamRealValue" msprop:Generator_ColumnVarNameInTable="columnParamRealValue" msprop:Generator_ColumnPropNameInRow="ParamRealValue" msprop:Generator_ColumnPropNameInTable="ParamRealValueColumn" msprop:Generator_UserColumnName="ParamRealValue" type="xs:double" minOccurs="0" />
<xs:element name="ParamStringValue" msprop:Generator_ColumnVarNameInTable="columnParamStringValue" msprop:Generator_ColumnPropNameInRow="ParamStringValue" msprop:Generator_ColumnPropNameInTable="ParamStringValueColumn" msprop:Generator_UserColumnName="ParamStringValue" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RepositoryInfo" msprop:Generator_TableClassName="RepositoryInfoDataTable" msprop:Generator_TableVarName="tableRepositoryInfo" msprop:Generator_TablePropName="RepositoryInfo" msprop:Generator_RowDeletingName="RepositoryInfoRowDeleting" msprop:Generator_RowChangingName="RepositoryInfoRowChanging" msprop:Generator_RowEvHandlerName="RepositoryInfoRowChangeEventHandler" msprop:Generator_RowDeletedName="RepositoryInfoRowDeleted" msprop:Generator_UserTableName="RepositoryInfo" msprop:Generator_RowChangedName="RepositoryInfoRowChanged" msprop:Generator_RowEvArgName="RepositoryInfoRowChangeEvent" msprop:Generator_RowClassName="RepositoryInfoRow">
<xs:complexType>
<xs:sequence>
<xs:element name="revision" msprop:Generator_ColumnVarNameInTable="columnrevision" msprop:Generator_ColumnPropNameInRow="revision" msprop:Generator_ColumnPropNameInTable="revisionColumn" msprop:Generator_UserColumnName="revision" type="xs:string" minOccurs="0" />
<xs:element name="author" msprop:Generator_ColumnVarNameInTable="columnauthor" msprop:Generator_ColumnPropNameInRow="author" msprop:Generator_ColumnPropNameInTable="authorColumn" msprop:Generator_UserColumnName="author" type="xs:string" minOccurs="0" />
<xs:element name="commitDate" msprop:Generator_ColumnVarNameInTable="columncommitDate" msprop:Generator_ColumnPropNameInRow="commitDate" msprop:Generator_ColumnPropNameInTable="commitDateColumn" msprop:Generator_UserColumnName="commitDate" type="xs:string" minOccurs="0" />
<xs:element name="URL" msprop:Generator_ColumnVarNameInTable="columnURL" msprop:Generator_ColumnPropNameInRow="URL" msprop:Generator_ColumnPropNameInTable="URLColumn" msprop:Generator_UserColumnName="URL" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="key4">
<xs:selector xpath=".//mstns:Location" />
<xs:field xpath="mstns:LocationID" />
</xs:unique>
<xs:unique name="key2">
<xs:selector xpath=".//mstns:TestSuite" />
<xs:field xpath="mstns:TestSuiteId" />
</xs:unique>
<xs:unique name="key3">
<xs:selector xpath=".//mstns:Test" />
<xs:field xpath="mstns:TestID" />
</xs:unique>
<xs:unique name="key1">
<xs:selector xpath=".//mstns:DataBase" />
<xs:field xpath="mstns:DataBaseId" />
</xs:unique>
<xs:unique name="PK_TESTLOCATION" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:TestLocations" />
<xs:field xpath="mstns:Id" />
</xs:unique>
<xs:unique name="PK_TESTGROUP" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:TestGroup" />
<xs:field xpath="mstns:TestGroupId" />
</xs:unique>
<xs:unique name="PK_ADDITIONALINFO">
<xs:selector xpath=".//mstns:AdditionalInfo" />
<xs:field xpath="mstns:Id" />
</xs:unique>
<xs:keyref name="Rel_TestLocations_AdditionalInfo" refer="PK_TESTLOCATION" msprop:rel_Generator_UserChildTable="AdditionalInfo" msprop:rel_Generator_ChildPropName="GetAdditionalInfoRows" msprop:rel_Generator_UserRelationName="Rel_TestLocations_AdditionalInfo" msprop:rel_Generator_ParentPropName="TestLocationsRow" msprop:rel_Generator_RelationVarName="relationRel_TestLocations_AdditionalInfo" msprop:rel_Generator_UserParentTable="TestLocations">
<xs:selector xpath=".//mstns:AdditionalInfo" />
<xs:field xpath="mstns:TestLocationID" />
</xs:keyref>
<xs:keyref name="Rel_TestSuite_TestGroup" refer="key2" msprop:rel_Generator_UserChildTable="TestGroup" msprop:rel_Generator_ChildPropName="GetTestGroupRows" msprop:rel_Generator_UserRelationName="Rel_TestSuite_TestGroup" msprop:rel_Generator_ParentPropName="TestSuiteRow" msprop:rel_Generator_RelationVarName="relationRel_TestSuite_TestGroup" msprop:rel_Generator_UserParentTable="TestSuite" msdata:AcceptRejectRule="Cascade">
<xs:selector xpath=".//mstns:TestGroup" />
<xs:field xpath="mstns:TestSuite" />
</xs:keyref>
<xs:keyref name="Rel_Location_TestLocations" refer="key4" msprop:rel_Generator_UserChildTable="TestLocations" msprop:rel_Generator_ChildPropName="GetTestLocationsRows" msprop:rel_Generator_UserRelationName="Rel_Location_TestLocations" msprop:rel_Generator_ParentPropName="LocationRow" msprop:rel_Generator_RelationVarName="relationRel_Location_TestLocations" msprop:rel_Generator_UserParentTable="Location" msdata:AcceptRejectRule="Cascade">
<xs:selector xpath=".//mstns:TestLocations" />
<xs:field xpath="mstns:LocationID" />
</xs:keyref>
<xs:keyref name="Rel_Test_TestLocations" refer="key3" msprop:rel_Generator_UserChildTable="TestLocations" msprop:rel_Generator_ChildPropName="GetTestLocationsRows" msprop:rel_Generator_UserRelationName="Rel_Test_TestLocations" msprop:rel_Generator_ParentPropName="TestRow" msprop:rel_Generator_RelationVarName="relationRel_Test_TestLocations" msprop:rel_Generator_UserParentTable="Test" msdata:AcceptRejectRule="Cascade">
<xs:selector xpath=".//mstns:TestLocations" />
<xs:field xpath="mstns:TestID" />
</xs:keyref>
<xs:keyref name="Rel_TestGroup_Test" refer="PK_TESTGROUP" msprop:rel_Generator_UserChildTable="Test" msprop:rel_Generator_ChildPropName="GetTestRows" msprop:rel_Generator_UserRelationName="Rel_TestGroup_Test" msprop:rel_Generator_RelationVarName="relationRel_TestGroup_Test" msprop:rel_Generator_UserParentTable="TestGroup" msprop:rel_Generator_ParentPropName="TestGroupRow" msdata:AcceptRejectRule="Cascade">
<xs:selector xpath=".//mstns:Test" />
<xs:field xpath="mstns:TestGroup" />
</xs:keyref>
<xs:keyref name="Rel_DataBase_Test" refer="key1" msprop:rel_Generator_UserChildTable="Test" msprop:rel_Generator_ChildPropName="GetTestRows" msprop:rel_Generator_UserRelationName="Rel_DataBase_Test" msprop:rel_Generator_RelationVarName="relationRel_DataBase_Test" msprop:rel_Generator_UserParentTable="DataBase" msprop:rel_Generator_ParentPropName="DataBaseRow" msdata:AcceptRejectRule="Cascade">
<xs:selector xpath=".//mstns:Test" />
<xs:field xpath="mstns:DataBase" />
</xs:keyref>
</xs:element>
</xs:schema>
Location based example
Click to unfold
<?xml version="1.0" standalone="yes"?>
<TestConfig xmlns="http://tempuri.org/TestConfig.xsd">
<Location>
<LocationID>0</LocationID>
<LineNo>1</LineNo>
<StatNo>1</StatNo>
<StatIdx>1</StatIdx>
<FuNo>1</FuNo>
<WorkPos>1</WorkPos>
<ToolPos>1</ToolPos>
<Name>newLocation</Name>
</Location>
<TestSuite>
<TestSuiteId>0</TestSuiteId>
<Name>newTestSuite</Name>
</TestSuite>
<Test>
<TestID>0</TestID>
<Name>newTest</Name>
<componentClass />
<DataBase>0</DataBase>
<TestGroup>0</TestGroup>
</Test>
<DataBase>
<DataBaseId>0</DataBaseId>
<Name>newDataBase</Name>
<ConnectionString>connString</ConnectionString>
<SerialNumber>false</SerialNumber>
</DataBase>
<TestLocations>
<Id>0</Id>
<TestID>0</TestID>
<LocationID>0</LocationID>
<SourceID>0</SourceID>
<TargetID>0</TargetID>
</TestLocations>
<TestGroup>
<TestGroupId>0</TestGroupId>
<Name>newTestGroup</Name>
<TestSuite>0</TestSuite>
</TestGroup>
<AdditionalInfo>
<Id>0</Id>
<TestLocationID>0</TestLocationID>
<ParamName>FinalState</ParamName>
<ParamIntValue>1</ParamIntValue>
</AdditionalInfo>
<RepositoryInfo revision="$Revision: $" author="$Author: $" commitDate="$Date: $" URL="$HeadURL: $" />
</TestConfig>
Description
This section provides details about the configuration files used for the Quality Gate Checks.
Location element
This element describes the logical address or location of a process. The element has the following subelements:
Parameter | Data Type | Description |
---|---|---|
|
int |
Unique ID for the location. The content of this element must be unique within the configuration. |
|
int |
Specifies the line number. |
|
int |
Specifies the station number. |
|
int |
Specifies the station index; 0 = wildcard. |
|
int |
Specifies the function unit; 0 = wildcard. |
|
int |
Specifies the work position; 0 = wildcard. |
|
int |
Specifies the tool position; 0 = wildcard. |
|
string |
Process name. This name is used to reference the location later in the configuration. |
The content of the |
DataBase element
This element configures a data source. Within the Test Specification, multiple data sources can be assigned at the test level, meaning that quality data from different sources can be used. The DataBase
element must contain all parameters necessary for establishing a database connection.
Parameter | Data Type | Description |
---|---|---|
|
unsignedLong |
Unique ID of the data source. The content of this element must be unique within the configuration. |
|
string |
Descriptive name of the data source. |
|
string |
A string that is used to establish the connection. |
|
boolean |
The data source can interpret serial numbers. |
|
boolean |
The data source is simulated using XML files. This function is intended for testing purposes only. |
Only one data source per configuration may interpret serial numbers (SerialNumber = |
TestSuite element
This element defines a test suite. It serves as a grouping element for the various test groups in the configuration. The element contains the following sub-elements:
Parameter | Data Type | Description |
---|---|---|
|
unsignedLong |
Unique ID of the test suite. The content of this element must be unique within the configuration. |
|
string |
Descriptive name of the test suite. |
TestGroup element
This element defines a test group. Within the configuration, TestGroup
serves as a grouping mechanism for various tests. The element contains the following sub-elements:
Parameter | Data Type | Description |
---|---|---|
|
unsignedLong |
Unique ID of the test group. The content of this element must be unique within the configuration. |
|
string |
Descriptive name of the test group. |
|
unsignedLong |
Reference to a TestSuite element that contains the test suite for the test group. |
Test element
This element defines a test. It is a central element within the configuration, serving both as the grouping element for individual rules and as the means by which the origin of the data and the selection of the component to be checked is determined. The element contains the following sub-elements:
A test without configured rules (see subsequent chapter) is not applicable and is therefore ignored. Such tests are not considered in the test evaluation. |
Parameter | Data Type | Description |
---|---|---|
|
unsignedLong |
Unique ID of the test. The content of this element must be unique within the configuration. |
|
string |
Descriptive name of the test. |
|
string |
Defines the component for which the test is performed. |
|
unsignedLong |
Reference to a DataBase element that configures the database to be used. |
|
unsignedLong |
Reference to a TestGroup element that contains the test group for the test. |
In a database, result data for multiple components may be stored. It is therefore imperative to specify the correct component class. If several components with the same classification are identified, the most recently installed component is used. If the test is to be performed on a main part, the component class must be set to an empty string (""). Defining componentClass is mandatory. |
TestLocation element
This element assigns a facility to a test. This is called a rule. This element has the following sub-elements:
A test must contain at least one rule with Rank = 1. A test group must contain at least one test with at least one configured rule with Rank = 1. Otherwise, the Quality Gate Check will report an error that all tests in the test group are not applicable! |
Parameter | Data Type | Description |
---|---|---|
|
unsignedLong |
Unique ID of the rule. This ID must be unique within the configuration. |
|
unsignedLong |
ID of the test element to which the rule is assigned. |
|
unsignedLong |
ID of the associated facility. |
|
unsignedLong |
ID of the Location element that defines the preceding process. |
|
int |
Expected processing status of the process to be checked. |
|
unsignedLong |
ID of the Location element that defines the subsequent process. |
|
int |
Determines the rank at which the rule is defined. If the preceding process should not be verified, the |
AdditionalInfo element
This element allows additional conditions to be appended to a rule. These additional conditions are checked when the respective rule is applied. If one of the additional conditions fails, the rule is considered violated.
Parameter | Data Type | Description |
---|---|---|
|
unsignedLong |
Unique ID of the additional condition. The content of this element must be unique within the configuration. |
|
unsignedLong |
Reference to a TestLocations element that contains the rule for the additional condition. |
|
string |
Keyword that defines the additional condition. |
|
int |
Depending on the keyword used, the default value must be defined as an integer. |
|
double |
Depending on the keyword used, the default value must be defined as a real number. |
|
string |
Depending on the keyword used, the default value must be defined as a string. |
For additional conditions, the following keywords can be used:
Parameter Name (ParamName) | Configuration Column | Description |
---|---|---|
|
|
Checks that the final state of the part (the last station result) matches the status defined in the rule. Allowed inputs:
|
|
|
Specifies the state the part must be in. This condition refers to the overall status ( |
|
|
Specifies the state the part must not be in. This condition refers to the overall status ( |
|
|
Defines the time from which the part is considered valid. |
|
|
Specifies the minimum number of times a part must be processed at a station (regardless of status). |
|
|
Specifies the maximum number of times a part can be processed at a station (regardless of status). |
|
|
Verifies the minimum station process time against this value. |
|
|
Verifies the maximum station process time against this value. |
|
|
Specifies the maximum number of times a part can be processed at a station (depending on the status). |
|
|
Specifies the minimum number of times a part must be processed at a station (depending on the status). |
|
|
Boolean value provided as
|
Without specifying additional conditions, no specific check is performed. Only the existence of the record as defined in the rule is accepted. It is not possible to define multiple The overall result of the test groups is a logical OR combination of the tests within each group. If multiple tests within a group fail, the error cannot be attributed to a specific test. Therefore, it is recommended to create a separate test group with a test solely for monitoring time using MinTimer and MaxTimer. |