欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

XSL简明教程(2)XSL转换

程序员文章站 2022-03-07 20:05:55
原著:jan egil refsnes 翻译:阿捷 二.xsl的转换 1.将xml转换成htmlxsl是如何将xml文档转换成html文件的呢?我们来看一个例子,下面是xm...
原著:jan egil refsnes 翻译:阿捷

二.xsl的转换


1.将xml转换成html

xsl是如何将xml文档转换成html文件的呢?我们来看一个例子,下面是xml文档的一部分:


<?xml version="1.0" encoding="iso8859-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>

...


然后我们将下面的xsl文件作为html的模板将xml数据转换为html文件:


<?xml version='1.0'?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/tr/wd-xsl">

<xsl:template match="/">

<html>

<body>

<table border="2" bgcolor="yellow">

<tr>

<th>title</th>

<th>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>


在上面的代码中, xsl:for-each元素的作用是定位xml文档中的哪些元素需要按以下模板显示。select属性用来定义源文件中的元素名。指定属性的这种语法又称为xml
pattern(模式),类似文件子目录的表示形式。xsl:value-of元素用来在当前层次中插入子元素的内容模板。

因为xsl样式表自身也是一个xml文档,因此,xsl文件的开头以一个xml声明开始。 xsl:stylesheet元素用来声明这是一个样式表文件。<xsl:template
match="/">语句表示xml的源文档在当前目录下。

如果为xml文档加上xsl样式表,看下面代码第2行,你的浏览器就可以精确的将xml 文档转换为html文件。


<?xml version="1.0" encoding="iso8859-1" ?>

<?xml-stylesheet type="text/xsl" href="cd_catalog.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>