private QilNode CompileAvt(string source)
{
QilList result = _f.BaseFactory.Sequence();
int pos = 0;
while (pos < source.Length)
{
QilNode fixedPart = ExtractText(source, ref pos);
if (fixedPart != null)
{
result.Add(fixedPart);
}
if (pos < source.Length)
{ // '{' encountered, parse an expression
pos++;
QilNode exp = CompileXPathExpressionWithinAvt(source, ref pos);
result.Add(_f.ConvertToString(exp));
}
}
if (result.Count == 1)
{
return result[0];
}
return result;
}