XSL是一种用来转换XML文档的样式表,它包括结构转换(XSLT)和格式化输出(XSL-FO)两部分。在结构转换的过程中,XSL通过XPath来查找和定位XML文档中的信息。XPath是一种专门用来在XML文档中查找信息的语言,用来描述如何识别、选择、匹配XML文档中的各个元素。XML通过XSLT和XPath,可以把XML转换成任何一种文档,当然也包括HTML文档。
创新互联是专业的兖州网站建设公司,兖州接单;提供网站设计制作、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行兖州网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
4. XSL的基本结构
我们先来看一下例子来了解XSL的基本结构:
book.xml
?xml version="1.0" encoding="gb2312"?
?xml-stylesheet type="text/xsl" href="book.xsl"?
books
book
nameThe C++ Standard Library/name
authorNicolai M.Josuttis/author
/book
book
nameThe Mythical Man-Month/name
authorFrederick P Brooks Jr./author
/book
book
nameC# Design Pattern/name
authorJames W. Cooper/author
/book
/books
book.xsl
?xml version="1.0" encoding="gb2312"?
xsl:stylesheet xmlns:xsl=""
xsl:template match="/"
html
headtitleBook Store/title/head
body
h2 align="center"Book Store/h2
xsl:apply-templates select="books"/
/body
/html
/xsl:template
xsl:template match="books"
table border="1" cellpadding="0" align="center"
trthName/ththAuthor/th/tr
xsl:for-each select="book"
tr
tdxsl:value-of select="name"//td
tdxsl:value-of select="author"//td
/tr
/xsl:for-each
/table
/xsl:template
/xsl:stylesheet
分析上面的例子,可以看出XSL文件由以下几部分组成:
· XSL文档也是XML文档,所以第一行要有XML声明:
?xml version="1.0" encoding="gb2312"?
· 接下来是XSL声明:
xsl:stylesheet xmlns:xsl=""
!--模板规则--
!--输出模板--
/xsl:stylesheet
在XSL声明中包含模板,模板中定义XML的输出格式。
需要注意的几个地方:
· XSL本身是XML文档,注意标签的匹配。
· xsl:stylesheet既是XSL的声明,也是根元素,要放在文件的首部。
· 要用xmlns指明XSL的命名空间:
xsl:stylesheet xmlns:xsl=""
· 样式表中的所有模板都由xsl:template声明,模板可以说明处理的对象,处理方式或是转换的结果。
在XML文档中引入CSS样式
在XML中引入CSS样式表有两种方法。一种是在XML文档直接嵌入CSS样式;另一种则是外部引入(似乎在WEB中很多引的方式都有这两种)。
在IE浏览器中打开XML文档,可以看到,使用样式表之后XML文档中所有的标记文字以及注释内容已不再显示,各个元素所包含的数据将分别以样式表中指定的格式显示出来。
1、直接引入
?xml-stylesheet type="text/css" href="cssFile.css"?
2、内嵌使用
?xml-stylesheet type="text/css"?
xml
HTML:STYLE xmlns:HTML=""
lang {
background:#cccccc;
}
php {
background:#eeeeee;
}
java {
background:#999999;
}
lang
phplanguage php /php
javalanguage java/java
/lang
/HTML:STYLE