<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.wst.common.project.facet.core">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.wst.common.project.facet.core" id="facets" name="Project Facets Extension Point"/>
      </appInfo>
      <documentation>
         This is the main extension point in the faceted project framework. It is used for defining project facets. A project facet can be thought of as a unit of functionality that the user can add to the project when the functionality is needed.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <choice>
            <element ref="project-facet"/>
            <element ref="project-facet-version"/>
            <element ref="category"/>
            <element ref="preset"/>
            <element ref="template"/>
            <element ref="action"/>
            <element ref="event-handler"/>
         </choice>
         <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>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="label" type="string">
      <annotation>
         <documentation>
            The localizable name that is presented to the user.
         </documentation>
      </annotation>
   </element>

   <element name="description" type="string">
      <annotation>
         <documentation>
            The description text.
         </documentation>
      </annotation>
   </element>

   <element name="and">
      <annotation>
         <documentation>
            A facet constraint operator that performs a conjunction over the results of evaluation of two or more sub-expressions. This operator will return true if and only if all sub-expressions evaluate to true.
         </documentation>
      </annotation>
      <complexType>
         <choice minOccurs="2" maxOccurs="unbounded">
            <element ref="and"/>
            <element ref="or"/>
            <element ref="requires"/>
            <element ref="conflicts"/>
         </choice>
      </complexType>
   </element>

   <element name="or">
      <annotation>
         <documentation>
            A facet constraint operator that performs a disjunction over the results of evaluation of two or more sub-expressions. This operator will return true if any of the sub-expressions evaluate to true.
         </documentation>
      </annotation>
      <complexType>
         <choice minOccurs="2" maxOccurs="unbounded">
            <element ref="and"/>
            <element ref="or"/>
            <element ref="requires"/>
            <element ref="conflicts"/>
         </choice>
      </complexType>
   </element>

   <element name="requires">
      <annotation>
         <documentation>
            A facet constraint operator that is used to declare a dependency of one facet on another. This operator will return true if the dependency is satisfied.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="facet" type="string" use="required">
            <annotation>
               <documentation>
                  The id of the facet.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="version" type="string" use="required">
            <annotation>
               <documentation>
                  Specifies the match expression for the facet version. The expression should be of the form &quot;2.2,2.5,[3.0-5.3],(7.3&quot;, where the comas function as an OR. Brackets and parenthesis are used as part of the range notation. A bracket means inclusive while a parenthesis means exclusive.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="soft" type="boolean">
            <annotation>
               <documentation>
                  If set to true indicates that this is a soft dependency. A soft dependency will not prevent the facet from being installed if it is not met. The purpose of specifying a soft dependency is to control facet installation order. If facet A declares a soft dependency on facet B, facet A is guaranteed to be installed after B has been installed (assuming B is selected).
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="conflicts">
      <annotation>
         <documentation>
            A facet constraint operator that is used to declare a conflict between this facet and another facet or this facet and a group of facets. This operator will return true if and only if the conflict is not present. Note that the group attribute should not be used together with the facet and version attributes.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="group" type="string">
            <annotation>
               <documentation>
                  The id of the facet group that this facet conflicts with. Note that it is safe for the declaring facet to be a member of this group. Conflicts between the facet and itself are ignored. This attribute should not be used in conjunction with the facet and version attributes.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="facet" type="string">
            <annotation>
               <documentation>
                  The id of the facet that this facet conflicts with. If the version attribute is specified, the conflict declaration will be limited to those versions covered by the version expression.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="version" type="string">
            <annotation>
               <documentation>
                  Used in conjunction with the facet attribute to limit the versions covered by the conflict declaration. The version expression should be of the form &quot;2.2,2.5,[3.0-5.3],(7.3&quot;, where the comas function as an OR. Brackets and parenthesis are used as part of the range notation. A bracket means inclusive while a parenthesis means exclusive.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="constraint">
      <annotation>
         <documentation>
            Specifies the constraint that has to be satisfied before this facet can be installed in a project. A constraint can be used to specify dependencies on other facets as well as conflicts.
         </documentation>
      </annotation>
      <complexType>
         <choice>
            <element ref="and"/>
            <element ref="or"/>
            <element ref="requires"/>
            <element ref="conflicts"/>
         </choice>
      </complexType>
   </element>

   <element name="group-member">
      <annotation>
         <documentation>
            Makes this facet a member of the group specified in the id attribute. A facet can be a member of any number of groups. Groups are auto-created when referenced by this extension point. The facet groups are primarily used when specifying conflict constraints.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The id of the facet group to add this facet to. Groups are auto-created when referenced by this extension point.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="project-facet">
      <annotation>
         <documentation>
            Declares a project facet. A project facet can be thought of as a unit of functionality that the user can add to the project when the functionality is needed. Note that a facet need to have a least one version declared in order to be useful. See project-facet-version for more details.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="label"/>
            <element ref="description" minOccurs="0" maxOccurs="1"/>
            <element ref="version-comparator" minOccurs="0" maxOccurs="1"/>
            <element name="category" type="string">
               <annotation>
                  <documentation>
                     Project facet can optionally belong to a category. This specifies the category id.
                  </documentation>
               </annotation>
            </element>
         </sequence>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  Project facet identifier.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="project-facet-version">
      <annotation>
         <documentation>
            Declares a project facet version. Each facet needs to have at leas one version declared in order to be useful.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="constraint" minOccurs="0" maxOccurs="1"/>
            <element ref="group-member" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="event-handler" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="facet" type="string" use="required">
            <annotation>
               <documentation>
                  The id of the project facet that this is a version of. The facet itself needs to be declared using the project-facet element.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="version" type="string" use="required">
            <annotation>
               <documentation>
                  The version string. Has to be compatible with the version comparator specified for this facet or use the standard decimal version notation (i.e. 1.23.005) if the facet does not specify a custom version comparator.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="version-comparator">
      <annotation>
         <documentation>
            Specifies the version comparator for this project facet. If no version comparator is specified the default comparator will be used. The default version comparator can handle versions that are written in standard decimal notation.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  The version comparator class name. Has to implement java.util.Comparator&amp;lt;String&amp;gt; interface.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="java.util.Comparator"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="category">
      <annotation>
         <documentation>
            Declares a project facets category. Categories are groups of facets that the user will typically want to add or remove as a set.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="label"/>
            <element ref="description" minOccurs="0" maxOccurs="1"/>
         </sequence>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The category id.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="preset">
      <annotation>
         <documentation>
            Declares a preset. A preset represents a common configuration of facets and their versions that a user might want to utilize on several projects. Presets can be supplied via this extension point or created by the user.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="label"/>
            <element ref="description" minOccurs="0" maxOccurs="1"/>
            <element name="facet">
               <annotation>
                  <documentation>
                     Specifies the facet that is part of this preset.
                  </documentation>
               </annotation>
               <complexType>
                  <attribute name="id" type="string" use="required">
                     <annotation>
                        <documentation>
                           The project facet id.
                        </documentation>
                     </annotation>
                  </attribute>
                  <attribute name="version" type="string" use="required">
                     <annotation>
                        <documentation>
                           The facet version.
                        </documentation>
                     </annotation>
                  </attribute>
               </complexType>
            </element>
         </sequence>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The preset id.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="template">
      <annotation>
         <documentation>
            Declares a template. A template is simply a combination of fixed facets and an optional preset. Templates are used as a guide when creation projects.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="label"/>
            <element name="fixed">
               <annotation>
                  <documentation>
                     Specifies a facet that should be fixed (made not deselectable) for the project.
                  </documentation>
               </annotation>
               <complexType>
                  <attribute name="facet" type="string" use="required">
                     <annotation>
                        <documentation>
                           The project facet id.
                        </documentation>
                     </annotation>
                  </attribute>
               </complexType>
            </element>
            <element name="preset">
               <annotation>
                  <documentation>
                     Specifies which preset should be selected by default.
                  </documentation>
               </annotation>
               <complexType>
                  <attribute name="id" type="string" use="required">
                     <annotation>
                        <documentation>
                           The preset id.
                        </documentation>
                     </annotation>
                  </attribute>
               </complexType>
            </element>
         </sequence>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The template id.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="action">
      <annotation>
         <documentation>
            Provides implementation of an action, such as install or uninstall, that a user can take on a project facet. Any action that&apos;s not implemented will not be available to the user. The action element can be used standalone or embeded inside the project-facet-version element. If used inside the project-facet-version element, the facet and version attributes are implied and should not be specified.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="config-factory" minOccurs="0" maxOccurs="1"/>
            <element ref="delegate"/>
         </sequence>
         <attribute name="type" use="required">
            <annotation>
               <documentation>
                  Action type.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="install">
                  </enumeration>
                  <enumeration value="uninstall">
                  </enumeration>
                  <enumeration value="version-change">
                  </enumeration>
                  <enumeration value="runtime-changed">
                  </enumeration>
                  <enumeration value="INSTALL">
                  </enumeration>
                  <enumeration value="UNINSTALL">
                  </enumeration>
                  <enumeration value="VERSION_CHANGE">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="facet" type="string">
            <annotation>
               <documentation>
                  The id of the project facet that this action applies to. This attribute should not be used when embeding the action element inside the project-facet-version element.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="version" type="string">
            <annotation>
               <documentation>
                  The version of the project facet that this action applies to. Multiple versions can be specified using version expression syntax. The version expression should be of the form &quot;2.2,2.5,[3.0-5.3],(7.3&quot;, where the comas function as an OR. Brackets and parenthesis are used as part of the range notation. A bracket means inclusive while a parenthesis means exclusive. This attribute should not be used when embeding the action element inside the project-facet-version element.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  The action id. If not specified, a default id will be assigned using the &quot;[facet-id]#[version-expression]#[action-type]&quot; pattern.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="config-factory">
      <annotation>
         <documentation>
            Specifies the factory that will construct a configuration object to be used for parameterizing the action delegate. A configuration object is not necessary if the delegate does not require parameterization.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  The config factory class name. Has to implement org.eclipse.wst.common.project.facet.core.IActionConfigFactory interface.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.wst.common.project.facet.core.IActionConfigFactory"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="delegate">
      <annotation>
         <documentation>
            Specifies the delegate that should be invoked when an action or an event happens.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  The delegate class name. Has to implement org.eclipse.wst.common.project.facet.core.IDelegate interface.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.wst.common.project.facet.core.IDelegate"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="event-handler">
      <annotation>
         <documentation>
            Adds an event handler for one of the events in the faceted project life cycle. The event-handler element can be used standalone or embeded inside the project-facet-version element. If used inside the project-facet-version element, the facet and version attributes are implied and should not be specified.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="delegate"/>
         </sequence>
         <attribute name="type" use="required">
            <annotation>
               <documentation>
                  The type of the event.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="PRE_INSTALL">
                  </enumeration>
                  <enumeration value="POST_INSTALL">
                  </enumeration>
                  <enumeration value="PRE_UNINSTALL">
                  </enumeration>
                  <enumeration value="POST_UNINSTALL">
                  </enumeration>
                  <enumeration value="PRE_VERSION_CHANGE">
                  </enumeration>
                  <enumeration value="POST_VERSION_CHANGE">
                  </enumeration>
                  <enumeration value="RUNTIME_CHANGED">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="facet" type="string">
            <annotation>
               <documentation>
                  The id of the project facet that this event handler applies to. This attribute should not be used when embeding the event-handler element inside the project-facet-version element.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="version" type="string">
            <annotation>
               <documentation>
                  The version of the project facet that this event handler applies to. Multiple versions can be specified using version expression syntax. The version expression should be of the form &quot;2.2,2.5,[3.0-5.3],(7.3&quot;, where the comas function as an OR. Brackets and parenthesis are used as part of the range notation. A bracket means inclusive while a parenthesis means exclusive. This attribute should not be used when embeding the event-handler element inside the project-facet-version element.
               </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-2006 BEA Systems, Inc. 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>
