网站制作

本类阅读TOP10

·IIS 安装配置全攻略
·用VS.NET打开网上下载的.NET web项目出错的解决办法
·HTML 4.0 语言快速参考
·限制TextArea区的文字输入数量
·如何在网页上实现进度条
·Apache的配置步骤及测试
·谈谈Jesse James Garrett提到的Ajax
·html基础学习笔记(2)
·页面垂直居中的两种方法
·用asp遍历目录下文件的例子

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
XSLT学习笔记(一)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

 

1.  XSL包括三个部分:
a) xslt:
用户转换XML的语言
b) xpath:
定义XML的部分的语言
c) xsl-fo:
用户格式化XML语言的语言

 

2.  XML没有使用预定义的TAG,浏览器并不知道如何显示某个TAG,所以必须有一个东西来告诉浏览器哪个Tag该如何显示,显示为什么样式(style),于是XSL诞生了。Extensible sytling language,它实际上也是XML

 

 

3.  XSLTXSL标准最重要的组成部分,XSLT可以做一对一的XML元素的转化,也可以增加或者删除一些元素,甚至一些条件话的转换。通常的说法是XSLT是把XML的源树转换为结果树。

 

4.  XSLT工作原理:XSLT使用XPATH来定义那些与预定义的模板相匹配的文档,一旦复合条件,XSLT就转换它们为结果文档,那些不匹配的文档不会做任何的改变。

 

 

5.  适合浏览器为IE6,对于IE5/5.5都不适合。IE6自带的MSXML-PARSER 3.0已经完全符合XSLT的规范了。

 

如何正确定义一个XLST文档

6.根元素必须为 <xsl:stylesheet> 或者 <xsl:transform> 两个是一样的,用哪个都可以,根据spec的定义,xslt文档的开头一般如此:<xsl:stylesheet version=”1.0” xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>

7. 可以分别制定XMLXSLT,然后通过在XML中指定XSL来连接两者,浏览器会根据XML连接的XSLT来显示这个XML文档的。

<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>

 

8.每个XSLT文档都包含一些被称为template<xsl:template>rule,每当某个元素符合rule那么就执行匹配的动作。此元素<xsl:template>有一个属性叫做match,它表示这个规则的匹配是哪些元素,如何match=”/”,则表示此规则符合所有的元素

 

9<xsl:value-of>元素可以选取xml元素的值来进行操作。它是通过select属性来指定节点的xpath来进行的。如: <xls:value-of select=”catalog/cd/title”/>

 

10<xsl:for-each>元素可以用来循环选择一个节点的集合,属性和<xsl:value-of>一样,注意:<xsl:value-of>可以被嵌套在<xsl:for-each>里面,但是路径是相对路径了。

 

11.过滤输出:可以通过在<xsl:for-each>select属性里面加入规则来过滤选择的节点,例如:<xsl:for-each select=”catalog/cd[artist=’bob tylan’]”/>,合法的比较参数有:=,!=,&lt;,&gt;

 

12<xsl:sort>元素是用来把指定的元素进行排序的,只要把<xsl:sort>元素加入<xsl:for-each>元素里面就可以对循环中的每个元素进行排序,它的属性为select,表示对哪个元素进行排序,例如:<xsl:sort select=”artist”/>

 

13<xsl:if>包含一个template,当条件满足的时候将执行此template。一般情况下这样使用:

<xsl:if test=”price &gt; 10”>

  some output

</xsl:if>

test属性指定了if的测试条件。如

      <xsl:for-each select="catalog/cd">
      <xsl:if test="price &gt; 10">
        <tr>
          <td><xsl:value-of select="title"/></td>
          <td><xsl:value-of select="artist"/></td>
        </tr>
      </xsl:if>
      </xsl:for-each>

对每个循环的元素进行一个比较,只显示那些价格大于10CD

 

-----待续




相关文章

相关软件