周末对 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
分享到:
相关推荐
梅县客家杠屋民居的形制--以桥溪村建筑为例的研究,肖旻,,以广东梅县桥溪村民居建筑为例,通过数据分析,研究梅州客家地区民居基本类型杠屋的形制,初步建立了杠屋的尺度模型(包括面宽、
行业数据-2019年中国汉服消费者对汉服形制设计的态度占比.rar
广府地区民居基本类型三间两廊的形制-以三水大旗头村建筑为例的研究,肖旻,,以广东三水大旗头村民居建筑为例,研究广府地区民居基本类型三间两廊的形制。通过数据分析,初步建立了三间两廊的尺度模型(包括
哥特式建筑结构形制.pptx
中国传统建筑屋顶形制简介.doc
元代半臂的形制与渊源.pdf
哥特式建筑结构形制培训课件.pptx
2019年中国汉服消费者对汉服形制设计的态度占比.xls
唐代“堆土为陵”和“依山为陵”两种形制原因探析.zip
从样式、形制和结构等方面对辽代砖塔进行论述,提出在其发展中辽代砖塔表象出了4点总的发展 特征,既承袭了唐制的特征,也受到北宋的影响,与五代、北宋共同构成了繁丽时期的代表,同时华塔盛行,最 终形成了辽代砖塔的...
通过对汉民族博物馆藏品的调研及资料的搜集,以现存汉民间珍藏的丝绸云肩实物为基础,介绍了云肩的形制及构成材料,且分别从使用功能和审美与民俗功能两方面阐述了其功能。研究表明,由于受近代经济生活方式与审美等因素...
以实地调研为基础,以申家二十四院为例,从它的院落形制、建筑元素、空间组合特点、建筑装饰以及价值特色等方面出发,进行分析研究,对了解晋东南地区聚落与民居的科技文化有一定的指导作用。通过研究,进一步证实了潞商...
中国水转大纺车与英国阿克莱水力纺纱机是2种不同类型的水力纺纱机械,它们在原理上十分相似,然而在锭子的形制、纱线卷绕等方面有着明显的不同。从这两类水力纺纱机械的结构和原理入手,从技术层面上分析它们的异同点,...
通过对明代靖江王府承运殿基址沿用的文献梳理,结合实地调研、测量绘制两层须弥座遗存现状,对承运殿的相关形制进行比较分析。根据明代官式建筑营造方法,合理推论其面阔开间形式,论述它与明初一般王府主殿的差异,这一...
惠阳是广东珠三角地区主要客家聚居地,其中良井镇客家杨氏十三家聚落群...本文基于深入田野调查资料,对该聚落空间组织及层次分布所表达的中国传统礼制社会等级思想进行了讨论,并分析了其围屋建筑形制的发展演变特点。
GoogleEarth基站扇区绘制工具V3.6.xls
“西天梵境”是一组文物价值很高的古...整组建筑形制等级分明,其中大慈真如宝殿木质构架全部采用珍贵的金丝楠木制作,整栋建筑通体不施釉彩,突显金丝楠木的华贵本色,天花形制与故宫太和殿相同,大殿等级之高可见一斑。
研究表明,佛山镇的聚落环境受到风水思想的影响,但由于佛山的市镇属性和独特地理环境,使古佛山并非严格按照风水格局的形制,水环境在风水意象中占有重要地位。通过认识佛山镇的风水格局,可窥见古人的聚落环境意象...
图纸包含:相地—区位分析、韜略—规划分析、布局—规划方案 、築樓—产品设计、示範—示范区篇、形制—立面意向等共136页。效果图.png。01 方案鸟瞰图.png。参观动线.png。产品分布.png。地库分析.png。方案二.png...