Hi Stephen,
The best way to pass values to an includelet is either to use noquote on the include line or to pass the value by reference. The problem you are observing is that the passed argument value (between @-characters) is quoted during the @-substituion of the include arguments, and if the variable is used a second time in the @-notation (in the included snippet), it is quoted again.
Look below for the interesting cases. In (1). there is no @ involved, therefore it is passed as value and needs quoting in the included adp snippet. In (2) we assume we have a variable named 'var' with a value '<'. The value is quoted during the substitution of @var@. In case (3) we use noquote, and in case (4) we use the call-by reference pattern. I would assume that for most uses, call-by-reference is appropriate.
<master>
<property name="doc(title)">@page_title;noquote@</property>
<property name="context">@context;noquote@</property>
1: <include src="./i" attribute='<'><hr>
2: <include src="./i" attribute='@var@'><hr>
3: <include src="./i" attribute='@var;noquote@'><hr>
4: <include src="./i" &attribute='var'>
Hope this helps
-gustaf