Nesting custom tags

A custom tag can call other custom tags from within it's body text, thereby nesting tags. ColdFusion uses nested tags such as cfgraph and cfgraphdata, cfhttp and cfhttpparam, and cftree and cftreeitem. The ability to nest tags allows you to provide similar functionality.

The following example shows a cftreeitem tag nested within a cftree tag:

<cftree name="tree1" 
   required="Yes" 
   hscroll="No">
   <cftreeitem value=fullname
      query="engquery"
      queryasroot="Yes"
      img="folder,document">
</cftree>

The calling tag is known as an ancestor, parent, or base tag, while the tags that ancestor tags call are known as descendant, child, or sub tags. Together, the ancestor and all descendant tags are called collaborating tags.

In order to nest tags, the parent tag must have a closing tag.

The following table lists the terms that describe the relationships between nested tags:

Calling tag Tag nested within the calling tag Description

Ancestor

Descendant

An ancestor is any tag that contains other tags between its start and end tags. A descendant is any tag called by a tag.

Parent

Child

Parent and child are synonyms for ancestor and descendant.

Base tag

Sub tag

A base tag is an ancestor that you explicitly associate with a descendant, called a sub tag, with cfassociate.

You can create multiple levels of nested tags. In this case, the sub tag becomes the base tag for its own sub tags. Any tag with an end tag present can be an ancestor to another tag.

Nested custom tags operate through three modes of processing, which are exposed to the base tags through the variable thisTag.ExecutionMode:

This section describes the following topics:


View comments in LiveDocs