第4章_XSL转换.pptVIP

  • 0
  • 0
  • 约1.68万字
  • 约 56页
  • 2016-12-20 发布于贵州
  • 举报
* * XSLT文档的结构 * * 4.2 XSLT元素 XSLT的根元素是stylesheet,其他元素可分为两类: 顶层元素,即stylesheet元素的直接子元素 template:定义模板 variable:定义全局变量 模板内元素,即在template元素内可使用的子元素 value-of:选择元素的值 for-each:循环 sort:排序 if、choose:条件测试、多重条件测试 element、attribute:生成元素、属性 apply-templates:应用模板 copy-of: 复制元素 * * 1. xsl:template 构建模板 xsl:template元素定义了用于进行转换的节点内容,其语法如下所示: xsl:template match=“xpath … … /xsl:template 匹配属性(match)则用XPath表达式标识出源文档中的节点,交由模板处理。 * * ?xml version=1.0 encoding=ISO-8859-1? xsl:stylesheet version=1.0 xmlns:xsl=/1999/XSL/Transform xsl:template match=/ html body h2My CD Collection/h2 table border=1 tr bgcolor=#9acd32 thTitle/th thArtist/th /tr tr td./td td./td /tr /table /body /html /xsl:template /xsl:stylesheet * * 2. xsl:value-of 选择元素的值 xsl:value-of 选择源文档中元素的值写入输出文档 xsl:value-of select=“xpath”/ tr td xsl:value-of select=catalog/cd/title/ /td td xsl:value-of select=catalog/cd/artist/ /td /tr * * 3. for-each 循环处理被选择的节点 由select属性决定什么样的节点符合条件,然后循环处理这个节点集合。 xsl:for-each select=“xpath !--样式定义-- /xsl:for-each xsl:for-each select=catalog/cd tr tdxsl:value-of select=title//td tdxsl:value-of select=artist//td /tr /xsl:for-each * * for-each的结果过滤 在 xsl:for-each 元素中添加select属性,我们也可以过滤从 XML 文件输出的结果。 xsl:for-each select=catalog/cd[price gt; 10] tr tdxsl:value-of select=title//td tdxsl:value-of select=artist//td /tr /xsl:for-each 关系运算符:=? (等于)、!= (不等于)、lt; (小于)、gt; (大于) * * 4. xsl:sort 排序 如需对结果进行排序,要在xsl:for-each 元素内部添加一个 xsl:sort 元素。 xsl:for-each select=catalog/cd xsl:sort select=artist/ tr tdxsl:value-of select=title//td tdxsl:value-of select=artist//td /tr /xsl:for-each sort的select属性:规定节点的排序关键字。 sort的order属性:规定排序顺序。 可取值ascending 或descending ,默认是 ascending。 * * 5. xsl:if 条件测试 xsl:if test=“逻辑表达式 根据test属性值判断。 xsl:for-each select=catalog/cd xsl:if test=price gt; 10 tr tdxsl:value-of select=title//td tdxsl:value-of select=artist//td /tr /xsl:if /xsl:for-each * * 6. xsl:choose 多条件判断 xsl:when是分支判别,其test属性值

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档