| <?xml version='1.0' encoding='UTF-8'?> |
| <schema targetNamespace="org.eclipse.statet.ltk" xmlns="http://www.w3.org/2001/XMLSchema"> |
| <annotation> |
| <appinfo> |
| <meta.schema id="ModelTypes" |
| plugin="org.eclipse.statet.ltk.core" |
| name="LTK Model Types and Working Contexts"/> |
| </appinfo> |
| <documentation> |
| This extension-point allows to define model types and plug-in into its working contexts: |
| <ol> |
| <li>Add factories for shared source units (ISourceUnit).</li> |
| </ol> |
| </documentation> |
| </annotation> |
| |
| <element name="extension"> |
| <annotation> |
| <appinfo> |
| <meta.element /> |
| </appinfo> |
| </annotation> |
| <complexType> |
| <choice minOccurs="0" maxOccurs="unbounded"> |
| <element ref="modelType"/> |
| <element ref="unitType"/> |
| <element ref="contentType"/> |
| </choice> |
| <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> |
| <appinfo> |
| <meta.attribute translatable="true"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="modelType"> |
| <annotation> |
| <documentation> |
| This points allows to define a model type. |
| </documentation> |
| </annotation> |
| <complexType> |
| <sequence> |
| <element ref="baseType" minOccurs="0" maxOccurs="1"/> |
| <element ref="secondaryType" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| <attribute name="id" type="string" use="required"> |
| <annotation> |
| <documentation> |
| The id of the model type. |
| </documentation> |
| <appinfo> |
| <meta.attribute kind="identifier"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="unitType"> |
| <annotation> |
| <documentation> |
| This point allows to provide new types of source units, e.g. for an new model type or a special context of an existing model type. |
| </documentation> |
| </annotation> |
| <complexType> |
| <attribute name="modelTypeId" type="string" use="required"> |
| <annotation> |
| <documentation> |
| The id of the model type. |
| </documentation> |
| <appinfo> |
| <meta.attribute kind="identifier" basedOn="org.eclipse.statet.ltk.ModelTypes/modelType/@id"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| <attribute name="contextKey" type="string" use="required"> |
| <annotation> |
| <documentation> |
| The key of the working context. |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="unitFactory" type="string" use="required"> |
| <annotation> |
| <documentation> |
| An implementation of <code>org.eclipse.statet.ltk.ISourceUnitFactory</code> supporting creation of source units for the specified model type and context. |
| </documentation> |
| <appinfo> |
| <meta.attribute kind="java" basedOn=":org.eclipse.statet.ltk.ISourceUnitFactory"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="contentType"> |
| <annotation> |
| <documentation> |
| This point allows to links a model type to a content type |
| </documentation> |
| </annotation> |
| <complexType> |
| <attribute name="contentTypeId" type="string" use="required"> |
| <annotation> |
| <documentation> |
| The content type id. |
| </documentation> |
| <appinfo> |
| <meta.attribute kind="identifier" basedOn="org.eclipse.core.contenttype.contentTypes/content-type/@id"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| <attribute name="modelTypeId" type="string" use="required"> |
| <annotation> |
| <documentation> |
| The model type id to activate for the content type. |
| </documentation> |
| <appinfo> |
| <meta.attribute kind="identifier" basedOn="org.eclipse.statet.ltk.ModelTypes/modelType/@id"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="baseType"> |
| <complexType> |
| <attribute name="modelTypeId" type="string"> |
| <annotation> |
| <documentation> |
| |
| </documentation> |
| <appinfo> |
| <meta.attribute kind="identifier" basedOn="org.eclipse.statet.ltk.ModelTypes/modelType/@id"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="secondaryType"> |
| <complexType> |
| <attribute name="modelTypeId" type="string"> |
| <annotation> |
| <documentation> |
| |
| </documentation> |
| <appinfo> |
| <meta.attribute kind="identifier" basedOn="org.eclipse.statet.ltk.ModelTypes/modelType/@id"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <annotation> |
| <appinfo> |
| <meta.section type="since"/> |
| </appinfo> |
| <documentation> |
| 0.4 |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appinfo> |
| <meta.section type="copyright"/> |
| </appinfo> |
| <documentation> |
| Copyright (c) 2008, 2021 Stephan Wahlbrink and others. |
| |
| This program and the accompanying materials are made available under the |
| terms of the Eclipse Public License 2.0 which is available at |
| https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0 |
| which is available at https://www.apache.org/licenses/LICENSE-2.0. |
| |
| SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 |
| |
| Contributors: |
| Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation |
| </documentation> |
| </annotation> |
| |
| </schema> |