<?xml version="1.0"?>
<!--
  This is the XML DTD for the EJB 1.1 deployment descriptor.

  <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"
                           "http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd">
  -->
<schema>

<element name="assembly-descriptor">
  <archetype content="elemOnly" order="seq">
    <element ref="security-role" minOccurs="0"/>
    <element ref="method-permission" minOccurs="1"/>
    <element ref="container-transaction" minOccurs="1"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="cmp-field">
  <archetype content="elemOnly" order="seq">
    <element ref="description" minOccurs="0" maxOccurs="1"/>
    <element ref="field-name" minOccurs="1" maxOccurs="1"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="container-transaction">
  <archetype content="elemOnly" order="seq">
    <element ref="description" minOccurs="0" maxOccurs="1"/>
    <element ref="method" minOccurs="1"/>
    <element ref="trans-attribute" minOccurs="1" maxOccurs="1"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="description">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="display-name">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="ejb-class">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="ejb-client-jar">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="ejb-jar">
  <archetype content="elemOnly" order="seq">
    <element ref="description" minOccurs="0" maxOccurs="1"/>
    <element ref="display-name" minOccurs="0" maxOccurs="1"/>
    <element ref="small-icon" minOccurs="0" maxOccurs="1"/>
    <element ref="large-icon" minOccurs="0" maxOccurs="1"/>
    <element ref="enterprise-beans" minOccurs="1" maxOccurs="1"/>
    <element ref="assembly-descriptor" minOccurs="0" maxOccurs="1"/>
    <element ref="ejb-client-jar" minOccurs="0" maxOccurs="1"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="ejb-link">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="ejb-name">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="ejb-ref">
  <archetype content="elemOnly" order="seq">
    <element ref="description" minOccurs="0" maxOccurs="1"/>
    <element ref="ejb-ref-name" minOccurs="1" maxOccurs="1"/>
    <element ref="ejb-ref-type" minOccurs="1" maxOccurs="1"/>
    <element ref="home" minOccurs="1" maxOccurs="1"/>
    <element ref="remote" minOccurs="1" maxOccurs="1"/>
    <element ref="ejb-link" minOccurs="0" maxOccurs="1"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="ejb-ref-name">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="ejb-ref-type">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="enterprise-beans">
  <archetype content="elemOnly">
    <group order="choice" minOccurs="1">
      <element ref="session"/>
      <element ref="entity"/>
    </group>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="entity">
  <archetype content="elemOnly" order="seq">
    <element ref="description" minOccurs="0" maxOccurs="1"/>
    <element ref="display-name" minOccurs="0" maxOccurs="1"/>
    <element ref="small-icon" minOccurs="0" maxOccurs="1"/>
    <element ref="large-icon" minOccurs="0" maxOccurs="1"/>
    <element ref="ejb-name" minOccurs="1" maxOccurs="1"/>
    <element ref="home" minOccurs="1" maxOccurs="1"/>
    <element ref="remote" minOccurs="1" maxOccurs="1"/>
    <element ref="ejb-class" minOccurs="1" maxOccurs="1"/>
    <element ref="persistence-type" minOccurs="1" maxOccurs="1"/>
    <element ref="prim-key-class" minOccurs="1" maxOccurs="1"/>
    <element ref="reentrant" minOccurs="1" maxOccurs="1"/>
    <element ref="cmp-field" minOccurs="0"/>
    <element ref="primkey-field" minOccurs="0" maxOccurs="1"/>
    <element ref="env-entry" minOccurs="0"/>
    <element ref="ejb-ref" minOccurs="0"/>
    <element ref="security-role-ref" minOccurs="0"/>
    <element ref="resource-ref" minOccurs="0"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="env-entry">
  <archetype content="elemOnly" order="seq">
    <element ref="description" minOccurs="0" maxOccurs="1"/>
    <element ref="env-entry-name" minOccurs="1" maxOccurs="1"/>
    <element ref="env-entry-type" minOccurs="1" maxOccurs="1"/>
    <element ref="env-entry-value" minOccurs="0" maxOccurs="1"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="env-entry-name">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="env-entry-type">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="env-entry-value">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="field-name">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="home">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="large-icon">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="method">
  <archetype content="elemOnly" order="seq">
    <element ref="description" minOccurs="0" maxOccurs="1"/>
    <element ref="ejb-name" minOccurs="1" maxOccurs="1"/>
    <element ref="method-intf" minOccurs="0" maxOccurs="1"/>
    <element ref="method-name" minOccurs="1" maxOccurs="1"/>
    <element ref="method-params" minOccurs="0" maxOccurs="1"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="method-intf">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="method-name">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="method-param">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="method-params">
  <archetype content="elemOnly" order="seq">
    <element ref="method-param" minOccurs="0"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="method-permission">
  <archetype content="elemOnly" order="seq">
    <element ref="description" minOccurs="0" maxOccurs="1"/>
    <element ref="role-name" minOccurs="1"/>
    <element ref="method" minOccurs="1"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="persistence-type">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="prim-key-class">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="primkey-field">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="reentrant">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="remote">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="res-auth">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="res-ref-name">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="res-type">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="resource-ref">
  <archetype content="elemOnly" order="seq">
    <element ref="description" minOccurs="0" maxOccurs="1"/>
    <element ref="res-ref-name" minOccurs="1" maxOccurs="1"/>
    <element ref="res-type" minOccurs="1" maxOccurs="1"/>
    <element ref="res-auth" minOccurs="1" maxOccurs="1"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="role-link">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="role-name">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="security-role">
  <archetype content="elemOnly" order="seq">
    <element ref="description" minOccurs="0" maxOccurs="1"/>
    <element ref="role-name" minOccurs="1" maxOccurs="1"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="security-role-ref">
  <archetype content="elemOnly" order="seq">
    <element ref="description" minOccurs="0" maxOccurs="1"/>
    <element ref="role-name" minOccurs="1" maxOccurs="1"/>
    <element ref="role-link" minOccurs="0" maxOccurs="1"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="session-type">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="session">
  <archetype content="elemOnly" order="seq">
    <element ref="description" minOccurs="0" maxOccurs="1"/>
    <element ref="display-name" minOccurs="0" maxOccurs="1"/>
    <element ref="small-icon" minOccurs="0" maxOccurs="1"/>
    <element ref="large-icon" minOccurs="0" maxOccurs="1"/>
    <element ref="ejb-name" minOccurs="1" maxOccurs="1"/>
    <element ref="home" minOccurs="1" maxOccurs="1"/>
    <element ref="remote" minOccurs="1" maxOccurs="1"/>
    <element ref="ejb-class" minOccurs="1" maxOccurs="1"/>
    <element ref="session-type" minOccurs="1" maxOccurs="1"/>
    <element ref="transaction-type" minOccurs="1" maxOccurs="1"/>
    <element ref="env-entry" minOccurs="0"/>
    <element ref="ejb-ref" minOccurs="0"/>
    <element ref="security-role-ref" minOccurs="0"/>
    <element ref="resource-ref" minOccurs="0"/>
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="small-icon">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="transaction-type">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

