#
Tag Libraries

###### Identifier:

org.eclipse.jet.tabLibraries

###### Since:

1.0

###### Description:

Defines JET tag libraries.

###### Configuration Markup:

<!ELEMENT extension (tagLibrary+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

<!ELEMENT tagLibrary ((functionTag | iteratingTag | conditionalTag | emptyTag | containerTag) , description?)>

<!ATTLIST tagLibrary

id CDATA #REQUIRED

name CDATA #REQUIRED

standardPrefix CDATA #IMPLIED

deprecated (true | false) >

Declares a tag library. That is, a collection of related JET2 tags.

- id - A unique name, within this plug-in for the library. For API purposes, the tag library id will be the concatenation of the plug-in id, a period ('.') and this value.
- name - A short, descriptive name of the purpose of the tags in the library.
- standardPrefix - The standard prefix used by tags in this library.
- deprecated - If set to 'true', indicates that use of the tag library is discourage.

<!ELEMENT functionTag (attribute+ , description?)>

<!ATTLIST functionTag

name CDATA #REQUIRED

class CDATA #REQUIRED

deprecated (true | false)

whenContainingLineIsEmpty (preserve|remove) "preserve">

Define a tag that writes a value to the template output which is calculated from the elements content and any attribute values. Function tags require content in order to create output. An empty function tag, for example <myFunction/> will produce no output.

- name - The tag name, without prefix. The name must start with a letter or underscore (_), and the remaining characters may be letters, digits, underscores(_), hyphens(-) or periods(.).
- class - The class that implements that tag.
- deprecated - If set to 'true', indicates that use of the tag is discourage.
- whenContainingLineIsEmpty - Defines the compiler behavior when the tag occurs on an otherwise empty line. If 'remove' is selected, the whitespace and trailing new line are not included in the templates output. In general, if a tag writes content, then this attribute should be set to 'preserve'.

  The default for function tags is 'preserve'.

<!ELEMENT iteratingTag (attribute+ , description?)>

<!ATTLIST iteratingTag

name CDATA #REQUIRED

class CDATA #REQUIRED

deprecated (true | false)

processContents (custom|standard) "standard"

whenContainingLineIsEmpty (preserve|remove) "remove">

Define a tag that causes repeated evaluation of its contents based on its attribute values.

- name - The tag name, without prefix. The name must start with a letter or underscore (_), and the remaining characters may be letters, digits, underscores(_), hyphens(-) or periods(.).
- class - The class that implements that tag.
- deprecated - If set to 'true', indicates that use of the tag is discourage.
- processContents - When set to 'custom', the tag handler is passed its processed contents, and is responsible for handling it appropriately. Otherwise, the enclosing template handles the contents automatically on the tag handler's behalf. The default is 'standard'.
- whenContainingLineIsEmpty - Defines the compiler behavior when the tag occurs on an otherwise empty line. If 'remove' is selected, the whitespace and trailing new line are not included in the templates output. In general, if a tag writes content, then this attribute should be set to 'preserve'.

  The default for iterating tags is 'remove'.

<!ELEMENT conditionalTag (attribute+ , description?)>

<!ATTLIST conditionalTag

name CDATA #REQUIRED

class CDATA #REQUIRED

deprecated (true | false)

processContents (custom|standard) "standard"

whenContainingLineIsEmpty (preserve|remove) "remove">

Define a tag that conditionally writes its contents to the output depending on some calculation.

- name - The tag name, without prefix. The name must start with a letter or underscore (_), and the remaining characters may be letters, digits, underscores(_), hyphens(-) or periods(.).
- class - The class that implements that tag.
- deprecated - If set to 'true', indicates that use of the tag is discourage.
- processContents - When set to 'custom', the tag handler is passed its processed contents, and is responsible for handling it appropriately. Otherwise, the enclosing template handles the contents automatically on the tag handler's behalf. The default is 'standard'.
- whenContainingLineIsEmpty - Defines the compiler behavior when the tag occurs on an otherwise empty line. If 'remove' is selected, the whitespace and trailing new line are not included in the templates output. In general, if a tag writes content, then this attribute should be set to 'preserve'.

  The default for conditional tags is 'remove'.

<!ELEMENT emptyTag (attribute+ , description?)>

<!ATTLIST emptyTag

name CDATA #REQUIRED

class CDATA #REQUIRED

deprecated (true | false)

whenContainingLineIsEmpty (preserve|remove) "preserve">

Define a tag creates output or causes actions based on its context and attribute values only. An empty tag may have no content, and must be of the form <myEmptyTag ... />

- name - The tag name, without prefix. The name must start with a letter or underscore (_), and the remaining characters may be letters, digits, underscores(_), hyphens(-) or periods(.).
- class - The class that implements that tag.
- deprecated - If set to 'true', indicates that use of the tag is discourage.
- whenContainingLineIsEmpty - Defines the compiler behavior when the tag occurs on an otherwise empty line. If 'remove' is selected, the whitespace and trailing new line are not included in the templates output. In general, if a tag writes content, then this attribute should be set to 'preserve'.

  The default for empty tags is 'preserve'.

<!ELEMENT attribute (description?)>

<!ATTLIST attribute

name CDATA #REQUIRED

use (required|optional) "required"

deprecated (true | false)

type (string|boolean|xpath) "string">

- name - The attribute name. The name must start with a letter or underscore (_), and the remaining characters may be letters, digits, underscores(_), hyphens(-) or periods(.).
- use - Indicates whether all tag instances must use this attribute or not.
- deprecated - If set to 'true', indicates that use of the attribute is discourage.
- type - The type of the attribute.

<!ELEMENT containerTag (attribute+ , description?)>

<!ATTLIST containerTag

name CDATA #REQUIRED

class CDATA #REQUIRED

deprecated (true | false)

processContents (standard|custom) "standard"

allowAsEmpty (true | false)

whenContainingLineIsEmpty (remove|preserve) "remove">

- name - The tag name, without prefix. The name must start with a letter or underscore (_), and the remaining characters may be letters, digits, underscores(_), hyphens(-) or periods(.).
- class - The class that implements that tag.
- deprecated - If set to 'true', indicates that use of the tag is discourage.
- processContents - When set to 'custom', the tag handler is passed its processed contents, and is responsible for handling it appropriately. Otherwise, the enclosing template handles the contents automatically on the tag handler's behalf. The default is 'standard'.
- allowAsEmpty - Determines if the container can be expressed as an empty xml tag of the form <tag/>. The empty tag form is permitted if `true` is specified. If not specified, then `false` is assumed.
- whenContainingLineIsEmpty - Defines the compiler behavior when the tag occurs on an otherwise empty line. If 'remove' is selected, the whitespace and trailing new line are not included in the templates output. In general, if a tag writes content, then this attribute should be set to 'preserve'.

  The default for container tags is 'remove'.

<!ELEMENT description (#PCDATA)>

###### Examples:

[Enter extension point usage example here.]

###### API Information:

[Enter API information here.]

###### Supplied Implementation:

[Enter information about supplied implementation of this extension point.]