Cache macro. Used to cache blocks of SXML.
The cache key is auto-generated based on the SXML in the Xml (default) parameter.

Syntax

Smartsite SXML CopyCode image Copy Code
<se:cache>
    <se:parameters>
        <se:parameter name="maxage">
            
        </se:parameter>
        <se:parameter name="xml">
            
        </se:parameter>
    </se:parameters>
</se:cache>

Parameters

Name Data Type Properties Description
BypassExistingCache Boolean NoCache
Sets a value indicating whether to bypass existing cache (default: false).
GenerateKeyOnly Boolean NoCache
Sets a value indicating whether to generate a cache key only (SXML code will not be executed). Default: false.
Global Boolean - Sets a value indicating the cache is to be used globally (over all channels). Default: true.
If not set (default setting), the generated cache key will include a reference to the curent channel, making the cache valid for this channel only.
If you are sure the generated cache has no dependencies on channel-specific data, you can safely set 'Global' to true.
KeyDependencies Collection - Sets a list of dependencies that will help generate a unique cache key for the cache block.
For instance, if you wish to have cache generated depending on a querystring parameter or the current user-role, add vipers accordingly.
MaxAge String - Sets the timeout in the format of a TimeSpan (HH:mm:ss).
Default: none (cache until cache is flushed by external event, such as site refresh, AIM events)
Use 0 for immediate timeout.
UserAgentDependent Boolean - Sets a value indicating whether the cache should be user-agent dependent (default: false).
Xml String RawData
IsRequired
Sets the XML.

Shared Parameters

Name Data Type Properties Description
Access String - Friendly name of the minimum access type level required by the site visitor to execute this macro.
AccessDenied String RawData
Sets the value that is returned when the site visitor has insufficient access.
AIM Enum - Sets the AIM scanning mode of the macro.
Enum values:
  • NotSet
    Not set.
  • Off
    No AIM scanning.
  • External
    Output XML scanning.
  • Internal
    Internal scanning, implemented by AIM-aware macros.
  • Autonomous
    Relations are to be linked to the current source item, instead of the rendered page.
  • SoftLink
    Should generate soft links (in combination with External flag).
  • InternalAutonomous
    Internal scanning, combined with the Autonomous setting.
  • ExternalAutonomous
    External scanning, combined with the Autonomous setting.
  • ExternalAutonomousSoftLink
    External scanning, combined with the Autonomous and softLink settings.
  • ExternalSoftLink
    External scanning, combined with the Softlink setting.
Condition String MustBeAttribute
ExpressionSyntax
XmlDecode
Sets the Viper expression to evaluate before actually executing the macro.
If the expression returns false, the execution of the module and its child modules is skipped.
Default String RawData
Sets the default value that will be returned when the execution would otherwise return an empty string.
Error String RawData
Sets the value to return in case on error occurs during execution.
The Viper expressions this.error(), this.error(full) and this.error(type) are available in this context.
Id String MustBeAttribute
Trim
Sets the Id of the macro. Macros with Ids set can be accessed using Viper by referring to page.[id].[methodname()].
LocalId String MustBeAttribute
Trim
Sets the local id of the macro in the current buffer scope.
Rem String RawData
NoCache
Trim
Sets the remarks. Remarks have no effect on the actual execution of the module.
They only improve the readability of the code.
ResultFormat String RawData
Sets the resultformat.
ResultType Enum - Sets the type of the result.
Enum values:
  • Undefined
    Not set
  • None
    No result
  • String
    Default type
  • Object
    Generic object
  • Binary
    Binary data
  • Boolean
    Boolean
  • DataTable
    DataTable
  • DateTime
    Date/time
  • Float
    Floating point numeric data
  • Integer
    Integer
  • Locator
    Extended Uri
  • Xml
    Xml Data
Save Collection - Sets the buffer names.
Status Enum - Gets a value indicating the ModuleStatus of this module.
Enum values:
  • Unknown
    Unknown
  • BeginInitialize
    Initializing the module
  • EndInitialize
    Module has fully initialized
  • BeginSetProperties
    Properties are about to be set
  • EndSetProperties
    Properties have been set
  • BeginExecute
    Execution starts
  • BeginFormatData
    Starting data formatting.
  • EndFormatData
    Ended data formatting.
  • BeginFormatResult
    Before formating result.
  • EndFormatResult
    After formatting result
  • EndExecute
    Execution is ending
  • StartLoseScope
    Execution has completed
  • EndLoseScope
    Module is about to unload
  • Error
    Module is in an error state
Timeout Float - Sets the timeout in seconds. In the overriden Execute() method, you can call CheckTimeout() to check whether execution has timed out.
Trim Enum MustBeAttribute
Gets a value indicating how the whitespace is trimmed.
Whitespace Enum MustBeAttribute
Gets a value indicating whether to preserve whitespace.
Enum values:
  • Inherit
    Inherit from parent.
  • Preserve
    Keep all whitespace.
  • Remove
    Remove all whitespace.
  • Normalize
    Convert all whitespace to single spaces.
  • SimpleFormat
    Convert all whitespace to single spaces, but keep single line breaks.

Local Viper Methods

Viper Extension Description
This.ClearForcedResult   Sets the result of the macro.
used to override the normal handling of the result creation.
This.GetCacheKey   Gets the key.
This.GetForcedResult   Gets the forced result of the macro, set by overriding the normal rendering using SetForcedResult().
This.IsCached   Determines whether this instance is cached.
This.RenderTime Returns the render time of the macro in milliseconds.
This.SetForcedResult   Sets the result of the macro.
used to override the normal handling of the result creation.

Shared Local Viper Methods

Viper Extension Description
This.AIM.Relations Gets a list of all outgoing AIM relations created by the macro.
This.Buffer.Exists   Checks whether a local buffer exists.
This.Buffer.Get   Gets a local buffer.
This.Buffer.Set   Sets a local buffer.
This.Error.InnerException.Message   Returns the text message of the inner exception of the exception that has occurred.
This.Error.InnerException.SmartsiteCode   Returns Smartsite error code of the inner exception of the exception that has occurred.
This.Error.InnerException.Throw   Makes Smartsite throw the inner exception.
This.Error.InnerException.ToString   Returns the full information of the inner exception of the exception that has occurred, including the stack trace.
This.Error.InnerException.Type   Returns the full Type name of the inner exception of the exception that has occurred.
This.Error.Message   Returns the text message of the exception that has occurred.
This.Error.SmartsiteCode   Returns the Smartsite Error code of the exception that has occurred.
This.Error.Throw   Makes Smartsite throw the current exception.
This.Error.ToString   Returns the full information of the exception that has occurred, including the stack trace.
This.Error.Type   Returns the full Type name of the exception that has occurred.
This.FindExtension   Finds an extension macro.
This.GetParameter Gets the value of the given parameter/property.
This.ParameterExists Checks whether the given parameter/property is set.
This.Result   Returns the result of the macro.
Typically used in the ResultFormat property, to format, convert or encode the result.
This.SXMLPath   Gets the path to the macro in the current execution stack.

Expand image Examples

Expand image See Also

SXML