学习笔记——XSLT控制相关元素
2012-03-28 16:44
274 查看
分支处理
1:<if.../>:使用时,指定以个test属性,属性值为一个布尔表达式,元素内容为模板内容。<xsl:if test=boolean-expression> <!-- Content: template --> </xsl:if>
2:<choose.../>、<when.../>和<otherwise.../>分别相当于java中if、else if、else
<xsl:choose> <xsl:when test=boolean-expression> <!-- Content: template --> </xsl:when> <xsl:when test=boolean-expression> <!-- Content: template --> </xsl:when> ... <xsl:otherwise> <!-- Content: template --> </xsl:otherwise> </xsl:choose>
循环控制
<!-- Category: instruction --> <xsl:for-each select = node-set-expression> <!-- Content: (xsl:sort*, template) --> </xsl:for-each>
<for-each../>:需指定一个select属性,属性值为XPath表达式,表示一个节点集,其将依次迭代节点集内的每个节点。
<for-each select=""> <!-- Content: template --> </for-each>
<for-each.../>有显式迭代功能,而<apply-templates.../>具有隐式迭代功能。
排序控制
<xsl:sort select = string-expression lang = { nmtoken } data-type = { "text" | "number" | qname-but-not-ncname } order = { "ascending" | "descending" } case-order = { "upper-first" | "lower-first" } />
lang:指定排序关键字,若未指定,将根据系统环境来确定。
date-type:指定字符串的数据类型,有以下可选属性值:
text:按照字母顺序排序,通过lang属性指定;
number:将排序关键字转换成数值,在根据数值进行排序,通过number函数转换,忽略lang属性;
QName:展开扩展名称,标识该数据类型。
order:指定使用升序排列还是降序排列,默认是升序排列。
case-order:指定大写字母和小写字母那个应该放到前面。
<sort../>需要在<for-each.../>或<apply-templates.../>中使用,一次可使用多个<order../>元素,第一个<order.../>的优先级别最高,之后优先级别依次降低。
控制空白的处理方式
<preserve-space.../>:保留空白。<strip-space.../>:删除空白;
这两个元素都是根元素的子元素,使用时需指定elements属性的属性值,该属性是以一个token类型的属性,可接受多个元素名或通配符“*”,用于控制这些元素的空白。
<!-- Category: top-level-element --> <xsl:strip-space elements = tokens />
<!-- Category: top-level-element --> <xsl:preserve-space elements = tokens />
相关文章推荐
- 20171012学习笔记Selenium 2 第四章WebDriver API 4.2控制浏览器 4.3简单元素操作4.4鼠标事件4.5键盘事件
- vue学习笔记1——v-if和templete 条件渲染 使用 key 控制元素的可重用
- HTML学习笔记(五)_HTML5表单相关元素和属性
- TWaver HTML5学习笔记 —— 通过图层方式控制元素是否显示
- Spring2.5学习笔记1-控制反转-元素及配置
- android 开发零起步学习笔记(九):android 控制控件的位置和大小及Layout相关属性
- Linux之ubuntu学习笔记(二):一些常用快捷键和相关命令来控制系统任务ctr+z,ctr+c,ctrl+d
- 学习笔记三之进程控制
- Linux学习笔记-日志查看相关命令
- web安全学习笔记之-认证和会话管理-访问控制
- jQuery学习笔记之选取选定复选框的同行某列元素
- 学习git的相关疑问及笔记
- 【C++学习笔记】08_流程控制语句
- Linux基础学习笔记之与关机、重启相关的命令
- Ubuntu相关学习笔记
- FPGA学习笔记之按键控制
- nginx 学习笔记(二)nginx 配置相关
- JQuery学习之控制相关控件的隐藏
- Linux学习记录--进程控制相关系统调用 推荐
- [XML]学习笔记(八)XSLT