<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.jst.j2ee">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.jst.j2ee" id="resourceEnvRefType" name="Resource Environment Reference Type"/>
      </appInfo>
      <documentation>
         This extension point is used to add types to the drop down options available when creating or modifying Resource Environment References for a Application Client or EJB Project.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="reference"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="reference">
      <complexType>
         <attribute name="type" type="string" use="required">
            <annotation>
               <documentation>
                  Valid resource environment reference types.  Example: javax.jms.Topic
               </documentation>
            </annotation>
         </attribute>
         <attribute name="usage" use="required">
            <annotation>
               <documentation>
                  The usage field is required.  Valid types are Common, EJB Jar. 
A usage tag with the value Common indicates that the corresponding value will be avilable for all J2EE projects.
A usage tag with the value EJB Jar indicates that the value is only applicable to EJB projects.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="Application Client">
                  </enumeration>
                  <enumeration value="EJB Jar">
                  </enumeration>
                  <enumeration value="Common">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="target-server-ids" type="string">
            <annotation>
               <documentation>
                  list of target server id for this type
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         The following is an example of the extension:&lt;pre&gt;&lt;extension point=&quot;com.ibm.etools.j2ee.ui.resourceEnvRefType&quot;&gt;
  &lt;reference usage=&quot;Common&quot; type=&quot;javax.sql.DataSource&quot;/&gt;
  &lt;reference usage=&quot;EJB Jar&quot; type=&quot;javax.jms.Topic&quot;/&gt;
&lt;/extension&gt;
&lt;/pre&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         This extension point requires that the extension be defined in the plugin file of the extending plugin.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         * Copyright (c) 2003 IBM Corporation. * All rights reserved.
      </documentation>
   </annotation>

</schema>
