org.apache.commons.jelly.tags.xml

## Class SetTag

- java.lang.Object
- - org.apache.commons.jelly.TagSupport
  - - org.apache.commons.jelly.xpath.XPathTagSupport
    - - org.apache.commons.jelly.tags.xml.SetTag

All Implemented Interfaces:
  Tag

    public class SetTag
    extends XPathTagSupport

A tag which defines a variable from an XPath expression. This function creates a variable of type `List` or `Node` (for example `Element` or `Attribute`). Thus, the variable created from xml:set can be used from the other xml library functions.

Version:
  $Revision: 155420 $
Author:
  James Strachan

### Field Summary

### Fields inherited from class org.apache.commons.jelly.TagSupport

`body, context, parent`

### Constructor Summary

Constructors
Constructor and Description
`SetTag()`

### Method Summary

Methods
`void` `doTag(XMLOutput output)` Evaluates this tag after all the tags properties have been initialized.
`void` `setAsString(boolean asString)` If set to true, will ensure that the (XPath) text-value of the selected node is taken instead of the node itself.
`void` `setDelim(String delim)` If set, returns a string delimited by this delimiter.
`void` `setDescending(boolean descending)` Set whether to sort ascending or descending.
`void` `setSelect(org.jaxen.XPath select)` Sets the XPath expression to evaluate.
`void` `setSingle(boolean single)` If set to true will only take the first element matching.
`void` `setSort(org.jaxen.XPath sortXPath)` Sets the xpath expression to use to sort selected nodes.
`void` `setVar(String var)` Sets the variable name to define for this expression

### Methods inherited from class org.apache.commons.jelly.xpath.XPathTagSupport

`getXPathContext`

### Methods inherited from class org.apache.commons.jelly.TagSupport

`findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, getBody, getBodyText, getBodyText, getContext, getParent, invokeBody, isEscapeText, isTrim, setBody, setContext, setEscapeText, setParent, setTrim, trimBody`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SetTag

    public SetTag()

### Method Detail

#### doTag

    public void doTag(XMLOutput output)
               throws MissingAttributeException,
                      JellyTagException

Description copied from interface: `Tag`
Evaluates this tag after all the tags properties have been initialized.

Throws:
  `MissingAttributeException`
  `JellyTagException`

#### setVar

    public void setVar(String var)

Sets the variable name to define for this expression

#### setSelect

    public void setSelect(org.jaxen.XPath select)

Sets the XPath expression to evaluate.

#### setSingle

    public void setSingle(boolean single)

If set to true will only take the first element matching. It then guarantees that the result is of type `Node` thereby making sure that, for example, when an element is selected, one can directly call such methods as setAttribute.
If set to false, guarantees that a list is returned. If set to false, guarantees that a list is returned.

#### setAsString

    public void setAsString(boolean asString)

If set to true, will ensure that the (XPath) text-value of the selected node is taken instead of the node itself. This ensures that, thereafter, string manipulations can be performed on the result.

#### setDelim

    public void setDelim(String delim)

If set, returns a string delimited by this delimiter. Implies `asString` to be true.

#### setSort

    public void setSort(org.jaxen.XPath sortXPath)
                 throws org.jaxen.JaxenException

Sets the xpath expression to use to sort selected nodes. Ignored if single is true.

Throws:
  `org.jaxen.JaxenException`

#### setDescending

    public void setDescending(boolean descending)

Set whether to sort ascending or descending.