【IT168 技术文档】在2006年,IBM推出了新一代的数据库服务器DB2 9.这是唯一基于开放标准的混合数据服务器,能够在单一请求中无缝管理关系型和 pureXML 数据。IBM DB2 9采用一种自然反映 XML 结构的层次结构来存储 XML 数据。这种结构中的 pureXML 技术通过提供对 XML 数据的简单、高效的存取,可以充分发挥 XML 的潜能。通过使用DB2 9作为面向服务架构 (SOA) 的核心,可以实现 XML 与关系型数据的无缝、高效集成。现在IBM 又推出了DB2 V9.5,提供了XSLT支持,允许将XML数据转换为其他格式。在DB2 V9.5中可以使用新的 XSLTRANSFORM 函数将数据库中的 XML 文档转换为 HTML、纯文本或其他格式的 XML。
首先,从一个大家常见例子来看看为什么XML需要XSLT,XSLT对于XML有什么意义。要理解XSLT,则先来看看一个HTML的例子。
Hypertext Markup Language,中文也就是超文本链接标示语言,是网络的通用语言,一种简单、通用的全置标记语言。HTML将数据内容与表现融为一体,可修改性、数据可检索性比较差,当我们使用HTML时,标记只是简单的表示内容和显示形式,而与表示的内容没有任何关联,为文档的进一步处理带来极大的不便,例如我们要表示一个唱片店的相关CD,用HTML的表示如下:
<html> <body> <h2>My CD Collection</h2> <table border="1"> <tr> <td>Empire Burlesque</td><td>Bob Dylan</td> </tr> </table> </body> </html>
从这个表示,我们不能直观的从标记<td>了解到Empire Burlesque代表什么。而XML是一种元标记语言,没有许多固定的标记,为开发人员提供了更大的灵活性,并且XML将内容和其表现分开,使用户之间的数据交换更加方便,可重用性更强。比如唱片店的CD用XML表示如下:
<?xml version="1.0"?> <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>
从XML的表示,很容易就知道了Empire Burlesque表示的是CD的名字。
但是从这个例子我们也可以看到XML是一种数据文件。也就是说XML提供的是数据原料,但是并没有提供其表现的形式。那怎么样利用原料,来实现我们需要的像HTML这样的有表现形式的产品呢,在这里就需要引入一个新的概念XSL。