如何将XML元素的内容放入XUL模板?

时间:2009-11-09 23:43:44

标签: xml templates datasource xul

我在将XML数据传递到XUL模板时遇到了麻烦。

查找

例如,我们有数据源XML,具有下一个结构:

<people>
    <person name="Joe"/>
    <person name="Tom"/>
    <person name="Lisa"/>
    <person name="Bob"/>
</people>

在这种情况下,我们可以使用XUL中的下一个模板:

<template>
    <query expr="person"/>
    <action>
        <listitem uri="?" label="?name"/>
    </action>
</template>

问题是如果数据源XML具有以下结构,我应该在 listitem的标签属性中加入什么:

<people>
    <person>Joe</person>
    <person>Tom</person>
    <person>Lisa</person>
    <person>Bob</person>
</people>

提前谢谢。

1 个答案:

答案 0 :(得分:1)

可能using <assign>

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<people id="famouspeople" xmlns="">
  <person>Napoleon Bonaparte</person>
  <person>Cleopatra</person>
</people>

<listbox datasources="#famouspeople" ref="*" querytype="xml">
  <template>
    <query expr="person">
      <assign var="?name" expr="./text()"/>
    </query>

    <action>
      <listitem uri="?" label="?name"/>
    </action>
  </template>
</listbox>

</window>