核心提示:要做好一件事情就得勤学苦练下苦功。入门靠师傅,修行靠个人!如果到现在你还是没有明白动易sf标签该怎么做,那么就先请你再看看我写的文章!除此之外建议你最好先了解HTML、SQL,不然还真的有点难呢? 想继续学习如何制作动易SF标签的,请留意我的下一系列文章,手把手教你做标签实例! 1、XSLT <xsl:value-of> 元素用于提取某个选定节点的值,并把值添加到转换的输出流中。
不要想得那么复杂,说简单点就是显示XML文档中某个节点的值。在动易模板和动易标签中我们经常会看到<xsl:value-of select="'Title" />或<xsl:value-of select="/NewDataSet/Table/Title" />这样的语句,没错那就是用来显示标题的。
2、<xsl:for-each> 元素用于选取指定的节点集中的每个 XML 元素。这样说还是有节点抽象,下面我举个例子相信各位朋友会明白的!
例子: 要显示如下的文章列表: .文章标题001 .文章标题002 .文章标题003 .文章标题004 .文章标题005
动易标签查询语句生成的XML文档如下: <NewDataSet><Table><Title>文章标题001</Title><Title>文章标题002</Title><Title>文章标题003</Title><Title>文章标题004</Title><Title>文章标题005</Title></Table></NewDataSet>
<xsl:for-each>的作用其实就是将这些Title字段循环读出来
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/NewDataSet"> <html> <body> <div> <ul> <xsl:for-each select="Table"> <li><xsl:value-of select="title"/></li> </xsl:for-each> </ul> </div> </body> </html> </xsl:template>
</xsl:stylesheet>
用例子说话,其它就不多说啦!
3、<xsl:if> 元素,通俗一点说那就是条件判断,只有条件成立才会输出if里面的内容
还是用上面的例子说明,如想让文章列表只显示前3个,那怎么办呢? 在循环中加个条件判断嘛!这个和写程序是一样的。具体的代码如下:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/NewDataSet"> <html> <body> <div> <ul> <xsl:for-each select="Table"> <xsl:if test="position() <= 3"> <li><xsl:value-of select="title"/></li> </xsl:for-each> </ul> </div> </body> </html> </xsl:template>
</xsl:stylesheet>
position()--这个是xslt内置的函数,具体作用是指示循环中元素的位置,关于更多xslt的内置函数和方法以后的文章会给大家介绍的。
值得说明的是if中可以不断的嵌套if条件,要是有两个或三个以上条件用and或者or来连接。
3、<xsl:choose> 元素,与if一样也是条件判断,不同的是它还有个otherwise的条件。这个和我们程序里的if else的性质是一样的。不过在xslt里是when和otherwise。 好了现在还是用上面的例子说明,如想让文章列表不同行用不同的颜色来区别开来,这样的html代码就要写成如下的格式 <ul> <li class="list1">.文章标题001</li> <li class="list2">.文章标题002</li> <li class="list1">.文章标题003</li> <li class="list2">.文章标题004</li> <li class="list1">.文章标题005</li> </ul>
在标签输出的时候就得用上<xsl:choose>这个判断了,当为基数行的时候就是class="list1",偶数行的时候为class="list2",具体的代码如下:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/NewDataSet"> <html> <body> <div> <ul> <xsl:for-each select="Table"> <xsl:choose> <xsl:when test="(position() mod 2)!=0"> <li class="list1"><xsl:value-of select="title"/></li> </xsl:when> <xsl:otherwise> <li class="list2"><xsl:value-of select="title"/></li> </xsl:otherwise> </xsl:choose> </xsl:for-each> </ul> </div> </body> </html> </xsl:template>
</xsl:stylesheet>
好了,到现在为止看完我的连续两篇文章后,写最简单的动易sf的标签基本不是什么问题了。
要做好一件事情就得勤学苦练下苦功。入门靠师傅,修行靠个人!如果到现在你还是没有明白动易sf标签该怎么做,那么就先请你再看看我写的文章!除此之外建议你最好先了解HTML、SQL,不然还真的有点难呢?
想继续学习如何制作动易SF标签的,请留意我的下一系列文章,手把手教你做标签实例! |