<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.visokio.com/xmldata" xmlns="http://www.visokio.com/xmldata" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:element name="data">
	  <xs:annotation>
	    <xs:documentation>
	      Version 2. This XML data schema defines the structure of XML data exported from the Visokio
	      Omniscope. It contains just the information required to transport pure tabular data - like
	      an XML equivalent of the CSV format.
	    </xs:documentation>
	  </xs:annotation>
	  <xs:complexType>
	    <xs:sequence>
	      <xs:element name="meta" minOccurs="0">
	        <xs:annotation>
	          <xs:documentation>
	            The meta describes the field names. If incomplete or nonexistent, names like
	            "Unnamed" are used.
	          </xs:documentation>
	        </xs:annotation>
	        <xs:complexType>
	          <xs:sequence>
	            <xs:element name="column" minOccurs="0" maxOccurs="unbounded">
	              <xs:annotation>
	                <xs:documentation>Each column specifies a field in the data.</xs:documentation>
	              </xs:annotation>
	              <xs:complexType>
	                <xs:attribute name="name" type="xs:string" use="optional">
	                  <xs:annotation>
	                    <xs:documentation>
	                      This is the column (or field) name, which must be unique across all
	                      columns. It can contain spaces and numbers if required.
	                    </xs:documentation>
	                  </xs:annotation>
	                </xs:attribute>
	                <xs:attribute name="type" use="optional">
	                  <xs:annotation>
	                    <xs:documentation>
	                      As of V2 of the schema, ignored. Previously specified a strict data type
	                      for the column.
	                    </xs:documentation>
	                  </xs:annotation>
	                  <xs:simpleType>
	                    <xs:restriction base="xs:NMTOKEN">
	                      <xs:enumeration value="decimal">
	                        <xs:annotation>
	                          <xs:documentation>
	                            Before V2, this meant: A decimal column contains decimal data
	                            formatted with a decimal point (.) and optional thousand separator
	                            (,).
	                          </xs:documentation>
	                        </xs:annotation>
	                      </xs:enumeration>
	                      <xs:enumeration value="integer">
	                        <xs:annotation>
	                          <xs:documentation>
	                            Before V2, this meant: An integer column contains integer data
	                            formatted with an optional thousand separator (,).
	                          </xs:documentation>
	                        </xs:annotation>
	                      </xs:enumeration>
	                      <xs:enumeration value="text">
	                        <xs:annotation>
	                          <xs:documentation>
	                            Before V2, this meant: A text column contains arbitrary character
	                            data
	                          </xs:documentation>
	                        </xs:annotation>
	                      </xs:enumeration>
	                      <xs:enumeration value="date">
	                        <xs:annotation>
	                          <xs:documentation>
	                            Before V2, this meant: A date column contains a date formatted in
	                            the same visible format as shown in the Omniscope at time of export.
	                            This will be the same format it was originally parsed in, or the
	                            default date format for the system.
	                          </xs:documentation>
	                        </xs:annotation>
	                      </xs:enumeration>
	                    </xs:restriction>
	                  </xs:simpleType>
	                </xs:attribute>
	              </xs:complexType>
	            </xs:element>
	          </xs:sequence>
	          <xs:attribute name="rows" type="xs:integer" use="optional">
	            <xs:annotation>
	              <xs:documentation>
	                As of V2 of the schema, ignored. Before V2, this meant: The number of rows (or
	                records) in the dataset.
	              </xs:documentation>
	            </xs:annotation>
	          </xs:attribute>
	          <xs:attribute name="columns" type="xs:integer" use="optional">
	            <xs:annotation>
	              <xs:documentation>
	                As of V2 of the schema, ignored. Before V2, this meant: The number of columns
	                (or fields) in this dataset.
	              </xs:documentation>
	            </xs:annotation>
	          </xs:attribute>
	          <xs:attribute name="name" type="xs:string" use="optional">
	            <xs:annotation>
	              <xs:documentation>
	                As of V2 of the schema, ignored. Previously: a user-friendly name for the
	                dataset.
	              </xs:documentation>
	            </xs:annotation>
	          </xs:attribute>
	        </xs:complexType>
	      </xs:element>
	      <xs:element name="row" minOccurs="0" maxOccurs="unbounded">
	        <xs:annotation>
	          <xs:documentation>
	            Each row is a record, and contains cells in the same order as optionally described
	            in the meta element.
	          </xs:documentation>
	        </xs:annotation>
	        <xs:complexType>
	          <xs:sequence>
	            <xs:element name="cell" type="xs:string" minOccurs="0" maxOccurs="unbounded">
	              <xs:annotation>
	                <xs:documentation>
	                  The cell contains a single value, respective to the columns which may have
	                  been described in the meta element.
	                </xs:documentation>
	              </xs:annotation>
	            </xs:element>
	          </xs:sequence>
	        </xs:complexType>
	      </xs:element>
	    </xs:sequence>
	  </xs:complexType>
	</xs:element>
</xs:schema>