<element name="trans-attribute">
  <archetype content="textOnly">
    <attribute name="id" type="ID" minOccurs="0"/>
  </archetype>
</element>

</schema>
<!--
<!ELEMENT assembly-descriptor (security-role*, method-permission*, container-transaction*)>
<!ATTLIST assembly-descriptor id ID #IMPLIED>
<!ELEMENT cmp-field (description?, field-name)>
<!ATTLIST cmp-field id ID #IMPLIED>
<!ELEMENT container-transaction (description?, method+, trans-attribute)>
<!ATTLIST container-transaction id ID #IMPLIED>
<!ELEMENT description (#PCDATA)>
<!ATTLIST description id ID #IMPLIED>
<!ELEMENT display-name (#PCDATA)>
<!ATTLIST display-name id ID #IMPLIED>
<!ELEMENT ejb-class (#PCDATA)>
<!ATTLIST ejb-class id ID #IMPLIED>
<!ELEMENT ejb-client-jar (#PCDATA)>
<!ATTLIST ejb-client-jar id ID #IMPLIED>
<!ELEMENT ejb-jar (description?, display-name?, small-icon?, large-icon?,
                   enterprise-beans, assembly-descriptor?, ejb-client-jar?)>
<!ATTLIST ejb-jar id ID #IMPLIED>
<!ELEMENT ejb-link (#PCDATA)>
<!ATTLIST ejb-link id ID #IMPLIED>
<!ELEMENT ejb-name (#PCDATA)>
<!ATTLIST ejb-name id ID #IMPLIED>
<!ELEMENT ejb-ref (description?, ejb-ref-name, ejb-ref-type, home, remote, ejb-link?)>
<!ATTLIST ejb-ref id ID #IMPLIED>
<!ELEMENT ejb-ref-name (#PCDATA)>
<!ATTLIST ejb-ref-name id ID #IMPLIED>
<!ELEMENT ejb-ref-type (#PCDATA)>
<!ATTLIST ejb-ref-type id ID #IMPLIED>
<!ELEMENT enterprise-beans (session| entity)+>
<!ATTLIST enterprise-beans id ID #IMPLIED>
<!ELEMENT entity (description?, display-name?, small-icon?, large-icon?, ejb-name,
                  home, remote, ejb-class, persistence-type, prim-key-class,
                  reentrant, cmp-field*, primkey-field?, env-entry*, ejb-ref*,
                  security-role-ref*, resource-ref*)>
<!ATTLIST entity id ID #IMPLIED>
<!ELEMENT env-entry (description?, env-entry-name, env-entry-type, env-entry-value?)>
<!ATTLIST env-entry id ID #IMPLIED>
<!ELEMENT env-entry-name (#PCDATA)>
<!ATTLIST env-entry-name id ID #IMPLIED>
<!ELEMENT env-entry-type (#PCDATA)>
<!ATTLIST env-entry-type id ID #IMPLIED>
<!ELEMENT env-entry-value (#PCDATA)>
<!ATTLIST env-entry-value id ID #IMPLIED>
<!ELEMENT field-name (#PCDATA)>
<!ATTLIST field-name id ID #IMPLIED>
<!ELEMENT home (#PCDATA)>
<!ATTLIST home id ID #IMPLIED>
<!ELEMENT large-icon (#PCDATA)>
<!ATTLIST large-icon id ID #IMPLIED>
<!ELEMENT method (description?, ejb-name, method-intf?, method-name, method-params?)>
<!ATTLIST method id ID #IMPLIED>
<!ELEMENT method-intf>
<!ATTLIST method-intf id ID #IMPLIED>
<!ELEMENT method-name (#PCDATA)>
<!ATTLIST method-name id ID #IMPLIED>
<!ELEMENT method-param (#PCDATA)>
<!ATTLIST method-param id ID #IMPLIED>
<!ELEMENT method-params (method-param*)>
<!ATTLIST method-params id ID #IMPLIED>
<!ELEMENT method-permission (description?, role-name+, method+)>
<!ATTLIST method-permission id ID #IMPLIED>
<!ELEMENT persistence-type (#PCDATA)>
<!ATTLIST persistence-type id ID #IMPLIED>
<!ELEMENT prim-key-class (#PCDATA)>
<!ATTLIST prim-key-class id ID #IMPLIED>
<!ELEMENT primkey-field (#PCDATA)>
<!ATTLIST primkey-field id ID #IMPLIED>
<!ELEMENT reentrant (#PCDATA)>
<!ATTLIST reentrant id ID #IMPLIED>
<!ELEMENT remote (#PCDATA)>
<!ATTLIST remote id ID #IMPLIED>
<!ELEMENT res-auth (#PCDATA)>
<!ATTLIST res-auth id ID #IMPLIED>
<!ELEMENT res-ref-name (#PCDATA)>
<!ATTLIST res-ref-name id ID #IMPLIED>
<!ELEMENT res-type (#PCDATA)>
<!ATTLIST res-type id ID #IMPLIED>
<!ELEMENT resource-ref (description?, res-ref-name, res-type, res-auth)>
<!ATTLIST resource-ref id ID #IMPLIED>
<!ELEMENT role-link (#PCDATA)>
<!ATTLIST role-link id ID #IMPLIED>
<!ELEMENT role-name (#PCDATA)>
<!ATTLIST role-name id ID #IMPLIED>
<!ELEMENT security-role (description?, role-name)>
<!ATTLIST security-role id ID #IMPLIED>
<!ELEMENT security-role-ref (description?, role-name, role-link?)>
<!ATTLIST security-role-ref id ID #IMPLIED>
<!ELEMENT session-type (#PCDATA)>
<!ATTLIST session-type id ID #IMPLIED>
<!ELEMENT session (description?, display-name?, small-icon?, large-icon?, ejb-name,
                   home, remote, ejb-class, session-type, transaction-type, env-entry*,
                   ejb-ref*, security-role-ref*, resource-ref*)>
<!ATTLIST session id ID #IMPLIED>
<!ELEMENT small-icon (#PCDATA)>
<!ATTLIST small-icone id ID #IMPLIED>
<!ELEMENT transaction-type (#PCDATA)>
<!ATTLIST transaction-type id ID #IMPLIED>
<!ELEMENT trans-attribute (#PCDATA)>
<!ATTLIST trans-attribute id ID #IMPLIED>
-->
