ClearSilver模板编程总结

来源:互联网 发布:长春办公软件速成班 编辑:程序博客网 时间:2024/05/01 05:47
ClearSilver模板编程:

1. 概述:
clearsilver是一个用C语言实现的高性能的html模版系统.
CS 模板系统包含两个组成部分:Dataset和Template Files。
其中Dataset 为一种树状的数据结构,它被Template Files所引用,并生成最后的页面.

Template Files 通常为静态页面元素以及CS 语句的组合,其中的CS 语句通过变量名称来引用dataset中的数据,并通过一定的语法规则生成动态的内容。
引入CS之后,我们可以将静态的页面元素写入到模板文件中,而将XML数据源以及后台的参数导入到Dataset数据结构中,通过CS的库函数调用Dataset和Template File来生成整个动态页面。

CS文件本身不符合XML规范。

2. 变量的替换和定义

包含:var,evar,lvar,include,linclude,set,name。
常用:var,include,linclude,set

<?cs var:code?>,这个简单的语句就会把code值打印出来
<?cs include:”util”?>把文件包含进来
<?cs linclude:”AAAA.cs”?> 执行文件AAAA.cs中的代码。
<?cs set:account=””?>把account设定值为空。
<?cs set:i=#5?>CS模板中数字都写成#1,#2的形式。

3. 控制语句:

命令有:if, else, elif, alt

<?cs if:#1?>
当前数字是1
<?cs elif:#2?>
当前数字是2
<?cs else?>
数字为其他
<?cs /if?>

4. 迭代语句
命令有:each, loop, with
常用:each

<?cs each:items=res.item?>   遍历
<?cs    var:items?>
<?cs /each?>

<?cs loop:x = #1, #205, #2 ?><?cs var:x ?>, <?cs /loop ?>  循环,输出:1,3,5,...,205
<?cs loop:x = #205, #1, "-2" ?><?cs var:x ?>, <?cs /loop ?>  循环,输出:205, 203, 201, ... 1


5,宏

宏的命令:def, call
def,定义宏的命令
<?cs def:map_val(val, map) ?>    //遍历map,输出与val相等的值
    <?cs    each:item = map ?>
    <?cs        if:val == item ?>
    <?cs            var:item.val ?>
    <?cs        /if ?>
    <?cs    /each ?>
<?cs /def ?>

<?cs call:map_val(val,map)?>  调用函数(宏)

6. 函数

subcount(var),这个函数返回子节点的个数
string.slice(expr, start, end),切片操作,相当于substring
string.find(string, substr),查找函数,它会返回substr表达式的数字位置(如果找到的话),否则返回-1
string.length(expr)

url_escape(string);
//This URL encodes the string. 
//This converts characters such as ?, &, and = into their URL safe equivilants using the %hh syntax. 

7. cs中的扩展语法:

CS中的Macros:
CS中的自定义函数都是以宏的形式存在的,所以在函数中的空格,将会返回在调用的结果中
如果不想输出空格,函数体中不能留空格


8. 注释: <!-- 注释内容-->

 
原创粉丝点击