create new tag
, view all tags
ALERT! NOTE: This is a DistributionDocument. Please help maintain high quality documentation: This is a wiki, please fix the documentation if you find errors or incomplete content. Put questions and suggestions concerning the documentation of this topic in the comments section below. Use the Support web for problems you are having using TWiki.

INCLUDE a topic in the raw

When a topic is included, normally TWiki variables in the included topic are expanded in the context of the inlcluded topic. But if raw="on" is specified, that variable expansion does not happen.

This topic explains what it is for and what it really means.

When a new topic is created based on a template topic

You can specify a template topic when you create a new topic. Variable expansion during topic creation is different from usual. It's explained here. Basically, variables are not expanded for the most part but you can force variable expansion by prepending EOTC__ to a variable name.

Leveraging INCLUDE with raw="on", a template topic can be composed of multiple topics. Let's say there is a topic named ThreePartTemplate as follows.

%EOTC__INCLUDE{"TmplPartA" raw="on"}%
%EOTC__INCLUDE{"TmplPartB" raw="on"}%
Thanks to raw="on", TWiki variables in TmplPartA and TmplPartB are not expanded when those topics are included. Since most variables are not expanded in topic creation, most variables in TmplPartA and TmplPartB are put as they are in the new topic.

Let's assume TmplPartA contains %CALENDAR%. It will show up as is in a topic created based on ThreePartTemplate.

  1. When TmplPartA is included, no variable expansion happens.
  2. %CALENDAR% is not subject to expansion in topic creation, so it's left as is in the created topic.

If raw="on' wasn't present,

  1. When TmplPartA was included, %CALENDAR% would be expanded in the context of TmplPartA.
  2. As a result, the created topic would have an HTML table of a calendar rather than %CALENDAR% on it.

When a topic is viewed

In viewing a topic, variable expansion always happen.

Let's say there is a topic named IncludedTopic whose content is %TOPIC%.

IncludedTopic: %TOPIC%

If that's included by another topic IncludingTopic with raw="on" parameter and this enhancement is in effect, IncludingTopic shows IncludedTopic.

IncludingTopic: %INCLUDE{"IncludedTopic" raw="on"}% -> IncludingTopic

This is because when IncludedTopic is included by IncludingTopic, the variable %TOPIC% is not expanded and the processing of %INCLUDE{"IncludedTopic" raw="on"}% ends there. Then, %TOPIC% is expanded in the IncludingTopic's context.

On the other hand, if you don't have raw="on", %TOPIC% is expanded in IncludedTopic's context.

IncludingTopic: %INCLUDE{"IncludedTopic"}% -> IncludedTopic

Related Topics: VarINCLUDE, TWikiTemplates#Variable_Expansion

Comments & Questions about this Distribution Document Topic

Please use the Support forum if you have questions about TWiki features. This comment section is about the documentation of this topic.
Topic revision: r1 - 2014-12-16 - PeterThoeny
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.