<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.jst.common.annotations.controller">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.jst.common.annotations.controller" id="XAnnotationTagInfo" name="Annotation Tag Info"/>
      </appInfo>
      <documentation>
         Describes the tags contained by a tag set and the tag&apos;s attributes.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="AnnotationTagInfo" minOccurs="1" maxOccurs="unbounded"/>
         </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="AnnotationTagInfo">
      <complexType>
         <sequence>
            <element ref="attrib" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="tagSet" type="string" use="required">
            <annotation>
               <documentation>
                  Name of the tag set this tag comes underneath.  ( for instance, if we&apos;re defining the &lt;code&gt;@ejb.bean&lt;/code&gt;
tag, then the tag set would be &lt;code&gt;ejb&lt;/code&gt;. )  The tag set must have been defined using the annotation.tagset extension point.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="tagName" type="string" use="required">
            <annotation>
               <documentation>
                  Name of the tag.  ( if we&apos;re defining the &lt;code&gt;@ejb.bean&lt;/code&gt; tag, then the tagName would be &lt;code&gt;bean&lt;/code&gt; ).
               </documentation>
            </annotation>
         </attribute>
         <attribute name="scope" use="required">
            <annotation>
               <documentation>
                  Scope of the bean.  Must be &lt;code&gt;type&lt;/code&gt;,&lt;code&gt;method&lt;/code&gt;, or &lt;code&gt;field&lt;/code&gt;.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="type">
                  </enumeration>
                  <enumeration value="method">
                  </enumeration>
                  <enumeration value="field">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="multiplicity" use="default" value="1">
            <annotation>
               <documentation>
                  Multiplicity of the tagset.  Must be &lt;code&gt;1&lt;/code&gt; or&lt;code&gt;*&lt;/code&gt;. The default value is 1, if not specified.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="1">
                  </enumeration>
                  <enumeration value="*">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  Optional description.  May be a description string, or a
key to localized text for the description in the declaring plugin&apos;s resource bundle. No default if this is
not specified.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="attrib">
      <complexType>
         <sequence>
            <element ref="unique" minOccurs="0" maxOccurs="1"/>
            <element ref="enumValues" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  Name of the attribute.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  Description text for the attribute, or key pointing to the localized description text inside of the declaring plugin&apos;s resource bundle.  If not specified, defaults to &lt;code&gt;ath.ATTRIBUTE_NAME&lt;/code&gt;.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="use" use="default" value="optional">
            <annotation>
               <documentation>
                  Sets whether this tag is &lt;code&gt;optional&lt;/code&gt; or &lt;code&gt;required&lt;/code&gt;.  The default is &lt;code&gt;optional&lt;/code&gt;.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="optional">
                  </enumeration>
                  <enumeration value="required">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="type" use="default" value="string">
            <annotation>
               <documentation>
                  Type of the attribute, &lt;code&gt;string|boolean|javaType&lt;/code&gt;.  Defaults to &lt;code&gt;string&lt;/code&gt; if not specified.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="string">
                  </enumeration>
                  <enumeration value="bool">
                  </enumeration>
                  <enumeration value="javaType">
                  </enumeration>
                  <enumeration value="enum">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
      </complexType>
   </element>

   <element name="unique">
      <annotation>
         <documentation>
            Specifies that the attribute value is unique within the specified scope.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="scope" use="default" value="module">
            <annotation>
               <documentation>
                  The scope of the uniqueness for the attribute value. It is one of the &lt;code&gt;module&lt;/code&gt;, &lt;code&gt;file&lt;/code&gt;, &lt;code&gt;type&lt;/code&gt;, &lt;code&gt;method&lt;/code&gt;,or  &lt;code&gt;field&lt;/code&gt;. The default value is &apos;module&apos;.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="module">
                  </enumeration>
                  <enumeration value="file">
                  </enumeration>
                  <enumeration value="type">
                  </enumeration>
                  <enumeration value="method">
                  </enumeration>
                  <enumeration value="field">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
      </complexType>
   </element>

   <element name="enumValues">
      <complexType>
         <attribute name="value" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         [Enter the first release in which this extension point appears.]
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         [Enter extension point usage example here.]
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         [Enter API information here.]
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         [Enter information about supplied implementation of this extension point.]
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         
      </documentation>
   </annotation>

</schema>
