XSLT

 

一、xsl

不清楚xsl是什么,我们可以通过如下对比,来理解。

 

CSS

XSL

定义

HTML样式表

XML样式表

标签

使用预先定义的标签,标签的意义很容易被理解

不使用预先定义的标签(我们可以使用任何喜欢的标签名),并且这些标签的意义并不都那么容易被理解

添加标签,即显示

<table> 元素定义表格 -并且浏览器清楚如何显示它,通过 CSS,很容易告知浏览器用特定的字体或颜色显示一个元素。

<table> 元素意味着一个 HTML表格,一件家具,或是别的什么东西 -浏览器不清楚如何显示它

 

 

XSL -不仅仅是样式表语言,XSL包括三部分:

 

XSLT

一种用于转换 XML文档的语言。

XPath

一种用于在 XML文档中导航的语言。

XSL-FO

一种用于格式化 XML文档的语言。

 

 

二、实例转换

//XML文档
	
		<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
.
.
.
</catalog>
//XSLT 代码
	
		<?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="/">
  <html>                       //html,body,table等标签为html标签,这里是规定在html的具体位置标签显示我们的信息
  <body>
    <h2>My CD Collection</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
      <th align="left">Title</th>
      <th align="left">Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">   //在html 标签中插入<xsl>标签来绑定XML中的节点,“/”表示层次关系
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>                              //结束标签
    </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>
//将xsl 链接到xml
	
		<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>        // 链接语句
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
.
.
.
</catalog>

从上可以看出,XSLTXML的关系:


 


1XSL可描述如何来显示 XML文档; 


2XSLXML编写顺序问题。 


一种:XSLXML基础上进行编写,先知道XML中节点的名称,然后XSL中直接拿来用。


适用情况:XML内容确定;xml先于XSL之前已经准备好,那这种方法无疑是ok的。 


另一种:XSLXML独立编写。这时的XSL是一个字段不填写的框架模板,等有了XML文档,再来填空,使用。

适用情况:xml使用量大,且显示要求基本一致;两个文档被不同人编写;XML文档字节不确定等这些因素存在的化,我们就可以使用该方法。 


这两种的适用性,想必不用我多说,实际生活中,我们可以根据实际情况来选择使用,那种方便用那种。




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值