Default Application Schema

<?xml version='1.0' encoding="UTF-8"?>
<!--

  Copyright © 2008 Bluestem Software LLC
  
  All Rights Reserved. Bluestem Software LLC licenses this file
  to you under the Ext EOA Specification License Agreement [1]. You
  may not use this file except in compliance with the License. You
  may obtain a copy of the License at:
  
  [1] http://alakai.org/licensing/specification-eoa-ext-license.html
  
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied. See the License for the
  specific language governing permissions and limitations
  under the License.
  
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://bluestemsoftware.org/specification/eoa/ext/application/default/1.0" xmlns:tns="http://bluestemsoftware.org/specification/eoa/ext/application/default/1.0" elementFormDefault="qualified">
  <xs:element name="application">
    <xs:annotation>
      <xs:documentation>Models a type specific instance of org.bluestemsoftware.specification.eoa.component.application.rt.ApplicationRT. See class for additional documentation.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="configuration">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="class" type="xs:anyURI">
                <xs:annotation>
                  <xs:documentation>Fully qualified name of class that implements org.bluestemsoftware.specification.eoa.ext.engine.default10.DefaultEngine.Provider</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="partners" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="applicationReference" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="roleReference" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:attribute name="roleName" use="required" type="xs:anyURI" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="applicationName" type="xs:QName" use="required" />
                </xs:complexType>
                <xs:unique name="role.name">
                  <xs:selector xpath="./tns:applicationReference" />
                  <xs:field xpath="@roleName" />
                </xs:unique>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="name" use="required" type="xs:QName" />
    </xs:complexType>
    <xs:unique name="application.name">
      <xs:selector xpath="./tns:applicationReference" />
      <xs:field xpath="@applicationName" />
    </xs:unique>
  </xs:element>
</xs:schema>