XSL学习笔记6 XSLT内置模板规则

XSL学习笔记6 XSLT内置模板规则
定义正确的模板规则来匹配XML树中的节点是XSLT应用的关键。为了让源文档树的节点在没有明确匹配规则的情况下,能够被递归处理,XSLT定义了几个内置的模板规则,可以将其看作是XSL式样表文档的默认模板规则。
内置模板规则就好像是在式样表之前被隐含地导入的一样,与所有其他的模板规则相比,内置模板规则具有较低的导入优先级。因此,可以通过在样式表文档中包含一个显式的模板规则来覆盖内置模板规则。
内置模板有如下几个:
1、应用所有的元素节点和根节点
<xsl:template match="*|/">
 <xsl:apply-templates/>
<xsl:tempalte>
注意:如果不想应用内置的模板规则,只要显式的为某个元素定义模板规则即可,这样就覆盖了内置的模板规则。不过要注意的是,除非在匹配模板规则的模板中调用了<xsl:apply-templates/>,否则对于该元素的所有子元素,默认模板规则不再起作用。
2、应用所有的元素节点和根节点,针对的是具有mode属性的<xsl:apply-template/>元素
<xsl:template match="*|/" mode="m">
 <xsl:apply-templates mode="m"/>
<xsl:tempalte>
当在式样表文档中,使用了具有mode属性的<xsl:apply-templates>元素,那么XSLT处理器就会自动加入这样一条模板规则:将<xsl:tempalte>元素的mode属性值设置为<xsl:apply-templates>元素的mode属性的值。
3、应用雨文本和属性节点,在结果树中输出文本和属性节点的值,如下所示:
<xsl:template match="text()|@*">
 <xsl:apply-templates select = "."/>
<xsl:tempalte>
因为有了第一条和第三条内置模板规则,所以即使在样式表中没有编写任何的模板规则,仍然会有元素文本内容(作为文本节点)输出。不过要注意的是,如果没有对属性节点应用<xsl:apply-templates>元素,那么这条模板规则对属性是不会起作用的。
4、应用于处理指令和注释,如下所示:
<xsl:template mach="processing-instruction()|comment()"/>
这表规则对处理指令和注释节点没有做任何处理,意味着在结果树中不会输出源文档树中的处理指令和注释的任何信息。
另外,在XSLT中,应用于名称空间节点的内置模板规则也是什么都不做,也没有任何的模板可以匹配名称空间节点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/269112.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单元测试mock当前时间

在实际项目中很多地方用到DateTime.Now&#xff0c;这个时间是时时变化的。如果要进行单元测试对比预期结果时&#xff0c;这个时间无法预测&#xff0c;可以添加如下两个时间类 namespace Common.Helper {/// <summary>/// 获取当前时间/// However, when unit testing …

利用福禄克DSX2-5000 CH解决双绞线布线中常见的故障

双绞线布线中最常见的故障原因包括安装错误、在劣质组件&#xff08;电缆、连接器、跳线等&#xff09;中发现的缺陷、已安装电缆的损坏以及测试仪设置不正确&#xff0c;但有时技术人员想知道链路故障的具体原因 那么基于性能参数测试失败的原因都有哪些呢&#xff1f; 当涉…

Windows 2003性能监视器中的计数器名称变成数字的解决方法

前些天在给Exchange安装IMF后&#xff0c;看到IMF指南里面说&#xff0c;利用Performance也就是性能监视器可以查看IMF的性能&#xff0c;于是打开Performance, 但是却看到了下面这一幕&#xff0c;所有的计数器都变成数字。 还好&#xff0c;在微软SUPPORT网站很容易找到了下面…

Oracle Schema Objects——Tables——TableType

Oracle Schema Objects Object Tables object type An Oracle object type is a user-defined type with a name, attributes, and methods. Oracle 对象类型是具有名称、 属性、和方法的用户定义类型。 Object types make it possible to model real-world entities such as …

利用局域网性能测试仪保障企业网络环境

现代社会网络的普及&#xff0c;已经致使人民已经离不开网络&#xff0c;无论是从工作、生活、基础设施等等网络应用到各行各业。而普及了网络&#xff0c;网络的质量就是最重要的一环。试想&#xff0c;网络的快与慢小到影响一个人的心情好坏&#xff0c;大的可以影响到企业业…

