<?xml version="1.0" encoding="UTF-8"?> | |
<xsd:schema | |
targetNamespace="http://www.example.org/mindmap" | |
xmlns:mindmap="http://www.example.org/mindmap" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"> | |
<xsd:element name="map" type="mindmap:Map"/> | |
<xsd:complexType name="Map"> | |
<xsd:sequence> | |
<xsd:element maxOccurs="unbounded" minOccurs="0" name="rootTopics" type="mindmap:Topic"/> | |
<xsd:element maxOccurs="unbounded" minOccurs="0" name="relations" type="mindmap:Relationship"/> | |
<xsd:element maxOccurs="unbounded" minOccurs="0" name="resources" type="mindmap:Resource"/> | |
</xsd:sequence> | |
<xsd:attribute name="title" type="xsd:string"/> | |
</xsd:complexType> | |
<xsd:complexType name="Topic"> | |
<xsd:sequence> | |
<xsd:element maxOccurs="unbounded" minOccurs="0" name="comments" type="mindmap:Thread"/> | |
</xsd:sequence> | |
<xsd:attribute name="name" type="xsd:string"/> | |
<xsd:attribute ecore:reference="mindmap:Topic" name="subtopics"> | |
<xsd:simpleType> | |
<xsd:list itemType="xsd:anyURI"/> | |
</xsd:simpleType> | |
</xsd:attribute> | |
<xsd:attribute ecore:opposite="topics" ecore:reference="mindmap:Resource" name="resources"> | |
<xsd:simpleType> | |
<xsd:list itemType="xsd:anyURI"/> | |
</xsd:simpleType> | |
</xsd:attribute> | |
<xsd:attribute name="percentComplete" type="xsd:float"/> | |
<xsd:attribute name="priority" type="mindmap:Priority"/> | |
<xsd:attribute name="startDate" type="xsd:date"/> | |
<xsd:attribute name="endDate" type="xsd:date"/> | |
<xsd:attribute default="0" name="duration" type="xsd:float"/> | |
</xsd:complexType> | |
<xsd:complexType name="Relationship"> | |
<xsd:attribute name="label" type="xsd:string"/> | |
<xsd:attribute ecore:reference="mindmap:Topic" name="source" type="xsd:anyURI"/> | |
<xsd:attribute ecore:reference="mindmap:Topic" name="target" type="xsd:anyURI"/> | |
<xsd:attribute name="type" type="mindmap:RelationshipType"/> | |
</xsd:complexType> | |
<xsd:complexType name="Resource"> | |
<xsd:attribute name="name" type="xsd:string"/> | |
<xsd:attribute ecore:opposite="resources" ecore:reference="mindmap:Topic" name="topics"> | |
<xsd:simpleType> | |
<xsd:list itemType="xsd:anyURI"/> | |
</xsd:simpleType> | |
</xsd:attribute> | |
<xsd:attribute name="email" type="xsd:string"/> | |
<xsd:attribute ecore:opposite="author" ecore:reference="mindmap:Thread" name="comments"> | |
<xsd:simpleType> | |
<xsd:list itemType="xsd:anyURI"/> | |
</xsd:simpleType> | |
</xsd:attribute> | |
</xsd:complexType> | |
<xsd:complexType name="Thread"> | |
<xsd:sequence> | |
<xsd:element maxOccurs="unbounded" minOccurs="0" name="items" type="mindmap:ThreadItem"/> | |
</xsd:sequence> | |
<xsd:attribute ecore:opposite="comments" ecore:reference="mindmap:Resource" name="author" type="xsd:anyURI"/> | |
<xsd:attribute name="subject" type="xsd:string"/> | |
<xsd:attribute name="postDate" type="xsd:date"/> | |
</xsd:complexType> | |
<xsd:complexType name="ThreadItem"> | |
<xsd:attribute ecore:reference="mindmap:Resource" name="author" type="xsd:anyURI"/> | |
<xsd:attribute name="body" type="xsd:string"/> | |
<xsd:attribute name="itemPostDate" type="xsd:date"/> | |
</xsd:complexType> | |
<xsd:simpleType name="RelationshipType"> | |
<xsd:restriction base="xsd:string"> | |
<xsd:enumeration value="DEPENDENCY"/> | |
<xsd:enumeration value="INCLUDES"/> | |
<xsd:enumeration value="EXTENDS"/> | |
</xsd:restriction> | |
</xsd:simpleType> | |
<xsd:simpleType name="Priority"> | |
<xsd:restriction base="xsd:string"> | |
<xsd:enumeration value="ZERO"/> | |
<xsd:enumeration value="ONE"/> | |
<xsd:enumeration value="TWO"/> | |
<xsd:enumeration value="THREE"/> | |
<xsd:enumeration value="FOUR"/> | |
<xsd:enumeration value="FIVE"/> | |
</xsd:restriction> | |
</xsd:simpleType> | |
</xsd:schema> |