JET XML Tag Syntax Reference
JET XML Tags are of two forms:
- Empty elements: <tagname
[attributes]/>
- Content elements: <tagname
[attributes]*>content</tagname>
Attributes are of the form: name="value"
or name='value'. Attribute values may
contain any character other than the enclosing quote characters.
Typically, JET XML tag names include a namespace and a tag name
(namespace:name). JET will recognize an XML elements
if it recognizes the namespace. If it does not recognize the
namespace, or if the tag has no namespace, and the tagname is not
recognized, then JET will treat the tag as text.
Standard JET Tags
JET includes standard tag libraries for the following
purposes:
-
Control tags - used for template control
-
Workspace tags - used to create workspace elements such as
projects, folders and files
-
Java tags - used for created Java workspace elements such as
Java classes and resources
-
Format tags - used for reformatting text.
Defining and changing Tag namespace prefixes
The standard tags have default namespace prefixes of
c
, ws
, java
and
format
for the control, workspace, java and format
tags, respectively. By default, the control, java and format tags
are imported into every template.
Tag namespace prefixes may be changed for a single template by
using the
@taglib
directive. For example, the following directive changes the
namespace prefix for the control tags to cc:
<%@taglib id="org.eclipse.jet.controlTags" prefix="cc"%>
Individual templates may change a tag libraries namespace to
avoid conflicts with static text being generated by the
template.
To change the default prefixes for a transform requires editing
the JET Transformations plugin.xml file. See the
org.eclipse.jet.transform
extension point
documentation for details.
Importing Tag namespaces
Tag namespaces may be imported by the <%@taglib%>
directive on individual templates, or in plugin.xml for all
transformation templates.
Declaring custom tags
Users may define custom tags by creating an Eclipse plug-in
project, adding a dependency to the org.eclipse.jet
plug-in, and then implementing the
org.elcipse.jet.tagLibrairies
extension point.