Xml与css的设计

html-css036

Xml与css的设计,第1张

XSL是一种用来转换XML文档的样式表,它包括结构转换(XSLT)和格式化输出(XSL-FO)两部分。在结构转换的过程中,XSL通过XPath来查找和定位XML文档中的信息。XPath是一种专门用来在XML文档中查找信息的语言,用来描述如何识别、选择、匹配XML文档中的各个元素。XML通过XSLT和XPath,可以把XML转换成任何一种文档,当然也包括HTML文档。

4. XSL的基本结构

我们先来看一下例子来了解XSL的基本结构:

book.xml

<?xml version="1.0" encoding="gb2312"?>

<?xml-stylesheet type="text/xsl" href="book.xsl"?>

<books>

<book>

<name>The C++ Standard Library</name>

<author>Nicolai M.Josuttis</author>

</book>

<book>

<name>The Mythical Man-Month</name>

<author>Frederick P Brooks Jr.</author>

</book>

<book>

<name>C# Design Pattern</name>

<author>James W. Cooper</author>

</book>

</books>

book.xsl

<?xml version="1.0" encoding="gb2312"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:template match="/">

<html>

<head><title>Book 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">

<tr><th>Name</th><th>Author</th></tr>

<xsl:for-each select="book">

<tr>

<td><xsl:value-of select="name"/></td>

<td><xsl: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="http://www.w3.org/TR/WD-xsl">

<!--模板规则-->

<!--输出模板-->

</xsl:stylesheet>

在XSL声明中包含模板,模板中定义XML的输出格式。

需要注意的几个地方:

· XSL本身是XML文档,注意标签的匹配。

· <xsl:stylesheet>既是XSL的声明,也是根元素,要放在文件的首部。

· 要用xmlns指明XSL的命名空间:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

· 样式表中的所有模板都由<xsl:template>声明,模板可以说明处理的对象,处理方式或是转换的结果。

呵呵.你这话是听谁说的. xml不仅没有被淘汰,而且xml是web未来发展的一个方向! XML现在很流行的,不仅是WEB方面,软件上都有很多应用. 怎么说呢,在产品设计的时候应该要去注重 内容 与 表现 分离的思想. 比如,HTML语言,内容和表现没有分离,以至于代码十分臃肿,十分不利于开发,维护.现在流行的DIV+CSS就是内容与表现分离的例子来,DIV来装内容,而CSS来控制表现,如果需要改变外观只需要修改CSS就可以到达目的,这就是利于维护的例子. CSS现在主要还是在WEB方面.主要是与HTML或者XHTML结合. 与XML结合使用的是XSL.因为XSL设计的初衷就是为了表现XML. 所以,现在流行的XHTML+CSS是在XML影响下产生的过渡效果. 最终的发展方向是XML.就是这样了.