代码覆盖率 XSD

下面是用于验证代码覆盖率工具生成的 XML 的代码覆盖率 XSD。 本文档位于以下位置:<CA Framework installation>\CodeAnalysis\CodeCoverage.xsd

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="data" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="coverage">
    <xs:complexType>
      <!--type will be method when defined as a child to class or line when defined as a child to method-->
      <xs:attribute name="type" type="xs:string" />
      <!--hits for the definition file will be 0, the update file will define the hits count-->
      <xs:attribute name="hits" type="xs:string" />
      <!--the total count will be sent with both the definition and update file, both counts will match-->
      <xs:attribute name="total" type="xs:string" />
      <!--this will be an empty string for the definition file, the line numbers will be sent in the update file delimited by a colon-->
      <xs:attribute name="lines" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="data">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="coverage" />
        <xs:element name="class">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="sourcefile" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <!--full path to the code file-->
                  <xs:attribute name="name" type="xs:string" />
                </xs:complexType>
              </xs:element>
              <xs:element ref="coverage" minOccurs="0" maxOccurs="unbounded" />
              <xs:element name="method" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element ref="coverage" minOccurs="0" maxOccurs="unbounded" />
                  </xs:sequence>
                  <!--
                  	<field_signature> ::= <field_type>
                  	<field_type>      ::= <base_type>|<object_type>|<array_type>
                  	<base_type>       ::= B|C|D|F|I|J|S|Z
                  	<object_type>     ::= L<fullclassname>;
                  	<array_type>      ::= [<field_type>

                  	The meaning of the base types is as follows:
                  	B byte signed byte
                  	C char character
                  	D double double precision IEEE float
                  	F float single precision IEEE float
                  	I int integer
                  	J long long integer
                  	L<fullclassname>; ... an object of the given class
                  	S short signed short
                  	Z boolean true or false
                  	[<field sig> ... array
                  	
                  	example signature for a java method 'doctypeDecl' with 3 string params and a return type void
                  	
                  		doctypeDecl : (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
                  		
                  	refer to org.apache.bcel.classfile.Utility for more information on signatureToString
                  -->
                  <xs:attribute name="name" type="xs:string" />
                  <!--method invokation count, this will be 0 for the definition file-->
                  <xs:attribute name="inv" type="xs:string" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="name" type="xs:string" />
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>