Advanced Customization > Info*Engine User’s Guide > Info*Engine Custom Tag Reference > Info*Engine Tags
  
Info*Engine Tags
Info*Engine tags provide access to a set of custom actions that encapsulate recurring functionality so that the same functionality can be reused in multiple Info*Engine JSP pages or standalone tasks.
Using Info*Engine tags reduces the necessity to embed large amounts of Java code in JSP pages and in standalone tasks, and allows you to quickly create the pages and tasks that are required for your application.
The tags for Info*Engine JSP pages are provided in the following tag libraries:
Core
Directory
Supplied
* 
The tags in the directory tag library are not supported in standalone tasks.
To use the Info*Engine tags, you must include the taglib directive, which identifies the tag library and provides a prefix for uniquely identifying the tags on the page. For example, to use the directory Info*Engine tags and identify them by the iedir prefix, include the following directive:
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/directory"
prefix="iedir" %>
The syntax for each tag described here assumes that the taglib prefix attribute is set to one of the following. However, if you specify a different prefix, use the prefix you specified in place of the supplied tag syntax examples shown here:
Tag Library
taglib Prefix
Core
ie
Directory
iedir
Supplied – JSTL
c
Supplied – XSL
xsl
Supplied – Logging
log
The following Info*Engine tags are available:
Tag
Tag Library and Description
Supplied Tag Library (JSTL). Allows for conditional evaluation with an alternative for evaluation failure (if/else).
Directory Tag Library. Creates new entries in the specified LDAP directory service.
Directory Tag Library. Deletes an LDAP entry from the LDAP directory service.
Core Tag Library. Extracts and displays a string directly from a resource bundle or from a group created with the Get-Resource webject.
Core Tag Library. Allows you to supply code for failure processing within a unit.
Core Tag Library. Allows you to iterate through an existing Info*Engine group, one element at a time.
Supplied Tag Library (JSTL). Supports iteration over an iterable, group, or array of objects. Provides JSTL support for Info*Engine tasks.
Core Tag Library. Establishes a variable reference to the Info*Engine object (com.infoengine.jsp.InfoEngine) that is being used by the Info*Engine custom tags on a JSP page.
Core Tag Library. Retrieves the string value of the specified attribute from the first element in the input group.
Supplied Tag Library (JSTL). Allows for conditional evaluation of its body. Provides JSTL support for Info*Engine tasks.
Supplied Tag Library (Logging). One tag for each corresponding log4j log level. Each issues a log message to the corresponding log method.
Core Tag Library. Supplies the initialization for a unit.
Directory Tag Library. Creates an Info*Engine group containing elements that are the relative distinguished names of the LDAP directory entries located directly under the specified base directory level.
Supplied Tag Library. (JSTL). If the when tag evaluates to false, then the content of the otherwise tag is invoked and executed (representing the “else” of if/else logic). Provides JSTL support for Info*Engine tasks.
Core Tag Library. Allows you to define a set of webjects or tasks that are executed concurrently.
Core Tag Library. Defines a parameter for use within webject tags, task tags, and directory service tags.
Supplied Tag Library (XSL). Specifies a value for an XSL parameter to be supplied for the transformation. This tag is embedded within a transform tag and is optional. Provides XSL transformation tag support.
Directory Tag Library. Creates an Info*Engine group containing elements that are the LDAP directory entries matching the search criteria specified.
Core Tag Library. Resets the Info*Engine object (com.infoengine.jsp.InfoEngine) that is being used by the Info*Engine custom tags on a JSP page or in a session.
Supplied Tag Library (JSTL). Terminates task invocation. Provides JSTL support for Info*Engine tasks.
Supplied Tag Library (JSTL). Sets a variable in either the tasklet context or request context. Provides JSTL support for Info*Engine tasks.
Supplied Tag Library (Logging). Sets the log4j logger to be used.
Core Tag Library. Allows you to supply code for success processing within a unit.
Core Tag Library. Identifies an XML task that you want to execute.
Supplied Tag Library (XSL). Performs XSL transformation on an input group and streams the result to the task’s output stream. Supports embedded param tags.
Core Tag Library. Allows you to group a sequence of webjects, tasks, or Java code so that the group is executed as a unit.
Directory Tag Library. Updates existing entries in an LDAP directory service.
Core Tag Library. Identifies the webject you want to execute.
Supplied Tag Library (JSTL). Similar to the if tag, but within the choose parent tag (represents the “if” of if/else logic). Provides JSTL support for Info*Engine tasks.
The following section describes some rules you need to be familiar with, and is followed by topics describing each tag in detail.
Attribute and Value Rules for Info*Engine JSP Pages and Tasks
In addition to the general JSP rules, a few additional rules concerning attributes and their data values must be followed for an Info*Engine task or JSP page to be well-formed and valid:
All values for attributes must be enclosed in quotation marks. For example, the following are correct:
<ie:param name="GROUP_OUT" data="employees"/>
<ie:param name="GROUP_OUT" data='employees'/>
However, the following is incorrect:
<ie:param name="GROUP_OUT" data=employees/>
The quotes must match on either side of the attribute value. Using the same example from above, the following is correct:
<ie:param name="GROUP_OUT" data='employees'/>
However, the following is incorrect:
<ie:param name="GROUP_OUT" data="employees'/>
If a particular quotation mark must appear within an attribute value, the quotation marks surrounding the entire value cannot be of the same type. For example, the following is correct:
<ie:param name="HEADER" data="Dave's"/>
However, the following is incorrect:
<ie:param name="HEADER" data='dave's'/>
Instead of using different quotation marks, you can use an escape character for the internal quotation mark. For example, the following is correct:
<ie:param name="HEADER" data='dave\'s'/>
Some special characters cannot appear directly in an attribute value for display as part of that value. These values can cause problems and should be used with caution. To include these characters as part of an attribute value, they must be encoded as follows, similar to special character encoding in HTML:
Symbol Name
Appearance
Character Encoding
less than
<
&lt;
greater than
>
&gt;
ampersand
&
&amp;
apostrophe
'
&apos;
double quote
"
&quot;
Info*Engine maintains the @FORM, @SERVER, and @COOKIE context groups as part of the VDB. Therefore, you cannot use @FORM, @SERVER, and @COOKIE as names of any groups created in Info*Engine tasks. In addition, the Auth-Map context group is created as a result of executing an authentication task. Do not use this group name for anything other than the user authentication group. For additional information about the Auth-Map context group, see Credentials Mapping.
* 
The URIs shown in this guide use the forward slash as the separator (/) in file paths even though the back slash (\) is the directory separator used on NT systems. Info*Engine correctly identifies all system URIs when you specify the forward slash. If you prefer to use the back slash for NT URIs, you must escape the back slash in the URI. This means that you enter two \\ for each \ in the URI. For example URI locations, see Specifying URIs and URLs.