DJL语言标准--第二章:命令
2008-03-30 20:20
288 查看
(上接“ DJL语言标准--第一章:节点--(3) ”)
(此篇为DJL语言标准摘录4)
第二章:命令
命令用于辅助解析DJL文件。合理地使用命令可以使DJL文件更简单、易读。
命令的作用域是在书写位置后的同级或子级(包括孙级、孙级的子级等)起作用,对书写位置前的同级或子级(包括孙级、孙级的子级等),以及父级(包括祖父级、祖父级的父级等)无作用。
命令的格式
基本书写格式:
如有更多的参数,以此类推。
命令是固定的,您不能新增或删除命令。
DJL命令一共有如下几个命令:source命令(用于引入文件外部的DJL内容)、id命令(用于标识文件,方便其他DJL文件引用)、ignoreId命令(取消文件标识)、resetId(清除所有自设的文件标识)、mode命令(用于设置模式简称)、ignoreMode命令(取消某个模式简称)、resetMode命令(清除所有设置的模式简称)。
source命令
节点名称>[source("路径")]
使用此命令,可以表示该节点的内容或数据的来源是位于路径的DJL文件。
例如有两个DJL文件:
一个位于任意位置,内容如下:
一个文件名为 b.djl ,位于E:/data/文件夹,以下是该文件的内容:
那么读取代码示例2.002a中的“西方的幸运数字”时,就会牵连到位于E:/data/sourceExample_children.djl 的外部文件了。“西方的幸运数字”节点名称后使用了>[source("路径")]结构。这就意味着“西方的幸运数字”的内容将由位于路径的DJL文件中的同名节点的内容代替。
当然,除了内容节点可以使用此方法外,结构节点也依然适用。
您也可以在路径中使用相对路径。例如代码示例2.002a若位于E:/data/文件夹内,那么"E:/data/b.djl" 路径部分(绝对路径写法)就可以由"b.djl" (相对路径写法)代替。
有可能您的DJL文件的数据结构很复杂,可能会引用多个外部文件。如果在一个DJL文件中引用另一个文件时,能够相对某个主文件来描述引用的文件的位置会,也许更加方便。
所以source命令还有如下结构,用以满足上述要求:
节点名称>[source("[/b]路径",文件标识)]
文件标识的位置是某个文件的代号,路径中则填写相对于该文件的位置。(您可以为任意文件设置文件标识,有关文件标识的设置将会马上介绍)
例如,某个位于E:/data/文件夹内的DJL文件的文件标识为“root”,那么代码示例2.002c所表示的内容,与代码示例2.002a的内容时相同的。
由于相对路径是相对于“root”的,因此,“西方的幸运数字”的内容的来源只与“root”代表的文件的位置相关,与代码示例2.002c在什么位置无关。
id命令
那么,如何设置文件标识呢?
只要在需要标识为该文件标识的DJL文件中,加入
>[id(文件标识)]
即可。此命令可以放在任何位置,但方便起见,建议放在文件的开头部分。
此文件标识将会在书写位置之后起作用;书写位置之后所加载的外部文件中,也可以使用此文件标识。
并不是所有字符都可以当作文件标识,有关文件标识符的限制、要求,请参见[章节][3]文件标识的规则]。
ignoreId命令
您还可以取消该文件的文件标识。
>[ignoreId(文件标识)]
使用上述命令即可在书写位置之后使该文件标识失效。
resetId命令
>[resetId()]
在该命令的书写位置之后,所有设置的文件标识都将失效。
mode命令
>[mode(模式,"模式简称")]
此命令将会在书写位置之后起作用,包括加载的外部文件。作用是使用设置的模式简称来代替冗长的模式,简化DJL文件书写。
此命令可以放在任何位置,放在文件的开头部分最佳。
DJL支持您为节点内容设置不同的模式,即标示出节点内容的类型。
目前DJL内置了两种模式,“normal”和“dynamic”,“normal”模式表明其内容为字符串,“dynamic”模式表明其内容为文本表达式(StrExp)。您也可以为内容设置自己的模式,如text/html、text/xml等。
默认情况下,DJL文件都会默认将模式为“#”的节点当作是“dynamic”模式的,而以不填写模式的节点当作是“normal”模式的。就好像在每个DJL文件中默认添加了>[mode(normal,"")]、>[mode(dynamic,"#")]DJL文两个命令一样。
在代码示例2.003中,“节点a”与“节点b”内容的类型是相同的,都是字符串。“节点c”与“节点d”内容的类型是相同的,都是文本表达式(StrExp)。
照猫画虎,您就可以为自己的模式设置简称了:
在代码示例2.004中,“节点a”与“节点b”内容的类型是相同的,都是xml文本。“节点c”与“节点d”内容的类型是相同的,都是以美元为单位表示价值。
同样注意,模式简称也不是任意的。模式简称的规则与模式的名称规则相同,参见[章节][3][模式的名称规则]。
ignoreMode命令
>[ignoreMode("模式简称")]
使用上述命令即可在书写位置之后使该模式失效。
特别地,若进行如下的命令,>[ignoreMode("")],则不填写模式的节点将会作为“normal”模式的节点,即等效于>[mode(normal,"")]
resetMode命令
>[resetMode()]
忽略以前所有对模式的自行设定,而恢复默认值。使用命令之后,恢复的默认情况是:以“#”作为“dynamic”的模式简称,以不填写模式作为“normal”模式的简称。
(第二章 命令 完,下接DJL语言标准摘录5,“ DJL语言标准--第三章:名称规则”)
(此篇为DJL语言标准摘录4)
第二章:命令
命令用于辅助解析DJL文件。合理地使用命令可以使DJL文件更简单、易读。
命令的作用域是在书写位置后的同级或子级(包括孙级、孙级的子级等)起作用,对书写位置前的同级或子级(包括孙级、孙级的子级等),以及父级(包括祖父级、祖父级的父级等)无作用。
命令的格式
基本书写格式:
代码示例2.001{ >[命令名()] >[命令名(参数)] >[命令名(参数1,参数2)] } |
命令是固定的,您不能新增或删除命令。
DJL命令一共有如下几个命令:source命令(用于引入文件外部的DJL内容)、id命令(用于标识文件,方便其他DJL文件引用)、ignoreId命令(取消文件标识)、resetId(清除所有自设的文件标识)、mode命令(用于设置模式简称)、ignoreMode命令(取消某个模式简称)、resetMode命令(清除所有设置的模式简称)。
source命令
节点名称>[source("路径")]
使用此命令,可以表示该节点的内容或数据的来源是位于路径的DJL文件。
例如有两个DJL文件:
一个位于任意位置,内容如下:
代码示例2.002a{ 西方的幸运数字>[source("E:/data/b.djl")] 西方的厄运数字=13 中国的幸运数字=8 中国的厄运数字=4 } |
代码示例2.002b{ 西方的幸运数字=7 } |
当然,除了内容节点可以使用此方法外,结构节点也依然适用。
您也可以在路径中使用相对路径。例如代码示例2.002a若位于E:/data/文件夹内,那么"E:/data/b.djl" 路径部分(绝对路径写法)就可以由"b.djl" (相对路径写法)代替。
有可能您的DJL文件的数据结构很复杂,可能会引用多个外部文件。如果在一个DJL文件中引用另一个文件时,能够相对某个主文件来描述引用的文件的位置会,也许更加方便。
所以source命令还有如下结构,用以满足上述要求:
节点名称>[source("[/b]路径",文件标识)]
文件标识的位置是某个文件的代号,路径中则填写相对于该文件的位置。(您可以为任意文件设置文件标识,有关文件标识的设置将会马上介绍)
例如,某个位于E:/data/文件夹内的DJL文件的文件标识为“root”,那么代码示例2.002c所表示的内容,与代码示例2.002a的内容时相同的。
代码示例2.002c{ 西方的幸运数字>[source("b.djl",root)] 西方的厄运数字=13 中国的幸运数字=8 中国的厄运数字=4 } |
id命令
那么,如何设置文件标识呢?
只要在需要标识为该文件标识的DJL文件中,加入
>[id(文件标识)]
即可。此命令可以放在任何位置,但方便起见,建议放在文件的开头部分。
此文件标识将会在书写位置之后起作用;书写位置之后所加载的外部文件中,也可以使用此文件标识。
并不是所有字符都可以当作文件标识,有关文件标识符的限制、要求,请参见[章节][3]文件标识的规则]。
ignoreId命令
您还可以取消该文件的文件标识。
>[ignoreId(文件标识)]
使用上述命令即可在书写位置之后使该文件标识失效。
resetId命令
>[resetId()]
在该命令的书写位置之后,所有设置的文件标识都将失效。
mode命令
>[mode(模式,"模式简称")]
此命令将会在书写位置之后起作用,包括加载的外部文件。作用是使用设置的模式简称来代替冗长的模式,简化DJL文件书写。
此命令可以放在任何位置,放在文件的开头部分最佳。
DJL支持您为节点内容设置不同的模式,即标示出节点内容的类型。
目前DJL内置了两种模式,“normal”和“dynamic”,“normal”模式表明其内容为字符串,“dynamic”模式表明其内容为文本表达式(StrExp)。您也可以为内容设置自己的模式,如text/html、text/xml等。
默认情况下,DJL文件都会默认将模式为“#”的节点当作是“dynamic”模式的,而以不填写模式的节点当作是“normal”模式的。就好像在每个DJL文件中默认添加了>[mode(normal,"")]、>[mode(dynamic,"#")]DJL文两个命令一样。
代码示例2.003{ normal 节点a=1+1; 节点b=1+1; dynamic 节点c=1+1; # 节点d=1+1; } |
照猫画虎,您就可以为自己的模式设置简称了:
代码示例2.004{ >[mode(text/xml,"xml")] >[mode(value/dollar,"$")] text/xml 节点a=<root><node></node></root>; xml 节点b=<root><node></node></root>; value/dollar 节点c=24.5; $ 节点d=24.5; } |
同样注意,模式简称也不是任意的。模式简称的规则与模式的名称规则相同,参见[章节][3][模式的名称规则]。
ignoreMode命令
>[ignoreMode("模式简称")]
使用上述命令即可在书写位置之后使该模式失效。
特别地,若进行如下的命令,>[ignoreMode("")],则不填写模式的节点将会作为“normal”模式的节点,即等效于>[mode(normal,"")]
resetMode命令
>[resetMode()]
忽略以前所有对模式的自行设定,而恢复默认值。使用命令之后,恢复的默认情况是:以“#”作为“dynamic”的模式简称,以不填写模式作为“normal”模式的简称。
(第二章 命令 完,下接DJL语言标准摘录5,“ DJL语言标准--第三章:名称规则”)
相关文章推荐
- DJL语言标准--附录
- 数据库系统概论复习总结3 --- 第二章关系数据库标准语言SQL
- DJL语言标准--第一章:节点--(3)
- DJL语言标准--第三章:名称规则
- Java语言程序设计 第二章 (2.3)
- Java语言程序设计 第二章(2.8)
- Go语言周边常用命令积累
- 8_Shell语言―――扩展正则表达式和egrep、fgrep命令
- 第二章 SQL命令参考-VALUES
- C 语言标准演进历程
- go标准命令详解0.5 godoc
- go标准命令详解0.13 go tool cgo
- 汇编语言命令参数程序的编写
- C语言提供的三种预处理命令
- C 语言 字符串命令 strstr()的用法 实现将原字符串以分割串分割输出
- 经典重拾-第一部分 语言篇-第二章 -循环结构程序设计
- LINUX C 语言 快速获取调用SHELL命令后的结果
- C语言程序设计-现代方法----示例及练习题----第二章--C语言基本概念
- ununtu linux上学习语言用到的几个小命令
- awk命令(语言)