<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:pu="http://www.eclipse.org/hyades/schema/ProcessUnit.xsd" ecore:nsPrefix="pu" ecore:package="unit" elementFormDefault="qualified" targetNamespace="http://www.eclipse.org/hyades/schema/ProcessUnit.xsd">
    <annotation>
        <documentation xml:lang="en">      Copyright (c) 2003 Hyades
            project.   All rights reserved.   This program and the
            accompanying materials   are made available under the terms
            of the Common Public License v1.0   which accompanies this
            distribution, and is available at   http://www.eclipse.org/legal/cpl-v10.html</documentation>
    </annotation>
    <element name="ProcessUnit" type="pu:ProcessUnitType">
        <annotation>
            <documentation>    A Process Unit is the most basic
                component of execution in a context. It is provided
                as a place holder during development and is not normally
                used in a production adapter.</documentation>
        </annotation>
    </element>
    <complexType name="ProcessUnitType">
        <sequence>
            <element maxOccurs="unbounded" minOccurs="0" name="Property" type="pu:PropertyType"/>
        </sequence>
        <attributeGroup ref="pu:ProcessUnitAttributes"/>
    </complexType>
    <attributeGroup name="ProcessUnitAttributes">
        <annotation>
            <documentation>       These attributes are required by all
                processing units in a context. The unique ID is used
                to match it with the component defined in the context
                configuration. The description is     optionally used
                for documentation and diagnosis purposes</documentation>
        </annotation>
        <attribute name="uniqueID" type="string" use="required"/>
        <attribute name="description" type="string" use="optional"/>
    </attributeGroup>
    <complexType name="PropertyType">
        <annotation>
            <documentation> A generic configuration property. </documentation>
        </annotation>
        <attribute name="propertyName" type="string" use="required">
            <annotation>
                <documentation> Property name. </documentation>
            </annotation>
        </attribute>
        <attribute name="propertyValue" type="string" use="required">
            <annotation>
                <documentation> Property value. </documentation>
            </annotation>
        </attribute>
    </complexType>
</schema>
