Document Properties
Last Modified04-Feb-2020
Added to KB20-Jun-2013
Public AccessEveryone
Doc TypeReferences
  • ICM 7.6
  • ICM 7.7
  • ICM 7.8
  • ICM 7.9
  • ICM 7.10

Reference - ISML Reference

1 Introduction

This reference is addressed to developers who want to create or edit ISML templates.

Such templates combine HTML with a proprietary language extension referred to as Intershop Markup Language (ISML):

  • ISML is an extended markup language based on JavaServer Pages technology and is primarily used to add dynamic content to a page.
  • ISML provides means to retrieve data from the pipeline dictionary, to trigger the execution of pipelines, and to embed templates inside other templates.
  • Accounting for the variable parts of a template, ISML makes it possible to derive an infinite number of pages from a single template, it also provides an essential prerequisite for features such as personalization.

See chapter ISML Template Development of the Application Programming Guide for more detailed information about the concepts and the use of ISML.

2 ISML Tags

One group of the basic language elements of ISML is the "ISML tags".
In addition to the standard tags there also exist ISML custom tags and ISML modules.

2.1 ISML Tags (standard)

ISML tags define commands that describe how Intershop 7 should embed dynamic data into a page, and how to format this data together with regular HTML code.
An ISML tag has a specific name that always starts with the prefix IS, such as <isprint>or <isset>. A tag can have several attributes to control its behavior. ISML tags and their attribute names are case insensitive. However, the values of attributes are often case sensitive.

See Reference - ISML Tags for details.

2.2 ISML Modules Defined in modules.isml Files

These tags are defined in modules.isml files. See <ISMODULE> for detailed information on how to use the <ISMODULE> tag.
Usually, the modules.isml file defining the custom tag provides a brief description of the functionality and use of the custom tag.

Use Intershop Studio to filter for modules.isml files.

  1. Start Intershop Studio.
  2. Open the ISML Template View.
    Window | Show View | Other... | ISML Templates
  3. Open the filter drop-down menu .
  4. Toggle ISML Module to display the modules.isml files.
  5. Open the desired modules.isml files.
    The documentation is available as comments in the source code.

2.3 ISML Custom Tags Defined in Files

ISML Custom Tags are defined in files. These tags can be used if your cartridge depends on the cartridge with the corresponding file.
Using Custom Tags defined in files tags provides a significant performance increase compared to referencing modules.isml files.

See Reference - ISML Custom Tags for details.

3 ISML Expressions

ISML expressions encode arithmetical, Boolean, and string operations, as well as special function calls. They are used to perform calculations, to compare values, or to produce new values in combination with functions. ISML expressions are evaluated at runtime every time output is generated from a specific template.

Expressions can be composed of:

See Reference - ISML Expressions for details.

3.1 ISML Template Variables

Template variables are placeholders for dynamic content used in ISML Expressions. They are used to refer to data stored in the pipeline dictionary and to be displayed on the page generated from the template. The pipeline dictionary stores these data objects as keyvalue pairs. Via the key, template variables identify a data object in the pipeline dictionary.

See Reference - ISML Template Variables for details.

3.2 ISML Constants

Constants are used within ISML Expressions. There are two different types of constants:
  • Numerical Constants
  • String Constants

ISML expressions can use both numerical and string constants.

See Reference - ISML Constants for details.

3.3 ISML Operators

An operator is a symbol that represents a specific action. For example, a plus sign (+) is an operator that represents addition. Operators are used within ISML Expressions and allow you to manipulate numerical and string values stored as variables or constants. In case one or more operators are not of the required types as described below, a runtime exception will occur.

See Reference - ISML Operators for details.

3.4 ISML Functions

Functions are used in ISML Expressions to perform a specific task and return a specific value when the template is processed to generate its output. ISML functions are, for example, used to dynamically generate URLs for links to other storefront pages (url(), urlex()), or to operate on strings.

See Reference - ISML Functions for details.

4 Guide - ISML Template Style Guide

This document describes best practice conventions for development of templates for applications based on Intershop 7. It outlines standards that have been defined and implemented during development of solutions based on Intershop 7 that proved to be successful, helpful or desirable. Although following these standards is not always technically necessary, Intershop strongly recommends that all parts of Intershop, implementation partners and customers follow these standards to:
  • Increase the readability of the source code of ISML templates,
  • Reduce frictions in software development,
  • Allow for reusing code,
  • Make ISML templates compliant with the XHTML standard,
  • Simplify managing ISML templates by using a proper naming scheme.

See Guide - ISML Template Style Guide for details.


The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Support Tickets