XML与Web数据管理XML文档的显示——XSL.ppt
文本预览下载声明
调用命名模板:xsl:call-template name=“template-name”/例:xsl:template match=“bookstyleold”xsl:call-template name=“bookstyel”/xsl:template命名模板有助于在较长的开发过程中使样式保持更大的一致性。 参数及使用对命名模板的每一次分开调用,都可将参数传递给模板,以便订制其输出内容。这个过程需要用到三个元素:xsl:param、xsl:with-param、xsl:call-template xsl:param元素xsl:param用来定义全局参数(是xsl:stylesheet的子节点时)或局部参数(在一个模板内时),即声明一个命名的参数,在xsl:stylesheet元素或xsl:template元素中使用。语法:xsl:param name=QName select=Expression/xsl:param Name属性:必选项,指定参数的限定名。 Select属性:属性值为表达式,变量值为计算该表达式的出的对象。制定此属性后,xsl:param元素的内容必须是空的。 注意:(1)xsl:param元素上指定的值是绑定的默认值。如果调用的模板或样式表包含xsl:param,传递的参数将替代默认值。(2)xsl:param元素必须声明为xsl:template元素的直接子级。如果未声明为直接子级,xsl:param元素的值将无法访问,并将出错。例如:xsl:template name=“getcount”xsl:element name=“strong”xsl:param name=“counted”xsl:value-of select=“count(//book)”//xsl:paramTotal Book Count:xsl:value-of select=“$counted”//xsl:element/xsl:template此例中xsl:template的唯一直接子级是strong元素,无法正确分析xsl:param。 xsl:with-param元素xsl:with-param元素的作用是将参数传递给模板。语法:xsl:with-param name=Qname select=Expression/xsl:with-param Name属性:必选项,参数的限定名。 select属性:要根据当前上下文进行匹配的表达式。没有默认值。如果没有内容,则生成空字符串。 注意:(1)name属性指定参数名,该参数是要替换绑定的值的变量。(2)xsl:call-template和xsl:apply-templates中允许使用xsl:param元素。(3)指定该参数值的方式与xsl:variable和xsl:param相同。(4)用于计算xsl:with-param元素指定的值的当前节点和当前节点列表与相应的xsl:apply-templates或xsl:call-template元素相同。(5)如果将参数X传递给没有xsl:param元素的模板,不属于错误,将被忽略。 Xsl:call-template元素xsl:call-template元素的作用是按名称调用模板。语法:xsl:call-template name=Qname/xsl:call-template例6-23 参数实例 删除和保留空白为了帮助人们使用空白,xsl提供了两种命令:xsl:strip-space:用来删除被选中节点中的空白节点。xsl:preserve-space:保留内容中的空白。 xsl:strip-space例:xsl:strip-space element=“book”/ Xsl:preserve-space例:xsl:preserve-space element=“price”/ 合并多个样式表有两种方式:xsl:import和xsl:include 使用xsl:import进行合并语法:xsl:import href=“location”/其中:(1)href属性必须输入xslt样式表的地址或定位。(2)import元素是必须最先出现stylesheet元素之后的顶级元素。例:xsl:stylesheet xmlns:xsl=“/TR/WD-xsl”xsl:import href=“first.xsl”xsl:import href=“second.xsl”…/xsl:stylesheet例6-24 使用xsl:import元素导入样式表 如果导入的样式表中的规则与执行导入的样式表 中的规则发生了冲突
显示全部