XSL(EXtensible Stylesheet Language)它是指可扩展样式表语言。 XSL之于 XML 就像 CSS 之于 HTML。说白了就是将XML中的数据用指定的显示格式输出.XML不像HTML,它不包含任何显示格式的信息. XSL 包含两个部分:
XSL 语法
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> ...... </xsl:stylesheet>
<xsl:template match="/">......</xsl:template>
<?xml version="1.0" encoding="GB2312"?> <俱乐部> <会员> <姓名>cnbruce </姓名> <年龄>10 </年龄> <性别>男 </性别> <描述>他是一个糟糕的家伙!</描述> </会员> <会员> <姓名>yufuzi</姓名> <年龄>80 </年龄> <性别>男 </性别> <描述>他是一个优秀的男人!</描述> </会员> <会员> <姓名>xiaojin</姓名> <年龄>20 </年龄> <性别>男 </性别> <描述>他人品有问题!</描述> </会员> </俱乐部>
<xsl:for-each select="...">......</xsl:for-each>
<?xml version="1.0" encoding="GB2312"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <table border="1"> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> <th>描述</th> </tr> <xsl:for-each select="俱乐部/会员"> <tr> <!--表达式为何不需要包括父节点或从文档根开始。这是因为这些元素的路径是根据 <xsl:for-each> 构造中的 XPath 表达式来计算的--> <td><xsl:value-of select="姓名"/></td> <td><xsl:value-of select="年龄"/></td> <td><xsl:value-of select="性别"/></td> <td><xsl:value-of select="描述"/></td> </tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet>
<?xml-stylesheet type="text/xsl" href="old.xsl"?>
<?xml version="1.0" encoding="GB2312"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <table border="1"> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> <th>描述</th> </tr> <xsl:for-each select="俱乐部/会员[年龄>30]"> <tr> <td><xsl:value-of select="姓名"/></td> <td><xsl:value-of select="年龄"/></td> <td><xsl:value-of select="性别"/></td> <td><xsl:value-of select="描述"/></td> </tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet>
等于 (=) 不等于 (!=) 小于 (<) 小于或等于 (<=) 大于 (>) 大于或等于 (>=)
<?xml version="1.0" encoding="GB2312"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <table border="1"> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> <th>描述</th> </tr> <xsl:for-each select="俱乐部/会员"> <xsl:sort select="年龄" order="descending"/> <tr> <td><xsl:value-of select="姓名"/></td> <td><xsl:value-of select="年龄"/></td> <td><xsl:value-of select="性别"/></td> <td><xsl:value-of select="描述"/></td> </tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet>
<xsl:choose> <xsl:when test="表达式"> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose>
<?xml version="1.0" encoding="GB2312"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <table border="1"> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> <th>描述</th> </tr> <xsl:for-each select="俱乐部/会员"> <xsl:choose> <xsl:when test="年龄 > 70"> <tr bgcolor="#66CCFF"> <td><xsl:value-of select="姓名"/></td> <td><xsl:value-of select="年龄"/></td> <td><xsl:value-of select="性别"/></td> <td><xsl:value-of select="描述"/></td> </tr> </xsl:when> <xsl:when test="年龄=10"> <tr bgcolor="blue"> <td><xsl:value-of select="姓名"/></td> <td><xsl:value-of select="年龄"/></td> <td><xsl:value-of select="性别"/></td> <td><xsl:value-of select="描述"/></td> </tr> </xsl:when> <xsl:otherwise> <tr bgcolor="red"> <td><xsl:value-of select="姓名"/></td> <td><xsl:value-of select="年龄"/></td> <td><xsl:value-of select="性别"/></td> <td><xsl:value-of select="描述"/></td> </tr> </xsl:otherwise> </xsl:choose> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet>