# JET Transformation

###### Identifier:

org.eclipse.jet.transform

###### Since:

1.0

###### Description:

Declares that the extending plugin is a JET transformation.

This extension point is not intended to be used directly by clients.

###### Configuration Markup:

<!ELEMENT extension (transform)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

<!ELEMENT transform (description , tagLibraries , enablement?)>

<!ATTLIST transform

startTemplate CDATA #REQUIRED

templateLoaderClass CDATA #REQUIRED

modelLoader CDATA #IMPLIED

overrides CDATA #IMPLIED

modelExtension CDATA #IMPLIED

private (true | false) "false"

modelSchema CDATA #IMPLIED

enableEmbeddedExpressions (true | false)

>

Declares transformation access details. For JET Transformation projects, there is exactly one of these.

- startTemplate - The project relative path to the main template in the transformation. The main template serves as an entry point for the transformation. Typical values: template/control.jet or template/main.jet
- templateLoaderClass - The fully qualified Java class name of the template loader class.
- modelLoader - A reference to the id of the model loader to use when loading Eclipse resources. If not specified, a model loader is selected based on the file extension of the input model, or by the value of the 'modelExtension' attribute.
- overrides - The id of a JET transformation that this transformation overrides. If not specified, the transformation does not override another transformation.
- modelExtension - When specified, model loading ignores the file extension on the input model, and uses the value specified here instead. This can affect both the selection of a model loader (if the modelLoader attribute is not set), and the behavior of the selected model loader.

  A typical use would be to force model loading to treat inputs as a specific type. For example, an Eclipse XML Schema file (exsd file extension) is an XML document that is not recognized by the XML model loaders. Setting the 'modelExtension' attribute to 'xml' would cause the model loading mechanism to treat an any input as if it had an 'xml' extension.

- private - Indicate whether the transformation should appear in any JET UIs, or be enumerated by any JET APIs that search for available transformations. The default is `false`, indicating that the transformation will appear in all UIs and APIs.
- modelSchema - An optional project relative path or a URL to a file that serves as a schema for transformation inputs. JET APIs makes no use of this information, but a schema can help users in creating valid models for the transformation.
- enableEmbeddedExpressions - If set to 'true', then embedded expressions of the for ${ expr } are allowed in both template bodies and tag attributes. Otherwise, these string are treated as literal values.

<!ELEMENT tagLibraries (importLibrary*)>

Declares tag libraries that may be used by the transformation's templates.

<!ELEMENT importLibrary EMPTY>

<!ATTLIST importLibrary

id CDATA #REQUIRED

usePrefix CDATA #REQUIRED

autoImport (true | false)

>

References an JET2 tag library.

- id - The tag library id. Example: org.eclipse.jet.controlTags
- usePrefix - The prefix to use for the tag library when the tag library is auto imported into the project's templates.
- autoImport - Indicates whether the project's templates should implicitly import the tags in this library.

<!ELEMENT description (#PCDATA)>

A textual description of the transformation.

###### Examples:

Not available

###### Supplied Implementation:

Not applicable.

Copyright (c) 2005, 2010 IBM Corporation and others.