XML需要XSL的帮助

ZDNet软件频道 时间:2000-06-15 作者:Bill Pitzer |  我要评论(8)
本文关键词:
编者按:XML给今天的网络开发人员带来了希望,然而它对于其表现形式几乎没有什么控制手段,直到最近XSL的推出

用XML定义它

当然,要采用XSL,首先你得需要有一个XML文档。在表A中,你可以看到描述Mike的音乐收藏的XML文档。这是一个简单的格式正确的XML文档。在MY-COLLECTION 根节点内,你可以看到Mike已经存储了每个音乐作品的一些信息。

用XLS显示我们的XML

现在已经有了XML文档,如何显示它呢?这就是XSL出现的原因。显示Mike的XML的XSL完整列表请见表B。

XSL代码的第一行指定了名域。对此,我们不作详细介绍,你可以参考W3工作草案中XSL的完整文档。第二行中的前缀xsl: 指明了将要被XML处理器处理的XSL元素。

接下来的几行代码用于显示我们的XML域,注意,表A中的XML代码包含了相同属性的多个节点。

你可以看到每个<MUSIC>节点包含了同样的数据元素:artist,title,format和预计的价格。在本例中,我们打算用同样的格式显示这些数据域。表B中,接下来一行:

<xsl:for-each select ="MY-COLLECTION/MUSIC">

告诉XML处理器,对MY-COLLECTION 中的每个<MUSIC>节点采用同样的模板,注意你必须包含这个结束标记:

</xsl:for-each>

来定义起始标记的作用范围。现在,我们已经指明要处理的节点,我们将告诉处理器对数据采取什么动作。通过在XSL中写出下面的代码:

<xsl:value-of select="ARTIST"/>

<xsl:value-of select="TITLE"/>

<xsl:value-of select="FORMAT"/>

<xsl:value-of select="ESTIMATED_WORTH"/>

xsl:value-of 语句可以识别出一个合法的XML模式,并返回节点值。在我们的例子中,通过所选择的属性中的节点名,我们简单地取得了当前的xsl:for-each语句内容中的节点值。一旦返回了所有的数据元素,我们就关闭xsl:for-each 标记。我们使用了一些额外的标签和分隔符号,以便让输出的可读性更强。同在HTML网页中处理文本一样进行处理这些符号。

赋给每一个select 属性的XSL模式可能包含不同的表达式,这些表达式影响了你所返回的数据。完整的关于XSL模式句法的讨论可在此处找到。

------ ------
点击页数,可转到相应的页。  
1 2 3 4  下一页
  把XML和XSL 代码放到HTML网页中

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134