关于这个话题我最近问了几个问题,无论是否回答,我一直在学习相关的技术。无论如何;
我一直在改造我之前创建的模板引擎,将解析引擎从正则表达式驱动转移到节点(XML)驱动。为了比较,这里有两个:
正则表达式驱动:
<body>
<!-- {{ region:myRegion }} -->
<div class="myClass">
<h1>{{ var:myHeading format:trim[200] }}</h1>
</div>
<!-- {{ region:myRegion }} -->
</body>
节点驱动:
<body>
<zuq:region name="myRegion">
<div class="myClass">
<h1>
<zuq:data name="myHeading">
<zuq:format type="trim">
<zuq:param name="length" value="200" />
</zuq:format>
</zuq:data>
</h1>
</div>
</zuq:region>
</body>
现在虽然更加冗长,但我认为此处的节点驱动方法更受欢迎,为格式化等情况提供了更大的灵活性,可以按照外观的顺序插入和处理多个格式节点。
无论如何,我的问题位于属性。使用正则表达式驱动的方法,如果我想在属性中使用模板生成的值,它就像:
<a href="page.php?param={{ var:myParam }}">Link</a>
我正在试图弄清楚如何合并生成属性值的干净实现,同时保持文档的良好形成。需要考虑的是格式化选项,以及解析器读取为数据修饰符的其他可能元素。
有什么想法吗?
答案 0 :(得分:1)
<a>
<zug:attr name="href">page.php?param=<zug:data name="myParam" /></zug:attr>
Link
</a>