blob: 9c19590d2dc0465ad221f509a4a15bda98bc1cbe [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.papyrus.model2doc.emf.template2structure" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.eclipse.papyrus.model2doc.emf.template2structure" id="structuregenerator" name="structuregenerator"/>
</appinfo>
<documentation>
This extension point is used to register generators allowing to convert a DocumentStructureTemplate into a DocumentStructure, traversing a user model.
This extension point also allows to register mapper classes in charge to create DocumentStructure element from DocumentStructureTemplate.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<choice>
<element ref="generator" minOccurs="0" maxOccurs="unbounded"/>
<element ref="mapper" minOccurs="0" maxOccurs="unbounded"/>
</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="generator">
<complexType>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
The id of the generator.
</documentation>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
A class implementing org.eclipse.papyrus.model2doc.emf.template2structure.generator.ITemplate2StructureGenerator in charge of the document structure generation
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.papyrus.model2doc.emf.template2structure.generator.ITemplate2StructureGenerator"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="mapper">
<annotation>
<documentation>
This element allows to define mapper classes.
</documentation>
</annotation>
<complexType>
<attribute name="generatorId" type="string" use="required">
<annotation>
<documentation>
Reference an id defined for a org.eclipse.papyrus.model2doc.emf.template2structure.generator.
</documentation>
<appinfo>
<meta.attribute kind="identifier" basedOn="org.eclipse.papyrus.model2doc.emf.template2structure.structuregenerator/generator/@id"/>
</appinfo>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
Define a mapper class. This class must extends org.eclipse.papyrus.model2doc.emf.template2structure.mapping.service.AbtractTemplateToStructureMapper.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn="org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractTemplateToStructureMapper:"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
Since 0.7.0
</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>
Copyright (c) 2019 CEA LIST and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
Contributors:
Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
</documentation>
</annotation>
</schema>