﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="SentientStats">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Stat" maxOccurs="128"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Stat">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Parameters"/>
      </xs:sequence>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="desc" type="xs:string" use="required"/>
      <xs:attribute name="type" type="statType"  use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Parameters">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Param" maxOccurs="20"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Param">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="type" type="paramType" use="required"/>
      <xs:attribute name="op" type="operator" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:simpleType name ="statType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="event"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name ="paramType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="int"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name ="operator">
    <xs:restriction base="xs:string">
      <xs:enumeration value="none"/>
      <xs:enumeration value="accumulate"/>
      <xs:enumeration value="increment"/>
      <xs:enumeration value="min"/>
      <xs:enumeration value="max"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
