| <?xml version='1.0' encoding='UTF-8'?> |
| <!-- Schema file written by PDE --> |
| <schema targetNamespace="org.eclipse.wst.common.project.facet.core" xmlns="http://www.w3.org/2001/XMLSchema"> |
| <annotation> |
| <appInfo> |
| <meta.schema plugin="org.eclipse.wst.common.project.facet.core" id="groups" name="Project Facet Groups Extension Point"/> |
| </appInfo> |
| <documentation> |
| A group is a collection of project facets that's used to provide a level of indirection between facets. For instance, instead of specifying a dependency on a specific facet or a list of facets, a facet can specify a dependency on a group. Facets can join or leave the group as requirements change without directly impacting the facet that is specifying the dependency. |
| </documentation> |
| </annotation> |
| |
| <element name="extension"> |
| <annotation> |
| <appInfo> |
| <meta.element /> |
| </appInfo> |
| </annotation> |
| <complexType> |
| <choice minOccurs="0" maxOccurs="unbounded"> |
| <element ref="group"/> |
| <element ref="members"/> |
| </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="group"> |
| <annotation> |
| <documentation> |
| Defines a project facet group. |
| </documentation> |
| </annotation> |
| <complexType> |
| <sequence> |
| <element ref="label"/> |
| <element ref="description" minOccurs="0" maxOccurs="1"/> |
| <element ref="include" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| <attribute name="id" type="string" use="required"> |
| <annotation> |
| <documentation> |
| Group identifier. |
| </documentation> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="label" type="string"> |
| <annotation> |
| <documentation> |
| The localizable name that is presented to the user. If not specified, the id will be used for a label. |
| </documentation> |
| </annotation> |
| </element> |
| |
| <element name="description" type="string"> |
| <annotation> |
| <documentation> |
| The description text. |
| </documentation> |
| </annotation> |
| </element> |
| |
| <element name="include"> |
| <annotation> |
| <documentation> |
| Specifies that one or more version of the facet should be included in the group. |
| </documentation> |
| </annotation> |
| <complexType> |
| <attribute name="facet" type="string" use="required"> |
| <annotation> |
| <documentation> |
| The facet id. |
| </documentation> |
| <appInfo> |
| <meta.attribute kind="identifier" basedOn="org.eclipse.wst.common.project.facet.core.facets/project-facet/@id"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| <attribute name="versions" type="string"> |
| <annotation> |
| <documentation> |
| Specifies the match expression for the facet version. The expression should be of the form "2.2,2.5,[3.0-5.3],(7.3", 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="members"> |
| <annotation> |
| <documentation> |
| Used by third-partys to enlist facets into a group. |
| </documentation> |
| </annotation> |
| <complexType> |
| <sequence> |
| <element ref="include" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| <attribute name="group" type="string" use="required"> |
| <annotation> |
| <documentation> |
| The group id. |
| </documentation> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="examples"/> |
| </appInfo> |
| <documentation> |
| <p>The following example illustrates creation of a group and various ways that facets can join the group.</p> |
| |
| <pre><extension point="org.eclipse.wst.common.project.facet.core.groups"> |
| |
| <!-- |
| Groups do not have to be explicitly defined. They come into existence when the |
| first member is added, however explicit definition is recommended as that's the |
| only way to specify a label and a description for the group. You can also |
| enlist facets into the group as part of that group's definition. |
| --> |
| |
| <group id="gr"> |
| <label>Test Group</label> |
| <description>Test group of facets.</description> |
| <include facet="a"/> |
| <include facet="b" versions="1.2"/> |
| <include facet="c" versions="[1.3-2.0)"/> |
| </group> |
| |
| <!-- |
| This is the most flexible way of enlisting facets into the group. This |
| declaration can be made by a third party that is neither the facet author |
| nor the group creator. |
| --> |
| |
| <members group="gr"> |
| <include facet="d" versions="2.3,2.4,2.7"/> |
| <include facet="e"/> |
| </members> |
| |
| </extension> |
| |
| <!-- Facet can be enlisted into one or more group as part of facet definition. --> |
| |
| <extension point="org.eclipse.wst.common.project.facet.core.facets"> |
| <project-facet id="f"> |
| ... |
| </project-facet> |
| <project-facet-version facet="f" version="1.0"> |
| ... |
| <group-member id="gr"/> |
| ... |
| </project-facet-version> |
| </extension></pre> |
| </documentation> |
| </annotation> |
| |
| |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="copyright"/> |
| </appInfo> |
| <documentation> |
| Copyright (c) 2010 Oracle and others.<br> |
| 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 |
| <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. |
| </documentation> |
| </annotation> |
| |
| </schema> |