XSL由3部分组成:
XSLT - a language for transforming XML documents
XSLT - 转变XML文档的语言。
XPath - a language for navigating in XML documents
XPath-对XML文档进行操作的语言。
XSL-FO - a language for formatting XML documents
XSL-FO - 格式化XML文档的语言。
下边是一些常用xslt元素:
1,声明根据W3C XSLT参考标准的XSL样式表的正确的途径是:
<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
2,<xsl:value-of>元素用于选取选择节点值。
3,<xsl:for-each>元素允许在XSLT里使用循环语句。
4,<xsl:sort>元素用于对结果进行分类。
5,<xsl:if>元素的作用是:对XML文件的内容设置一个条件语句。
<xsl:if test="expression">
... ...some output if the expression is true... ...
</xsl:if>
6,<xsl:choose>元素通过<xsl:when>和<xsl:otherwise>一起配合是用来表达多种条件语句。
<xsl:choose>
<xsl:when test="expression1">
... some output ...
</xsl:when>
<xsl:when test="expression2"> <!-- 但暂时不明白,为什么小于符号使用抱错“<” -->
... some output ...
</xsl:when>
<xsl:otherwise>
... some output ....
</xsl:otherwise>
</xsl:choose>
虽然目前各厂商浏览器基本都支持xslt,但还是存在一些浏览器兼容问题,为了解决这问题,我们可以在服务器完成xml转换为xhtml,然后在用户请求时候向用户直接返回xhtml。下边是一个asp转换例子,各语言有属于他们自己的转换模式google一下就能找到结果。我也尝试过通过客户端进行整合,也存在兼容问题,在说javascript对seo没什么好处。
<%
'Load XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("mysite.xml")) 'xml文件
'Load XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("mysite.xsl")) 'xsl文件
'Transform file
Response.Write(xml.transformNode(xsl)) '将合并结果打印出来
%>