<?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="AnnotationTagInfo" 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>
                  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="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>
                  This can be used to supply the user a drop down choice of values for a specific attribute selection.  Each one of these &quot;values&quot; is an entry in that drop down for the selected attribute.
               </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>
         
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 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>
