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