SXML module class hierarchy

Release 1.0 - ...

A macro is in fact a .NET class that inherits from the Smartsite.Core.BaseModule class or from a specialized class.

BaseModule
    Module
        RawDataModule
             XmlReaderModule
                 ConditionalBranchModule
        ContainerModule 
        ResultSetModule

Smartsite Macro class inheritance hierarchy.

BaseModule

The base class for all Smartsite Macros and Vipers. Implements most basic functionality.

Language constructs such as collection, parameters and parameter inherit from this class.

Module

Generic base class for normal macros.

ContainerModule

Generic text container, which defines a default string parameter.

Macros: text, htmlpage, xhtmlpage, replace.

RawDataModule

Same as ContainerModule, except that the data in the default parameter is never parsed or executed. It is the responsibility of the macro itself to process the SXML.

Macros: region, viewsource, for, while, dowhile, cache, expression, impersonate, rem.

XmlReaderModule

Used for low-level Xml processing.

ConditionalBranchModule

Used by raw data macros that execute statements based on a given condition.

Macros: if, switch.

ResultSetModule

Used for datatable manipulation and formatting.

Macros: xlinks, sitemap, parents, siblings, placeholder, itemdata, filter, join, statistics, sqlquery, webservice, xmldatatable, sort, rss, dir.