[stringtemplate-interest] Region Syntax

Gary Clark GaryC at jeld-wen.com
Tue Sep 25 15:33:50 PDT 2007


Regions inherit the parameters of the template that uses them.  Just change the line:
 
main_layout() ::= <<

to:
 
main_layout(name) ::= <<


-----Original Message-----
From: stringtemplate-interest-bounces at antlr.org [mailto:stringtemplate-interest-bounces at antlr.org]On Behalf Of Andrew Hallock
Sent: Tuesday, September 25, 2007 2:09 PM
To: stringtemplate-interest at antlr.org
Subject: Re: [stringtemplate-interest] Region Syntax


I got this to work with the following, but run into a problem with group formal args:

Layout.stg:
group layout;
main_layout() ::= <<
<html>
<head>
<title>
$@page_title()$
</title>
</head>
<body>
$@child_content()$
</body> 
</html>
>>

Then the derived group, home.stg
group home : layout;
@main_layout.page_title() ::= "Homepage" 
@main_layout.child_content() ::= "<h1>Welcome, $name$</h1>"


Setup code:
...
StringTemplate st = subgroup.GetInstanceOf("main_layout");  //subgroup holding the group "home" 

This line throws an exception because of formal arg checking : 
st.SetAttribute("name", "Andrew");

Is there a way to set attributes in the "child_content" region?  The base group file can't know all the possible attributes that might be needed for @main_layout.child_content() 

Thanks,
Andrew 


On 9/25/07, Andrew Hallock < andrew.hallock at gmail.com> wrote: 

Nevermind...I think I can get it to work with group inheritance instead of simple templates. 



On 9/25/07, Andrew Hallock <  <mailto:andrew.hallock at gmail.com> andrew.hallock at gmail.com> wrote: 

I can't seem to get the syntax right for Template Regions: 

I need to set an attribute in an outer template (specifically, setting an HTML document's title element) from within a subtemplate.

Say, for simplicity, I have a file " layout.st" which can compromise other page templates.  

layout.st would look like:
<html>
<title>
$@page_title()$
</title> 
<body>
$(content_template_name)()$
</body>
</html>

How would you use the Template Region mechanism to set the layout's title region from within the child template?  It would be the equivalent of Django's template inheritance. 

Regards,
Andrew






-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org:8080/pipermail/stringtemplate-interest/attachments/20070925/f148bc8c/attachment.html 


More information about the stringtemplate-interest mailing list