关于 XML 数据和重复元素

重复区域 XSLT 对象允许在页面中显示 XML 文件中的重复元素。包含 XML 数据占位符的所有区域均可转换为重复区域。但最常见的区域是表格、表格行或一系列表格行。

下面的示例介绍如何将重复区域 XSLT 对象应用于显示餐馆菜单信息的表格行。初始行显示 XML 架构的以下三个不同元素:项目、描述和价格。将重复区域 XSLT 对象应用于表格行,并由应用程序服务器或浏览器处理页面时,将重复该表格,在每个新表格行中插入唯一的数据。



当您在"文档"窗口中应用重复区域 XSLT 对象时,重复的区域周围会出现一个灰色的选项卡式细轮廓。在浏览器("文件">"在浏览器中预览")中进行预览时,该灰色轮廓消失且所选内容扩展,以显示 XML 文件中的指定重复元素(如以上说明所述)。

您可能还注意到,在将重复区域 XSLT 对象添加到页面中时,Dreamweaver 会截短"文档"窗口中 XML 数据占位符的长度。这是因为 Dreamweaver 更新了 XML 数据占位符的 Xpath,使它成了一个相对于重复元素路径的路径。

例如,以下代码表示包含两个动态占位符的表格,并且没有对此表格应用重复区域 XSLT 对象:

<table width="500" border="1">
   <tr>
    <td><xsl:value-of select="rss/channel/item/title"/></td>
   </tr>
   <tr>
    <td><xsl:value-of select="rss/channel/item/description"/></td>
   </tr>
</table>

以下代码表示同一个表格,但对表格应用了重复区域 XSLT 对象:

<xsl:for-each select="rss/channel/item">
   <table width="500" border="1">
    <tr>
     <td><xsl:value-of select="title"/></td>
    </tr>
    <tr>
     <td><xsl:value-of select="description"/></td>
    </tr>
   </table>
</xsl:for-each>

在上例中,Dreamweaver 对位于重复区域(title 和 description)内的项目的 Xpath 进行了自动更新,从而使该 XPath 相对于封闭标签 <xsl:for-each> 内的 XPath,而没有更新整个文档。

同样,在其他情况下,Dreamweaver 也会生成上下文相关的 XPath 表达式。例如,如果将某个 XML 数据占位符拖放到已应用了重复区域 XSLT 对象的表格中,Dreamweaver 会自动显示相对于封闭标签 <xsl:for-each> 中的现有 XPath 的 XPath。

若要了解如何应用重复区域 XSLT 对象,请参见显示重复 XML 元素

相关主题




未找到评论

 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://www.ecnnl.com/doc/dreamweaver/8_cn/using/38_xml5.htm

 

E中荷|荷兰华人电子商务