<?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>
                  a fully qualified identifier of the target extension point
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  an optional identifier of the extension instance
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  an optional name of the extension instance
               </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>
         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
      </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;org.eclipse.jst.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, 2005 IBM Corporation and others.&lt;br&gt;
All rights reserved. This program and the accompanying materials are made 
available under the terms of the Eclipse Public License v1.0 which accompanies 
this distribution, and is available at &lt;a
href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
      </documentation>
   </annotation>

</schema>
