<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright 1994-2005 Mindjet LLC. All rights reserved.

The presentation, distribution or other dissemination of the
information contained herein by Mindjet is not a license,
either expressly or impliedly, to any intellectual property owned or
controlled by Mindjet.

This document and the information contained herein is provided on an
"AS IS" basis and to the maximum extent permitted by applicable law,
Mindjet provides the document AS IS AND WITH ALL FAULTS, and hereby
disclaims all other warranties and conditions, either express, implied
or statutory, including, but not limited to, any (if any) implied
warranties, duties or conditions of merchantability, of fitness for a
particular purpose, of accuracy or completeness of responses, of
results, of workmanlike effort, of lack of viruses, and of lack of
negligence, all with regard to the document. ALSO, THERE IS NO
WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION,
CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THE
DOCUMENT.

IN NO EVENT WILL MINDJET BE LIABLE TO ANY OTHER PARTY FOR THE COST
OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST PROFITS, LOSS OF USE,
LOSS OF DATA, OR ANY INCIDENTAL, CONSEQUENTIAL, DIRECT, INDIRECT, OR
SPECIAL DAMAGES WHETHER UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE,
ARISING IN ANY WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS
DOCUMENT, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF THE
POSSIBILITY OF SUCH DAMAGES. 
-->
<xsd:schema targetNamespace="http://schemas.mindjet.com/MindManager/Core/2003" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cor="http://schemas.mindjet.com/MindManager/Core/2003" elementFormDefault="qualified" attributeFormDefault="unqualified" version="7.0.0.4-r">
  <xsd:annotation>
    <xsd:documentation>MindManager core schema</xsd:documentation>
  </xsd:annotation>
  <xsd:annotation>
    <xsd:documentation>*** Core simple types ***</xsd:documentation>
  </xsd:annotation>
  <xsd:simpleType name="UniqueId">
    <xsd:annotation>
      <xsd:documentation>Globally unique identifier</xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:base64Binary">
      <xsd:length value="16" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="IndexPath">
    <xsd:annotation>
      <xsd:documentation>Index path to the property within stack of containing group properties; used in shallow property references; represented in form of index array where last element is an index of pointing property and all preceding indexes describe path through stack of containing group properties</xsd:documentation>
    </xsd:annotation>
    <xsd:list itemType="xsd:unsignedInt" />
  </xsd:simpleType>
  <xsd:simpleType name="Bitset">
    <xsd:annotation>
      <xsd:documentation>64-bit universal bit set</xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:hexBinary">
      <xsd:length value="8" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:annotation>
    <xsd:documentation>*** Property and Property based types ***</xsd:documentation>
  </xsd:annotation>
  <xsd:complexType name="Property" abstract="true" final="restriction">
    <xsd:annotation>
      <xsd:documentation>Property; should be contained by an object or a group property; generic property represents atomic application content with no identity; is a base for all properties; is abstract</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="Dirty" type="cor:Bitset" use="optional" />
  </xsd:complexType>
  <xsd:complexType name="Value" abstract="true" final="restriction">
    <xsd:annotation>
      <xsd:documentation>Property that contains value attributes; is a base for all properties; is abstract</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="cor:Property" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="Multiple" abstract="true" final="restriction">
    <xsd:annotation>
      <xsd:documentation>Property that may occur more than one time inside of an object or a group property; is a base for specific multiple properties; is abstract</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="cor:Value">
        <xsd:attribute name="Index" type="xsd:unsignedInt" use="required" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="Group" abstract="true" final="restriction">
    <xsd:annotation>
      <xsd:documentation>Property that contains a group of other properties; is a base for specific group properties; is abstract</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="cor:Property" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="Custom" final="#all">
    <xsd:annotation>
      <xsd:documentation>Property that contains ad-hoc attributes and elements from other namespaces; is final</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="cor:Multiple">
        <xsd:sequence>
          <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
        <xsd:attribute name="Uri" type="xsd:anyURI" use="required" />
        <xsd:anyAttribute namespace="##any" processContents="lax" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="OneObject" abstract="true" final="restriction">
    <xsd:annotation>
      <xsd:documentation>Property that contains zero or one object; is a base for type specific object properties; is abstract</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="cor:Property" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="Objects" abstract="true" final="restriction">
    <xsd:annotation>
      <xsd:documentation>Property that contains zero or more objects; is a base for type specific objects properties; is abstract</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="cor:Property" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="BinaryData" abstract="true" final="restriction">
    <xsd:annotation>
      <xsd:documentation>Property that contains or references binary block; is a base for binary block containing properties; is abstract</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="cor:Value">
        <xsd:choice>
          <xsd:element name="Base64" type="xsd:base64Binary" nillable="true" minOccurs="0" />
          <xsd:element name="Uri" type="xsd:anyURI" nillable="true" minOccurs="0" />
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="PlainTextData" abstract="true" final="restriction">
    <xsd:annotation>
      <xsd:documentation>Property that contains plain text block; is a base for plain text block containing properties; is abstract</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="cor:Value">
        <xsd:sequence>
          <xsd:element name="PlainText" type="xsd:string" nillable="true" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="XhtmlData" abstract="true" final="restriction">
    <xsd:annotation>
      <xsd:documentation>Property that contains XHTML text block; is a base for XHTML text block containing properties; is abstract</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="cor:Value">
        <xsd:sequence>
          <xsd:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="Baselines" final="#all">
    <xsd:annotation>
      <xsd:documentation>Property that contains set of indexed synchronization baselines; is final</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="cor:Property">
        <xsd:sequence>
          <xsd:element name="Baseline" type="cor:Baseline" minOccurs="0" maxOccurs="63" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="Baseline" final="#all">
    <xsd:annotation>
      <xsd:documentation>Synchronization baseline; is an internal part of Baselines property; is final</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="Index" type="xsd:unsignedInt" use="required" />
    <xsd:attribute name="BId" type="cor:UniqueId" use="required" />
  </xsd:complexType>
  <xsd:annotation>
    <xsd:documentation>*** Object type ***</xsd:documentation>
  </xsd:annotation>
  <xsd:complexType name="Object" abstract="true" final="restriction">
    <xsd:annotation>
      <xsd:documentation>Object with identity and generation mask; should be either global or contained by one object property or objects property; generic object represents identified object with specific set of properties; is a base for all objects; is abstract</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="Custom" type="cor:Custom" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:attribute name="OId" type="cor:UniqueId" use="optional" />
    <xsd:attribute name="POId" type="cor:UniqueId" use="optional" />
    <xsd:attribute name="Gen" type="cor:Bitset" use="optional" />
    <xsd:attribute name="Dirty" type="cor:Bitset" use="optional" />
  </xsd:complexType>
  <xsd:annotation>
    <xsd:documentation>*** Clip and ClipObject type ***</xsd:documentation>
  </xsd:annotation>
  <xsd:complexType name="Clip" final="#all">
    <xsd:annotation>
      <xsd:documentation>Clip that contains zero or more clip objects; represents clipboard content; is final</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="ClipObject" type="cor:ClipObject" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ClipObject" final="#all">
    <xsd:annotation>
      <xsd:documentation>Clip object that contains object itself with its location described with containing object reference and containing property reference; represents one generic object contained by clip; is final</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="Object" type="cor:Object" />
      <xsd:element name="ParentObjectReference" type="cor:ObjectReference" minOccurs="0" />
      <xsd:element name="ContainingPropertyReference" type="cor:PropertyReference" minOccurs="0" />
    </xsd:sequence>
    <xsd:attribute name="IndexInProperty" type="xsd:unsignedInt" use="optional" />
  </xsd:complexType>
  <xsd:annotation>
    <xsd:documentation>*** Clip element ***</xsd:documentation>
  </xsd:annotation>
  <xsd:element name="Clip" type="cor:Clip">
    <xsd:annotation>
      <xsd:documentation>Clip global element</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:annotation>
    <xsd:documentation>*** Reference types ***</xsd:documentation>
  </xsd:annotation>
  <xsd:complexType name="ObjectReference" final="#all">
    <xsd:annotation>
      <xsd:documentation>Reference to object identified by object's unique identifier; should reference zero (unresolved reference) or one object; is final</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="OIdRef" type="cor:UniqueId" use="required" />
  </xsd:complexType>
  <xsd:complexType name="PropertyReference" final="#all">
    <xsd:annotation>
      <xsd:documentation>Reference to property identified by qualified name, containing property reference and index path; may be shallow or deep; is final</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="ContainingPropertyReference" type="cor:PropertyReference" minOccurs="0" />
    </xsd:sequence>
    <xsd:attribute name="QualifiedName" type="xsd:QName" use="required" />
    <xsd:attribute name="IndexPath" type="cor:IndexPath" use="optional" default="0" />
    <xsd:attribute name="UniqueIndex" type="cor:UniqueId" use="optional"/>
  </xsd:complexType>
</xsd:schema>
