In the previous section we showed how to build certain applications using a single powerful component. This section shows how to combine components and to compose much more flexible and powerful applications.
The generic components are especially made for that kind of paradigm. They perform small useful functions that can be easily combined with others to create powerful applications.
Due to the object-oriented nature of heitml, it is possible to combine components freely on a single page. Per default all components on a page work independently. For example you may place a counter, a dbform, and a dbscroller on a single page. Each component will behave the same way as without the other components. It is even possible to place several counters, dbforms, or dbscrollers on a single page.
To build complex applications it is sometimes necessary to make the components cooperate with each other. heitml offers certain cooperation schemes to accomplish this. The easiest way of combination is nesting.
Certain components can contain other components. For example a dbform can contain arbitrary text, HTML, and arbitrary components to define the layout of the form. Especially field components can be contained in a dbform to display fields. The field components directly cooperate with form they are contained on. They always must be used inside a form component.
Another example are conditional components. They display their content only if a certain condition is met. For example all components contained in condbrowser are displayed only if the user uses a certain kind of Web browser. There are various kinds of conditional components representing various conditions. Any text, HTML, and any components can be used inside. For example a counter or even a dbform.