1.什么是XSL?
XSL(EXtensible Stylesheet Language)可扩展样式表语言
XSL之于 XML 就像 CSS 之于 HTML
(由于XML中的Tag可以由用户来自定义,而XML文档通常只是树形结构而没有格式化的输出,因此需要XSL来定义XML格式化输出)
2.XSL 包含两个部分:
* XSLT – 用于转换 XML 文档的语言. XSLT 是指 XSL 转换 (XSL Transformation)—— “模子”
* XPath – 用于在 XML 文档中导航的语言 —— “筛子”
3.
XSL本身实际上也是一种XML:
XML文档需要在第一行声明<?xml version="1.0" encoding="UTF-8"?>
XSL文档的声明除了上面一行,还需要有
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
......
</xsl:stylesheet>
3.
HTML中的Tag含有显示含义、但缺乏明确意义缺乏灵活性;
XML文件本身的TAG可以有用户赋予含义,但确无显示格式的含义,仅仅是属性结构。可以通过两种方法定义XML文件的外观显示:
a)定义CSS(CSS定义的效果并不令人满意,CSS用来格式化XHTML标记更合适一些)
b)使用XSL
如果我们将XML文件比作结构化的原料的话,那么XSL就好像"筛子"与"模子",筛子选取自己需要的原料,这些原料再通过模子形成最终的产品:HTML。
“筛子”即是XPath,用于XML属性结构中查询;
"模子"即是XSLT,定义的HTML模子,XPath搜索出的结果,填入XSLT定义的模子中,从而完成XML转化为格式化的HTML文档。
这个模子大致是这样:我们先设计好表现的页面,再将其中需要从XML中获取数据来填充内容的部分"挖掉",然后用XSL语句从XML中筛出相关的数据来填充。一言以譬之: 这XSL实际上就是HTML的一个"壳子",XML数据利用这个"壳"来生成"传统"的HTML。
在XSL这个壳中,我们要从原料库XML里提取相关的数据,就要用到XSL提供的模式化查询语言。所谓模式化查询语言,就是通过相关的模式匹配规则表达式从XML里提取数据的特定语句,即我们上面所说的"筛子"。XPath
4。三种模式语言:
选择模式:
<xsl:for-each>、<xsl:value-of>和 <xsl:apply-templates>
测试模式:
<xsl:if> 和<xsl:when>
匹配模式:
<xsl:template>
5。 更多参考资料:
http://www.7880.com/Info/Article-36f92e60.html
XSL(EXtensible Stylesheet Language)可扩展样式表语言
XSL之于 XML 就像 CSS 之于 HTML
(由于XML中的Tag可以由用户来自定义,而XML文档通常只是树形结构而没有格式化的输出,因此需要XSL来定义XML格式化输出)
2.XSL 包含两个部分:
* XSLT – 用于转换 XML 文档的语言. XSLT 是指 XSL 转换 (XSL Transformation)—— “模子”
* XPath – 用于在 XML 文档中导航的语言 —— “筛子”
3.
XSL本身实际上也是一种XML:
XML文档需要在第一行声明<?xml version="1.0" encoding="UTF-8"?>
XSL文档的声明除了上面一行,还需要有
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
......
</xsl:stylesheet>
3.
HTML中的Tag含有显示含义、但缺乏明确意义缺乏灵活性;
XML文件本身的TAG可以有用户赋予含义,但确无显示格式的含义,仅仅是属性结构。可以通过两种方法定义XML文件的外观显示:
a)定义CSS(CSS定义的效果并不令人满意,CSS用来格式化XHTML标记更合适一些)
b)使用XSL
如果我们将XML文件比作结构化的原料的话,那么XSL就好像"筛子"与"模子",筛子选取自己需要的原料,这些原料再通过模子形成最终的产品:HTML。
“筛子”即是XPath,用于XML属性结构中查询;
"模子"即是XSLT,定义的HTML模子,XPath搜索出的结果,填入XSLT定义的模子中,从而完成XML转化为格式化的HTML文档。
这个模子大致是这样:我们先设计好表现的页面,再将其中需要从XML中获取数据来填充内容的部分"挖掉",然后用XSL语句从XML中筛出相关的数据来填充。一言以譬之: 这XSL实际上就是HTML的一个"壳子",XML数据利用这个"壳"来生成"传统"的HTML。
在XSL这个壳中,我们要从原料库XML里提取相关的数据,就要用到XSL提供的模式化查询语言。所谓模式化查询语言,就是通过相关的模式匹配规则表达式从XML里提取数据的特定语句,即我们上面所说的"筛子"。XPath
4。三种模式语言:
选择模式:
<xsl:for-each>、<xsl:value-of>和 <xsl:apply-templates>
测试模式:
<xsl:if> 和<xsl:when>
匹配模式:
<xsl:template>
5。 更多参考资料:
http://www.7880.com/Info/Article-36f92e60.html