MySQL存储过程编程

http://www.drekey.cn/blog/archives/category/stored

Kotlin基础-扩展

/** 扩展&#xff1a;对既有的类增加新功能而无需继承该类&#xff0c;即无法获取其源代码* 主要作用&#xff1a;“立即”为相关类整体上添加“工具类”方法或属性* Kotlin支持:扩展函数&#xff0c;扩展属性**与接受者类中参数&#xff0c;名字都一样的扩展是无效的* 尽量避免…

电缆的验证、鉴定和认证应该选择什么测试工具

在电缆的测试安装时&#xff0c;有以下几种测试工具选择&#xff1a;验证、鉴定及认证。当您要进行电缆认证时&#xff0c;不同测试工具的部分功能会有重叠&#xff0c;但可以学习以下几个问题&#xff0c;以帮助您选择正确的测试工具。 &#xff08;1&#xff09;电缆验证测试…

项目管理改进实践

昨天我下载了一个专业的敏捷项目管理的软件——Mingle&#xff0c;研究了一天&#xff0c;基本会用了。 应为“专业”&#xff0c;所以不是免费的&#xff0d; &#xff0d;&#xff01;不过还好。。。。6人以下可以使用免费的lisence。。。。 这是一次重要的项目管理改进实践…

Java:使用split方法时忽略中英文的符号区别

Java&#xff1a;使用split方法时忽略中英文的符号区别 split(",|&#xff0c;")

linux ubunt 安装软件的前期准备——更新源的更换

如果是高手&#xff0c;请翻到页面最下方&#xff0c;更换更新源的总结&#xff0c;直接操作即可 可能会优点啰嗦&#xff0c;但是认真看&#xff0c;一定能解决问题~~希望对大家有帮助~ 最近在熟悉linux环境&#xff0c;自己安装了一个ubuntu虚拟机。 很多朋友问装了ubuntu怎么…

以太网性能测试分析仪

如今&#xff0c;面对无数未上市的和已上市的应用&#xff0c;网络环境与设备的不同&#xff0c;企业网络的性能如何得到保障&#xff1f;企业网络如果不稳定&#xff0c;业务的中断、用户的流失都会给企业带来巨大的损失。一名合格的网络管理人员应该如何利用自己的专业知识还…

sql实现like多个值的查询

regexp_like (字段名,(条件1|条件2|条件3|条件4)) regexp_like (字段名, #{参数})

部署OCS后修改web farm地址

部署完OCS后如果要想修改OCS的web farm地址等&#xff0c;目前发现有两种方式。一种比较简单&#xff0c;但是要知道数据库的帐号&#xff0c;直接连接到OCS后端的RTCSConfig数据库&#xff0c;修改MSFT_SIPGroupExpansionSetting、MSFT_SIPDataMCUCapabilitySetting、MSFT_SIP…

mysql+mybatis递归调用

递归调用的应用场景常常出现在多级嵌套的情况&#xff0c;比如树形的菜单。下面通过一个简单的例子来实现mysqlmybatis的递归。 数据模型 private Integer categoryId;private String categoryName;private Integer isRoot;private Integer categoryLevel;private Integer root…

福禄克DSX2-5000测试仪为CAT 6A认证保驾护航

我们都知道CAT 6A是目前被认为支持&#xff08;10 Gig&#xff09;千兆以太网速度性能最高的双绞线布线&#xff0c;它已经存在了十多年。所以&#xff0c;你可能会惊讶地发现第6类&#xff08;现在19岁了&#xff01;&#xff09;继续主导双绞线铜缆的销量第一名。 如果您查看…

一手指天,一手指地,开!

做了1年多的C#.NET的系统开发&#xff0c;我越来越觉得自个应该去写C逻辑程序。C#的语言更加重视的是如何去处理实现问题&#xff0c;如何去实现一种应用&#xff0c;这让我有点提不起劲&#xff0c;倒不是说高级语言的毛病&#xff0c;个人喜好而已。所以这段时间忙里偷闲&…