# Design-Time Tag Metadata Operations

## Overview

This document provides a reference of the operations that are available to "design-time" ("DT") metadata for JSP tags. DT metadata is consumed by the DT tag conversion / decoration framework to produce close-to-runtime visuals in the Web Page Editor.
Please see Providing Design-Time Tag Metadata for a tutorial on how to provide DT tag metadata.

## Operations

Operation | Parameters | Purpose
--- | --- | ---

AppendChildElementOperation

0: | Element name
1 (optional): | Make child Element current

Appends a new child Element to the current Element, and optionally makes the new child Element current.

AppendChildTextFromXPathOperation

0: | XPath expression

Appends child Text node containing the value of the evaluated XPath expression.

AppendChildTextOperation

0: | Text node content

Appends child Text node containing the content specified by the parameter.

ConvertAttributeToTextOperation

0: | Attribute name
1 (optional): | Remove attribute

Creates a new child Text node where the content is the specified attribute's value, and optionally removes the specified attribute.

CopyAllAttributesOperation | (None) | Copies all source Element's attributes to the current Element.

CopyAttributeOperation

0: | Attribute name
1 (optional): | Create if not present
2 (optional): | New value if not present

Copies a single source Element's attribute to the current Element, optionally creating a new attribute with the specified new value if not present on the source Element.

CopyChildrenOperation | (None) | Copies all child Elements to be further processed by the framework.

CreateAttributeFromXPathOperation

0: | Attribute name
1: | XPath expression

Creates an attribute on the current Element where the value is the value of the evaluated XPath expression.

CreateAttributeOperation

0: | Attribute name
1: | Attribute value

Creates an attribute with the specified value on the current Element.

CreateElementOperation

0: | Element name

Creates a new Element in the Document and makes it the current Element.

CustomTransformOperation

0: | Fully-qualified classname

Instantiates custom class (assumed to be in same plug-in as the metadata file in which it is referenced) that must implement ITransformOperation. This allows custom code to handle transformation operations for which there is currently no adequate pre-defined operation.

IfNotOperation

0: | XPath expression

Processes child operations only if the XPath expression does not evaluate to "true". IfNotOperation and IfOperation can be nested arbitrarily deep.

IfOperation

0: | XPath expression

Processes child operations only if the XPath expression evaluates to "true". IfNotOperation and IfOperation can be nested arbitrarily deep.

IterateOverElementsOperation

0: | XPath expression

Processes child operations for each Element in the set returned by the evaluated XPath expression.

MakeParentElementCurrentOperation | (None) | Makes the current Element's parent Element current.

RemoveAttributeOperation

0: | Attribute name

Removes the specified attribute from the current Element.

RenameAttributeOperation

0: | Old attribute name
1: | New attribute name

Renames the specified attribute of the current Element.

## References

- Providing Design-Time Tag Metadata