<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.stratml.net/PerformancePlanOrReport"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.stratml.net/PerformancePlanOrReport"
    elementFormDefault="qualified">
  <xs:element name="ActualResult">
    <xs:annotation>
      <xs:documentation xml:lang="EN">A measurable result achieved on or before a specified date.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="StartDate" minOccurs="0"/>
        <xs:element ref="EndDate" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AdministrativeInformation" type="AdministrativeInformationType">
    <xs:annotation>
      <xs:documentation xml:lang="EN">Useful information about strategic plans that is not essential to the plans themselves and thus not part of the core.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="Description" type="xs:string">
    <xs:annotation>
      <xs:documentation xml:lang="EN">A sentence or short paragraph defining and explaining a concept.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="EmailAddress" type="xs:string">
    <xs:annotation>
      <xs:documentation xml:lang="EN">The Email address of the person submitting the plan.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="EndDate" type="xs:date">
    <xs:annotation>
      <xs:documentation xml:lang="EN">The year, month, and day the element with which it is associated is projected to cease, if it is not subsequently extended. Typically the end of a calendar or fiscal year.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="FirstName" type="xs:string">
    <xs:annotation>
      <xs:documentation xml:lang="EN">The first name of the person submitting the plan.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="Goal">
    <xs:annotation>
      <xs:documentation xml:lang="EN">A relatively broad statement of intended results to be achieved over more than one resource allocation and performance measurement cycle.</xs:documentation>
      <xs:documentation xml:lang="EN">Supports Mission</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="GoalType">
          <xs:sequence>
            <xs:element ref="Objective" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="LastName" type="xs:string">
    <xs:annotation>
      <xs:documentation xml:lang="EN">The last name of the person submitting the plan.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="MeasurementDimension">
    <xs:annotation>
      <xs:documentation xml:lang="EN">The type of measurement.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string"/>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="MeasurementInstance">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="TargetResult" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="ActualResult" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Metric">
    <xs:annotation>
      <xs:documentation xml:lang="EN">A unit of measurement, number of units, and perhaps a frequency of measurement, e.g., of inputs, outputs, or processes.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Name"/>
        <xs:element ref="MeasurementDimension"/>
        <xs:element ref="UnitOfMeasurement"/>
        <xs:element ref="MeasurementInstance" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Mission">
    <xs:annotation>
      <xs:documentation xml:lang="EN">A brief description of the basic purpose of the organization.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Description" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Name" type="xs:string">
    <xs:annotation>
      <xs:documentation xml:lang="EN">A word or short phrase intended to identify a concept within the context in which is it being applied.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="Objective">
    <xs:annotation>
      <xs:documentation xml:lang="EN">A target level of results against which achievement is to be measured within a single resource allocation and performance execution cycle.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="ObjectiveType">
          <xs:sequence>
            <xs:element ref="ValueChain" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="Outcome">
    <xs:annotation>
      <xs:documentation xml:lang="EN">An intended result some of whose required inputs and processes are beyond the control of the planning organization.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="ValueChainStageType"/>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="PerformancePlanOrReport">
    <xs:annotation>
      <xs:documentation>A document identifying inputs and processes required to accomplish objectives and establishing metrics by which progress will be assessed within a single budgetary planning and resource allocation cycle.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Name"/>
        <xs:element ref="StrategicPlanCore"/>
        <xs:element ref="AdministrativeInformation" minOccurs="0"/>
        <xs:element ref="Submitter" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="Type" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Performance_Plan"/>
            <xs:enumeration value="Performance_Report"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="PublicationDate" type="xs:date">
    <xs:annotation>
      <xs:documentation xml:lang="EN">The day, month, and year a strategic plan was published in its current form.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="Source" type="xs:anyURI">
    <xs:annotation>
      <xs:documentation xml:lang="EN">The Web address (URL) for the authoritative source of this document.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="StartDate" type="xs:date">
    <xs:annotation>
      <xs:documentation xml:lang="EN">The year, month and day the element with which it is associated is scheduled to begin.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="StrategicPlanCore">
    <xs:annotation>
      <xs:documentation xml:lang="EN">A complex element comprised if Mission, Vision, Values, Goals, Objectives and Stakeholders, together with the children of those core elements.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Mission" minOccurs="0"/>
        <xs:element ref="Value" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="Goal" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Submitter" type="ContactInformationType">
    <xs:annotation>
      <xs:documentation xml:lang="EN">The person submitting the plan in StratML format.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="TargetResult">
    <xs:annotation>
      <xs:documentation xml:lang="EN">A measurable result to be achieved on or before a specified date.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="StartDate" minOccurs="0"/>
        <xs:element ref="EndDate" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UnitOfMeasurement" type="xs:string">
    <xs:annotation>
      <xs:documentation>The division of quantity indicating the standard of measurement or exchange.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="Value">
    <xs:annotation>
      <xs:documentation xml:lang="EN">A principle that is important and helps to define the essential character of the organization.</xs:documentation>
    </xs:annotation>
    <xs:complexType/>
  </xs:element>
  <xs:element name="ValueChain">
    <xs:annotation>
      <xs:documentation xml:lang="EN">A series of quantifiable inputs, processes, and outputs leading to an outcome.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Name" minOccurs="0"/>
        <xs:element ref="Description" minOccurs="0"/>
        <xs:element ref="Outcome"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="AdministrativeInformationType">
    <xs:sequence>
      <xs:element ref="StartDate" minOccurs="0"/>
      <xs:element ref="PublicationDate" minOccurs="0"/>
      <xs:element ref="Source" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ContactInformationType">
    <xs:sequence>
      <xs:element ref="FirstName" minOccurs="0"/>
      <xs:element ref="LastName" minOccurs="0"/>
      <xs:element ref="EmailAddress" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GoalType">
    <xs:sequence>
      <xs:element ref="Name"/>
      <xs:element ref="Description"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ObjectiveType">
    <xs:sequence>
      <xs:element ref="Name" minOccurs="0"/>
      <xs:element ref="Description" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ValueChainStageType">
    <xs:sequence>
      <xs:element ref="Name"/>
      <xs:element ref="Description" minOccurs="0"/>
      <xs:element ref="Metric"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
