main
1<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2<!-- NCoverExplorer (c) 2007 Grant Drake. -->
3<!-- Schema for configuration file to be passed to NCoverExplorer-Console.exe using /config: switch -->
4<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
5 <xs:element name="ConsoleSetting">
6 <xs:complexType>
7 <xs:sequence>
8 <!-- Title name to appear on the report (equivalent to /project:xx). Default is blank. -->
9 <xs:element name="ProjectName" type="xs:string" minOccurs="0" maxOccurs="1" />
10 <!-- Threshold for acceptance criteria for coverage reports detailing acceptable coverage levels. Default is 95% -->
11 <xs:element name="SatisfactoryCoverageThreshold" type="xs:decimal" minOccurs="0" maxOccurs="1" />
12 <!-- Threshold for acceptance criteria for coverage reports detailing acceptable coverage as #seqPts rather than %. Default is 0. -->
13 <xs:element name="SatisfactoryUnvisitedSequencePoints" type="xs:decimal" minOccurs="0" maxOccurs="1" />
14 <!-- Threshold for acceptance criteria for coverage reports detailing acceptable function coverage levels. Default is 80% -->
15 <xs:element name="SatisfactoryFunctionThreshold" type="xs:decimal" minOccurs="0" maxOccurs="1" />
16 <!-- Filtering to be applied to the results. Use integer (starting from 0=None) or named value. Default is "None". -->
17 <xs:element name="TreeFilterStyle" minOccurs="0" maxOccurs="1">
18 <xs:simpleType>
19 <xs:restriction base="xs:string">
20 <xs:enumeration value="None" />
21 <xs:enumeration value="HideUnvisited" />
22 <xs:enumeration value="HideFullyCovered" />
23 <xs:enumeration value="HideThresholdCovered" />
24 </xs:restriction>
25 </xs:simpleType>
26 </xs:element>
27 <!-- Sorting to be applied to the results. Use integer (starting from 0=Name) or named value. Default is "Name". -->
28 <xs:element name="TreeSortStyle" minOccurs="0" maxOccurs="1">
29 <xs:simpleType>
30 <xs:restriction base="xs:string">
31 <xs:enumeration value="Name" />
32 <xs:enumeration value="ClassLine" />
33 <xs:enumeration value="CoveragePercentageAscending" />
34 <xs:enumeration value="CoveragePercentageDescending" />
35 <xs:enumeration value="UnvisitedSequencePointsAscending" />
36 <xs:enumeration value="UnvisitedSequencePointsDescending" />
37 <xs:enumeration value="VisitCountAscending" />
38 <xs:enumeration value="VisitCountDescending" />
39 <xs:enumeration value="FunctionCoverageAscending" />
40 <xs:enumeration value="FunctionCoverageDescending" />
41 </xs:restriction>
42 </xs:simpleType>
43 </xs:element>
44 <!-- Coverage exclusions to exclude specified assemblies, namespaces, classes and/or methods. -->
45 <xs:element name="CoverageExclusions" minOccurs="0" maxOccurs="1">
46 <xs:complexType>
47 <xs:sequence>
48 <xs:element ref="CoverageExclusion" maxOccurs="unbounded" />
49 </xs:sequence>
50 </xs:complexType>
51 </xs:element>
52 <!-- Module specific coverage thresholds if wanting more granular coverage tolerances. -->
53 <xs:element name="ModuleThresholds" minOccurs="0" maxOccurs="1">
54 <xs:complexType>
55 <xs:sequence>
56 <xs:element ref="ModuleThreshold" maxOccurs="unbounded" />
57 </xs:sequence>
58 </xs:complexType>
59 </xs:element>
60 <!-- Names of the coverage files to merge/report on. Wildcards can be used. -->
61 <xs:element name="CoverageFileNames" minOccurs="1" maxOccurs="1">
62 <xs:complexType>
63 <xs:sequence>
64 <xs:element name="CoverageFileName" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
65 </xs:sequence>
66 </xs:complexType>
67 </xs:element>
68 <!-- Report to be generated by running NCoverExplorer.Console. Default is "None". -->
69 <xs:element name="ReportType" minOccurs="0" maxOccurs="1">
70 <xs:simpleType>
71 <xs:restriction base="xs:string">
72 <xs:enumeration value="None" />
73 <xs:enumeration value="ModuleSummary" />
74 <xs:enumeration value="ModuleNamespaceSummary" />
75 <xs:enumeration value="ModuleClassSummary" />
76 <xs:enumeration value="ModuleClassFunctionSummary" />
77 </xs:restriction>
78 </xs:simpleType>
79 </xs:element>
80 <!-- File name for the output HTML report if wanting to generate one. -->
81 <xs:element name="HtmlReportFileName" type="xs:string" minOccurs="0" maxOccurs="1" />
82 <!-- File name for the output XML report if wanting to generate one. -->
83 <xs:element name="XmlReportFileName" type="xs:string" minOccurs="0" maxOccurs="1" />
84 <!-- File name for the output merged coverage.xml file if any resulting from merging the inputs. -->
85 <xs:element name="MergeFileName" type="xs:string" minOccurs="0" maxOccurs="1" />
86 <!-- Whether to show the excluded elements in the footer of the output report if being generated. Default is false. -->
87 <xs:element name="ShowExcludedFooter" type="xs:boolean" minOccurs="0" maxOccurs="1" />
88 <!-- Whether to return a failure exit code if any module is below the minimum coverage threshold. Default is false. -->
89 <xs:element name="FailIfBelowMinimum" type="xs:boolean" minOccurs="0" maxOccurs="1" />
90 <!-- Whether to return a failure exit code if total coverage is below the minimum coverage threshold. Default is false. -->
91 <xs:element name="FailIfBelowCombinedMinimum" type="xs:boolean" minOccurs="0" maxOccurs="1" />
92 <!-- For use with the FailIfXXX options - the minimum coverage threshold if not specifying at the module level. -->
93 <xs:element name="MinimumCoverage" type="xs:decimal" minOccurs="0" maxOccurs="1" />
94 <!-- Whether to suppress virtually all console output when running. Default is false. -->
95 <xs:element name="NoLog" type="xs:boolean" minOccurs="0" maxOccurs="1" />
96 </xs:sequence>
97 </xs:complexType>
98 </xs:element>
99 <xs:element name="CoverageExclusion">
100 <xs:complexType>
101 <xs:sequence>
102 <xs:element name="ExclusionType" minOccurs="1" maxOccurs="1">
103 <xs:simpleType>
104 <xs:restriction base="xs:string">
105 <xs:enumeration value="Assembly" />
106 <xs:enumeration value="Namespace" />
107 <xs:enumeration value="Class" />
108 <xs:enumeration value="Method" />
109 </xs:restriction>
110 </xs:simpleType>
111 </xs:element>
112 <xs:element name="Pattern" type="xs:string" minOccurs="1" maxOccurs="1" />
113 <xs:element name="IsRegex" type="xs:boolean" minOccurs="0" maxOccurs="1" />
114 </xs:sequence>
115 </xs:complexType>
116 </xs:element>
117 <xs:element name="ModuleThreshold">
118 <xs:complexType>
119 <xs:attribute name="ModuleName" use="required" type="xs:string" />
120 <xs:attribute name="SatisfactoryCoverage" use="required" type="xs:decimal" />
121 </xs:complexType>
122 </xs:element>
123</xs:schema>