<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.vitalab.tuwien.ac.at/vimocos/hierarchy" targetNamespace="http://www.vitalab.tuwien.ac.at/vimocos/hierarchy" elementFormDefault="qualified">	
	<xs:element name="Hierarchy">
	<xs:complexType>
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="maxdepth" type="depthdef"/>
			<xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
			<xs:element name="topLevel" type="Level" minOccurs="1" maxOccurs="1"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>
		<xs:attribute name="version" type="xs:string" use="required"/>
		<!--<xs:attribute name="entitytype" type="entitytypedef" use="required"/>-->
		<xs:attribute name="aboutentity" type="xs:string"/>
	</xs:complexType>
	</xs:element>
	<xs:complexType name="Level">
		<xs:sequence>
			<xs:element name="levelname" type="xs:string" minOccurs="1" maxOccurs="1"/>
			<xs:element name="leveldescription" type="xs:string" minOccurs="0" maxOccurs="1"/>			
			<xs:element name="values" type="Value" minOccurs="0" maxOccurs="unbounded"/>	
			<xs:element name="childlevel" type="Level"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>				
	</xs:complexType>
	<xs:complexType name="Value">
		<xs:sequence>									
			<xs:any namespace="##other" minOccurs="0" maxOccurs="1"/>			
		</xs:sequence>
		<xs:attribute name="parent" type="xs:string"/>
		<xs:attribute name="id" type="xs:string" use="required"/>
	</xs:complexType>		
	<xs:simpleType name="entitytypedef">
		<xs:restriction base="xs:string">
			<xs:enumeration value="people"/>
			<xs:enumeration value="places"/>
			<xs:enumeration value="things"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="depthdef">
		<xs:restriction base="xs:int">
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>	
</xs:schema>

