BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #3307同步于 2008/5/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

[合集] [讨论]XSLT- eXtensible Style Language Transform

tntzwz
2008/5/27镜像同步0 回复
☆─────────────────────────────────────☆ wks (cloverprince) 于 (Sat Mar 8 23:03:58 2008) 提到: 最近发现的一个好玩的东西,希望不要火星。 XSLT是一种神奇的工具。 它可以将一个XML文档转换成另一种XML文档, 而转换规则也是一个XML文档。 举一个例子,这是我的CD数据库,用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> 我想把他转换成XHTML,放到网站上,于是我给予转换规则(叫做XSL Stylesheet): <?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> <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"> <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> 上述规则定义了:把根节点转换成一个html文档,把每个cd记录转换成表格中的一行。 把这个转换规则应用于原始的XML文档,就把它转换成了: <html><body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">Title</th> <th align="left">Artist</th> </tr> <tr> <td>Empire Burlesque</td> <td>Bob Dylan</td> </tr> </table> </body></html> XSLT的应用: - 新版本的DocBook应用的就是XSLT。DocBook文档(一本书)用XML描述,然后用XSLT转换成各种格式,如HTML,用于网络,或者用其它手段转换成PDF甚至man page。 - IE6.0,Firefox1.0.3,Opera9以上都支持XML和XSLT,可以用它们建立网站,XSLT转换工作在客户端执行,加强代码复用,减少冗余。 - 配合XQuery建立XML数据库(貌似效率不高)。 - 等等 ☆─────────────────────────────────────☆ rboy (cat) 于 (Sun Mar 9 19:20:04 2008) 提到: 不火星呵呵 做ajax的时候还是很经常用到的 ☆─────────────────────────────────────☆ parameter (paradise) 于 (Tue Mar 11 18:33:55 2008) 提到: 你会发现一个更神奇的东东 cocoon2 ☆─────────────────────────────────────☆ wp (wp) 于 (Tue Mar 11 19:52:44 2008) 提到: 就是有点慢,写起来还是有点麻烦
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。