blob: f2c3d42f92d3f0af21ce145df799e67d3c2c0d73 [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.gendoc.tags" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.eclipse.gendoc.tags" id="org.eclipse.gendoc.tags" name="Gendoc Tags"/>
</appinfo>
<documentation>
The tags extension point allows third-party plug-ins to define new types of tags to be processed by Gendoc.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<sequence>
<element ref="category" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tag" minOccurs="0" 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>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="category">
<annotation>
<documentation>
A tag category is used to group tags that can be sub-tags of other tags. Tags that are added to a category can exist anywhere that the category is added. Tags that can exist at the top level of a document should be added to the &lt;samp&gt;org.eclipse.gendoc.tags.top&lt;/samp&gt; category.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="category" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tag" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tagref" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
a unique name that will be used to identify this category.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="tag">
<annotation>
<documentation>
Describes a tag that will be processed in a Gendoc template.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="attribute" minOccurs="0" maxOccurs="unbounded"/>
<element ref="category" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tag" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tagref" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
a unique name that will be used to identify this tag within template documents.
</documentation>
</annotation>
</attribute>
<attribute name="handler" type="string">
<annotation>
<documentation>
the fully qualified name of a class that implements &lt;samp&gt;org.eclipse.gendoc.tags.ITagHandler&lt;/samp&gt;.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.gendoc.tags.ITagHandler"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="attribute">
<annotation>
<documentation>
Describes an attribute of a tag.
</documentation>
</annotation>
<complexType>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
a unique name that will be used to identify this attribute within the tag.
</documentation>
</annotation>
</attribute>
<attribute name="type" type="string" use="required">
<annotation>
<documentation>
the fully qualified name of a class that this attribute&apos;s value represents.
</documentation>
<appinfo>
<meta.attribute kind="java"/>
</appinfo>
</annotation>
</attribute>
<attribute name="required" type="boolean" use="required">
<annotation>
<documentation>
specifies whether this attribute is required or not.
</documentation>
</annotation>
</attribute>
<attribute name="default" type="string">
<annotation>
<documentation>
the default value of the attribute.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="tagref">
<annotation>
<documentation>
A tagref is used to add an exisiting tag as a sub-tag of another or as a member of a category.
</documentation>
</annotation>
<complexType>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
the name of the tag that this tagref references.
</documentation>
<appinfo>
<meta.attribute kind="identifier"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
1.1.0
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
The following is an example of the tags extension point usage:
&lt;p&gt;
&lt;pre&gt;
&lt;extension
point=&quot;org.eclipse.gendoc.tags&quot;&gt;
&lt;category
name=&quot;org.eclipse.gendoc.tags.top&quot;&gt;
&lt;tag
handler=&quot;com.example.Gendoc.ExampleHandler&quot;
name=&quot;example&quot;&gt;
&lt;category
name=&quot;org.eclipse.gendoc.tags.scripts&quot;&gt;
&lt;/category&gt;
&lt;/tag&gt;
&lt;/category&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;
This defines an &amp;lt;example&amp;gt; tag that can exist at the top level of a document and can contain any tags that are members of the &lt;samp&gt;org.eclipse.gendoc.tags.scripts&lt;/samp&gt; category. The &lt;samp&gt;run(ITag)&lt;/samp&gt; method of the handler class will be called when an &amp;lt;example&amp;gt; tag is encountered during generation.
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
Plug-ins that want to extend this extension point must provide a handler that implements the the &lt;samp&gt;org.eclipse.gendoc.tags.ITagHandler&lt;/samp&gt; interface. A common practice is to subclass &lt;samp&gt;org.eclipse.gendoc.tags.handlers.AbstractTagHandler&lt;/samp&gt; or &lt;samp&gt;org.eclipse.gendoc.tags.handlers.AbstractScriptTagHandler&lt;/samp&gt; in order to inherit the default functionality.
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
Gendoc provides a number of standard tags including &lt;samp&gt;&amp;lt;config&amp;gt;&lt;/samp&gt;, &lt;samp&gt;&amp;lt;context&amp;gt;&lt;/samp&gt;, and &lt;samp&gt;&amp;lt;gendoc&amp;gt;&lt;/samp&gt;.
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="copyright"/>
</appinfo>
<documentation>
Copyright (c) 2010 Atos Origin.&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>