<?xml version="1.0" encoding="UTF-8"?>
<!-- source: https://github.com/checkstyle/checkstyle/blob/master/config/checkstyle-report-1.0.0.xsd -->
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="checkstyle" type="checkstyleType"/>

  <xs:complexType name="checkstyleType">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element minOccurs="0" maxOccurs="unbounded" name="file" type="fileType"/>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="exception" type="xs:string"/>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="error" type="errorType"/>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="version" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="fileType">
    <xs:sequence minOccurs="0" maxOccurs="unbounded">
      <xs:element minOccurs="0" maxOccurs="unbounded" name="error" type="errorType"/>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="exception" type="xs:string"/>
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required"/>
  </xs:complexType>

  <xs:complexType name="errorType">
    <xs:attribute name="column" type="xs:positiveInteger"/>
    <xs:attribute name="line" type="xs:positiveInteger"/>
    <xs:attribute name="message" type="xs:string"/>
    <xs:attribute name="severity" type="severityType"/>
    <xs:attribute name="source" type="xs:string"/>
  </xs:complexType>

  <xs:simpleType name="severityType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="error"/>
      <xs:enumeration value="warning"/>
      <xs:enumeration value="info"/>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>
