XML与XSLT
首先,我们来看看由W3C制定的XML转换标准?XSL(eXtansible Style Language,扩展样式表语言)。它的作用就是让XML看上去像现有的HTML一样多姿多彩。在此基础上,发展了三种XML应用:XSLT、Xpath和XSL-SOXSLT(XSL Transformation)负责将XML文档动态地转换为HTML格式,并发送给浏览器。后两种也具备类似功能,由于应用不及XSLT广泛,就不再介绍。
要使用XSLT,必须在XML文档中指出。例如,要使一篇XML文档被浏览器请求时呈现类似于HTML的效果,必须在XML文档前面指定相应的XSL文件,如下所示:
<?xml version=“1.0”> <?xml-stylesheet type=“text/xml” href=“../xslt/normal.xsl”> <article> <name>whoami</name …… xml 数据 …… </article> |
在相应路径中,应当有一个合适的normal.xsl文档。
XSLT使用模板完成XML到HTML的转换。例如,想要将文档中的<name>节点提取出来,并显示为加粗字符,这样的XSLT可以满足要求:
// 文件名:normal.xsl <?xml version=“1.0”?> <xsl:stylesheet version=“1.0”xmlnsxsl=http://www.w3.org/1999/XSL/Transform> <!-由于MS一贯的作风,该名称空间的定义并不适合MS IE浏览器,它必须使用 xmlnsxsl=http://www.w3.org/TR/WD-xsl,注意区分大小写 //--> <xsl:template match=“/”> <div><style=“font-weight:bold”/> <xsl:value-of select=“article/name”/> </div> <xsl:apply-templates/> </xsl:template> </xsl:stylesheet> |
正像前面说的那样,XML非常严格,XSLT作为一种XML应用同样要遵守这种规则,因此,除了前两行以外,所有的标记都必须有对应的结束标记。
当能够识别XSLT的浏览器(如IE 5.0及以上)获取这一XML文档后,会调用相应的XSL文档进行解释,那么,XSLT是如何工作的呢?它首先创建一个模板,匹配整个文档,然后在其中寻找article/name节点,并用value-of元素输出该值,于是,我们通过浏览器看到的XML文档就是:whoami。
不会显示任何其它XML元素。注意XSL文档中加粗的部分,那些是普通的HTML文本,只是用来强调我们的输出。
文章来源:
http://www.jspcn.net
posted on 2006-07-04 13:06
Black&White JavaWorld 阅读(85)
评论(0) 编辑 收藏