文档详情

XML与Web数据管理XML文档的显示——XSL.ppt

发布:2017-12-14约1.82万字共69页下载文档
文本预览下载声明
调用命名模板: 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:param Total 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元素导入样式表 如果导入的样式表中的规则与执行导入的样式表 中的规则发生了冲突
显示全部
相似文档