XSL的学习和体会
来到动易公司一转眼就三个月的时间,在动易做项目过程中最深刻的就是标签的使用、修改和制作。这个在以前公司是没有接触过的。而标签的制作又涉及到了SQL和XSL的知识,因此,我必须学习这方面的知识。通过这段时间的学习,让我积累了一些知识和体会,现在跟大家一起分享一下XSL和XPath的基础知识,从而也希望大家能指出我在这方面的不足之处等。
1.首先介绍的是我在工作过程中总结的一些常用XSL知识,如下:
- <xsl:template match="/">
- xsl:template>
- <xsl:value-of select="值"/>
- <xsl:for-each select="/NewDataSet/Table">
- xsl:for-each>
- <xsl:if test="判断条件">
- xsl:if>
- <xsl:choose>
- <xsl:when test="判断条件">
- xsl:when>
- <xsl:otherwrise>
- xsl:otherwrise>
- xsl:choose>
- <xsl:element name="元素的名称">
- <xsl:attribute name="元素属性名称">
- xsl:attribute>
- xsl:element>
2.XPath的常用运算符
通过上面的了解了基本的xsl元素,从上面可以看到我们有一些判断元素,那么我们就必须要有一些合适它的运算符进行判断,才能得出给予的条件是TRUE还是FALSE,下面就让我们了解常用的XPath运算符,如下:
= (等于)、 !=(不等于)、 >(大于)、 <(小于)、 >=(大于等于)、 <=(小于等于)、 or(或)、 and(与)、 mod(计算除法的余数)等
3.目前我总结的XPath常用那个函数,如下:
(1)count(node-set) 返回 node-set 参数中的节点总数、返回值为整数;
(2)position() 返回节点列表中当前节点的位置,即当前节点在整个节点列表中第几位的整数。
(3)last() 返回节点列表中最后一位节点的位置
根据上面的XSL和XPath知识,我们制作一个循环的有序列表,并且在偶数列中添加“even”类名、最后一列添加“last”类名,如下:
- <xsl:template match="/">
- <ul>
- <xsl:for-each select="/NewDataSet/Table">
- <li>
- <xsl:if test="position() mod 2 =0">
- <xsl:attribute name="class"> even xsl:attribute>
- xsl:if>
- <xsl:if test="last()">
- <xsl:attribute name="class"> last xsl:attribute>
- xsl:if>
- 这是第<xsl:value-of select="position()"/>个li里面的内容
- li>
- xsl:for-each>
- ul>
- xsl:template>
上面的模板转换的HTML代码结果将会如下所示(假如循环5次):
- <ul>
- <li>这是第1个li里面的内容 li>
- <li class=" even">这是第2个li里面的内容 li>
- <li>这是第3个li里面的内容 li>
- <li class=" even">这是第4个li里面的内容 li>
- <li class=" last">这是第5个li里面的内容 li>
- ul>
虽然上都是一些基本的XSL和XPath知识,但还是希这方面内容总结能够对大家有所帮助!上面的代码都是手工输入的,由于时间不是很充分,没有测试!若是出现错误,希望大家谅解并从中指出不足之处!
用户登录
还没有账号?
立即注册