<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <!--
    chart_table.rnc
      relaxng schema for CodeSonar's XML output
      generated via template chart_table.xml
  -->
  <!--
    relaxng schema for CodeSonar's XML output
    chart_tablerow is used for tables generated from charts
  -->
  <xs:element name="row">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="analysis_address"/>
        <xs:element ref="analysis_description"/>
        <xs:element ref="analysis_finished"/>
        <xs:element ref="analysis_id"/>
        <xs:element ref="analysis_machine"/>
        <xs:element ref="analysis_modified"/>
        <xs:element ref="analysis_name"/>
        <xs:element ref="analysis_started"/>
        <xs:element ref="analysis_user"/>
        <xs:element ref="analysis_warning_count"/>
        <xs:element ref="directory"/>
        <xs:element ref="file_full_path"/>
        <xs:element ref="file_language"/>
        <xs:element ref="file_name"/>
        <xs:element ref="language"/>
        <xs:element ref="owner_email"/>
        <xs:element ref="owner_name"/>
        <xs:element ref="procedure"/>
        <xs:element ref="project_created"/>
        <xs:element ref="project_description"/>
        <xs:element ref="project_id"/>
        <xs:element ref="project_name"/>
        <xs:element ref="significance"/>
        <xs:element ref="warning_class"/>
        <xs:element ref="warning_finding"/>
        <xs:element ref="warning_priority"/>
        <xs:element ref="warning_state"/>
        <xs:element ref="number_of_files"/>
        <xs:element ref="number_of_lines"/>
        <xs:element ref="number_of_warnings"/>
        <xs:element ref="metric"/>
      </xs:choice>
      <xs:attribute name="url" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="analysis_address" type="xs:string"/>
  <xs:element name="analysis_description" type="xs:string"/>
  <xs:element name="analysis_finished" type="xs:string"/>
  <xs:element name="analysis_id" type="xs:string"/>
  <xs:element name="analysis_machine" type="xs:string"/>
  <xs:element name="analysis_modified" type="xs:string"/>
  <xs:element name="analysis_name" type="xs:string"/>
  <xs:element name="analysis_started" type="xs:string"/>
  <xs:element name="analysis_user" type="xs:string"/>
  <xs:element name="analysis_warning_count" type="xs:string"/>
  <xs:element name="directory" type="xs:string"/>
  <xs:element name="file_full_path" type="xs:string"/>
  <xs:element name="file_language" type="xs:string"/>
  <xs:element name="file_name" type="xs:string"/>
  <xs:element name="language" type="xs:string"/>
  <xs:element name="owner_email" type="xs:string"/>
  <xs:element name="owner_name" type="xs:string"/>
  <xs:element name="procedure" type="xs:string"/>
  <xs:element name="project_created" type="xs:string"/>
  <xs:element name="project_description" type="xs:string"/>
  <xs:element name="project_id" type="xs:string"/>
  <xs:element name="project_name" type="xs:string"/>
  <xs:element name="significance" type="xs:string"/>
  <xs:element name="warning_class" type="xs:string"/>
  <xs:element name="warning_finding" type="xs:string"/>
  <xs:element name="warning_priority" type="xs:string"/>
  <xs:element name="warning_state" type="xs:string"/>
  <xs:element name="number_of_files" type="xs:string"/>
  <xs:element name="number_of_lines" type="xs:string"/>
  <xs:element name="number_of_warnings" type="xs:string"/>
  <xs:element name="metric">
    <xs:complexType mixed="true">
      <xs:attribute name="name" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="table">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="row"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
