周末对 XML Lite
的源码做了一些重构,做着做着一个更大一点的想法出来了,现在那些指令集,用先天八卦的方式重新组织一下,一定有点意思。先吧想法写下来,顺便整理一下思路。
这里说的是Lite的指令集,不是Lite XML的用法。当需要设计自己的模版语法时需要了解的内容。
五行通天地:处理表达式逻辑
表达式指令分两部分:数据指令和运算指令
数据指令分以下五种类别
-
变量类型:
表达式渲染时传入的对象的属性(或者map的键值),都可以映射到模版的变量中。
- 常量类型:
表达式中的字面量
- 延迟节点:
对于一些需要短路运算的操作(与或短路,三目运算),需要引入延迟计算的节点,来支持这类运算。
- 新数组节点:
用于创建一个新数组,或者函数调用参数列表(JS中的数组对象),这种类型可以归为操作类,但是JSEL将其提升为数据类型。
- 新键值集合节点:
用于构造一个新Map对象,类似JS中的object对象。
例如:
${[1,var1,2,3,"end"]}
涉及到的数据指令有:
新数组指令,变量指令(var1),常量指令(1,2,3,"end")
运算指令分按优先级分九重
(九组二十三条指令)。
- 指令编码设计:
操作符指令分三断:
000 1000 1
组内编号|优先级编号|操作元素个数标记
- 操作元素个数标记:
二元操作符号为1,一元运算符为0
- 优先级编号
安高低顺序重8-0共有9个等级
- 组内编号
最前面若干位表示该运算符所在的组内编号,确保唯一。
表达式解析过程和内部表示方法
表达式解析时,按照逆波兰式解析成单栈数据,每个数据项可以是上述五种基本数据元素或者哪九组操作符号。
运算过程,无须考虑优先级,且保持单栈的运算模型
八卦定乾坤:处理模版指令集合
天地定位:
乾南坤北,天居上,地居下,南北对峙,上下相对。
乾是三阳爻组成,对应数字为:111=7;
坤是三阴爻组成,对应数字为:000=0;
坤卦对应的模版指令类别为:EL
表达式。
这是模版的基础,所有的动态数据都是通过EL获取的。
乾卦对应的模版指令类别为 :ADDON(
插件)。
当其他模版指令无法支持你需要的功能时,考虑使用,但是高处不胜寒,少用为妙。
山泽相离:
艮为山居西北,兑为泽居东南。
艮是一阳爻在上,二阴爻在下,对应数字为:001=1;
兑是一阴爻在上,二阳爻在下,对应数字为:110=6;
艮卦对应的指令类别:if
。
兑卦对应的指令类别:else
。
雷风相薄:
震为雷居东北,巽为风居西南。
震是二阴爻在上,一阳爻在下,对应数字为:100=4;
巽是二阳爻在上,一阴爻在下,对应数字为:011=3;
震卦对应的指令类别:XML属性表达式 XML_TEXT
。
巽卦对应的指令类别:
XML文本表达式 XML_ATTR
。
这是专门为XML语法设置的模版指令,
这些指令根据原始数据和XML语法约束,可以比较智能的输出期望数据(如属性输出时的自动判断)。
自动化的编码处理,避免一些用户粗心而导致的XSS漏洞。
水火不融:
离为日居东,坎为月居西;离为火,坎为水。
离是上下为阳爻,中间为阴爻,对应数字为:101=5;
坎是上下为阴爻,中间为阳爻,对应数字为:010=2;
坎卦对应的指令类别:for
。
坎卦对应的指令类别:break
。
水可灭火,当你需哟跳出循环,那就break吧。
两个编外元素:
变量申明(1000=8)内容捕捉(1001=9)
两者都可以在运行时产生变量数据,提供给其他模版指令使用,就把他们放在八卦中央吧。
- 大小: 16.3 KB
- 大小: 12.7 KB
分享到:
相关推荐
本文以广东三水大旗头村的传统民居建筑为案例,探讨了广府地区民居建筑的基本形制类型——“三间两廊”。首先,文章强调了建筑形制研究的重要性,作为建筑历史学科研究的基础性工作,对民间建筑的形制研究相对薄弱,...
许多汉服爱好者认为,复原古代形制是对汉族文化的传承,他们倾向于选择严格按照历史记载制作的汉服。然而,另一部分消费者则更注重现代审美的融合,他们支持在传统基础上进行创新,以适应现代生活和时尚潮流。这些...
本文是对梅县客家杠屋民居形制的研究,以桥溪村的建筑为实际案例,探讨了梅州客家地区特有的民居类型——杠屋的建筑特性及其构造方式。杠屋作为一种建筑形式,在客家民居中占有重要地位,体现了客家人的生活习惯和...
元代半臂的形制与渊源 元代半臂,又称半袖或搭护,是中国服装史上的一个重要服饰种类。本文主要探讨了元代半臂的形制,渊源和制作工艺,并对相关历史文献和现存实物进行了系统的研究与整理。通过对元代半臂的研究,...
在这个时期的皇家陵墓建造上,我们可以看到两种主要的形制——“堆土为陵”和“依山为陵”,这两种形制背后蕴含着丰富的历史文化内涵和社会背景。 “堆土为陵”,又称为封土陵,是唐代早期的主要陵墓形制。这种形制...
哥特式建筑结构形制.pptx
中国传统建筑屋顶形制简介.doc
一些学者如张光直认为,玉琮是天地贯通的象征,是古人沟通天地、通神的法器,其形状和材质(玉)被认为具有神秘力量。 2. "天圆地方"的空间观念:玉琮的形状支持了中国古代"天圆地方"的宇宙观,外部的方形对应大地...
哥特式建筑结构形制培训课件.pptx
2019年中国汉服消费者对汉服形制设计的态度占比.xls
- 干摆拆砌、干摆剔凿挖补 - 装修整修、添配 - 地面细墁方砖、油漆地仗、彩画 - 石活添配、拆安 - 东南碑亭落架大修 - 西南碑亭下层檐翻挑 - 大殿后檐明间大木拆安 - 更换额枋、承椽枋 - 吊顶内大木加固等 ...
- **特数**:纤维或纱线粗细的一种表示方法,单位为“特克斯”(Tex),指的是1000米长度的纤维或纱线在公定回潮率下的质量克数。 - **回潮率**:纤维在一定大气条件下吸湿后增加的水分重量占干燥纤维重量的百分比。 -...
2. 结构分析:介绍笔筒的结构,如分层、支柱、屋顶等元素,以及如何在三维空间中重构这些元素,使之既美观又实用。 3. 材料选择:探讨适合制作笔筒的不同材料,如木材、金属、塑料等,以及选择某种材料的原因,如...
《风俗通》中提到,古琴长四尺五寸,寓意四季五行,七弦则象征北斗七星,大弦代表君,小弦代表臣,反映了古代的君臣之道。同时,琴上的十二徽分别对应十二个月份,中间最大的徽象征闰月,体现了古人对天地自然的敬畏...
- 历史建筑保护工程:包括中外建筑史、历史建筑形制与工艺、保护技术、设计素描、设计色彩等学科。 三、土木类专业细分 土木类专业下设的细分专业主要包括: - 土木工程:课程内容包括土木工程力学、图学、房屋建筑...
- 秦朝统一货币:秦始皇统一六国后,实行了货币标准化,规定圆形方孔钱为基本货币,这一形制一直沿用到清朝。 - 纸币的出现:北宋时期,由于经济繁荣和交易需求增大,出现了世界上最早的纸币“交子”,最初作为...
从样式、形制和结构等方面对辽代砖塔进行论述,提出在其发展中辽代砖塔表象出了4点总的发展 特征,既承袭了唐制的特征,也受到北宋的影响,与五代、北宋共同构成了繁丽时期的代表,同时华塔盛行,最 终形成了辽代砖塔的...
形制要小:考虑到茶餐厅的服务特性,食物通常以小份量、多样化的形式出现,便于顾客尝试多种菜品。 - B. 高脂肪:不符合健康饮食趋势。 - C. 大分量:与茶餐厅的定位不符。 - D. 高热的食品:不符合健康饮食要求...
明清砚台不仅是实用的书写工具,更是集文学、书法、绘画于一体的艺术品。 #### 砚台种类 - **石砚**:最常见的砚台类型,尤其是端砚和歙砚。端砚产自广东肇庆市东郊的端溪水一带,以其质地细腻著称;歙砚则产自...