<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0" ns="" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <start>
    <element name="results">
      <attribute name="version">
        <choice>
          <value type="string">2</value>
        </choice>
      </attribute>
      <element name="cppcheck">
        <attribute name="version">
          <data type="string">
            <param name="pattern">[1-9]\.[0-9]+.*</param>
          </data>
        </attribute>
      </element>
      <element name="errors">
        <zeroOrMore>
          <element name="error">
            <attribute name="id">
              <data type="NCName"/>
            </attribute>
            <optional>
              <attribute name="inconclusive">
                <data type="boolean"/>
              </attribute>
            </optional>
            <attribute name="msg">
              <data type="string"/>
            </attribute>
            <attribute name="severity">
              <choice>
                <value type="string">error</value>
                <value type="string">information</value>
                <value type="string">performance</value>
                <value type="string">portability</value>
                <value type="string">style</value>
                <value type="string">warning</value>
              </choice>
            </attribute>
            <attribute name="verbose">
              <data type="string"/>
            </attribute>
            <optional>
              <attribute name="file0">
                <data type="string"/>
              </attribute>
            </optional>
            <optional>
              <attribute name="cwe">
                <data type="integer">
                  <param name="minExclusive">0</param>
                </data>
              </attribute>
            </optional>
            <optional>
              <attribute name="hash">
                <data type="integer">
                  <param name="minExclusive">1</param>
                </data>
              </attribute>
            </optional>
            <zeroOrMore>
              <element name="location">
                <attribute name="file">
                  <data type="string"/>
                </attribute>
                <attribute name="line">
                  <data type="integer">
                    <param name="minInclusive">0</param>
                  </data>
                </attribute>
                <attribute name="column">
                  <data type="integer">
                    <param name="minInclusive">0</param>
                  </data>
                </attribute>
                <optional>
                  <attribute name="info">
                    <data type="string"/>
                  </attribute>
                </optional>
              </element>
            </zeroOrMore>
            <zeroOrMore>
              <element name="symbol">
                <data type="string"/>
              </element>
            </zeroOrMore>
          </element>
        </zeroOrMore>
      </element>
    </element>
  </start>
</grammar>