1

我想从我的标题中插入动态 url,它可以工作,但它显示 6*6 '因为 2 个不同的循环......我不知道如何做不同的......

我尝试使用全局变量,但它是一样的......(我有 6 个食谱)

谢谢 !

代码 XML:

  <recette id="r1">
    <titre>Cake au chocolat</titre>
    <cat>dessert</cat>
    <type/>
    <nombre>6</nombre>
    <listeingredients>
      <ingredient q="150" u="g">chocolat pâtissier</ingredient>
      <ingredient q="3" u="pièce">oeufs</ingredient>
      <ingredient q="100" u="g">sucre en poudre</ingredient>
      <ingredient q="60" u="g">farine</ingredient>
      <ingredient q="1" u="cuillère à café">levure</ingredient>
      <ingredient q="80" u="g">beurre</ingredient>
      <ingredient q="50" u="g">poudre d'amandes</ingredient>
    </listeingredients>
    <cuisson>
      <temps type="preparation">15</temps>
      <temps type="cuisson">30</temps>
      <temperature u="C">180</temperature>
    </cuisson>
  </recette>
  <recette id="r2">
    <titre>Brownies aux noix de pécan</titre>
    <cat>dessert</cat>
    <type/>
    <nombre>6</nombre>
    <listeingredients>
      <ingredient q="200" u="g">chocolat à cuire</ingredient>
    <cuisson>
      <temps type="preparation">10</temps>
      <temps type="cuisson">25</temps>
      <temperature u="C">180</temperature>
    </cuisson>
    <instruction>
      <etape>Faire fondre le chocolat avec le beurre, soit au bain-marie à feu doux, soit au micro-ondes sur programme 'décongélation'.</etape>
      <etape>Quand c'est bien fondu, mélanger et ajouter le sucre, les oeufs un par un, la farine, puis les noix de pécan hachées grossièrement.</etape>
      <etape>Bien mélanger et verser dans un moule carré de 20 cm (ou rectangulaire pas trop grand), chemisé de papier sulfurisé.</etape>
      <etape>Mettre au four préchauffé à 180°C pendant 25 min.</etape>
      <etape>Laisser refroidir et couper en carrés.</etape>
    </instruction>
  </recette>
</listerecettes>

代码 xq:

{
    for $titre in db:open("recettes")//recette//titre, $j in (6,2,1,5,4,3)
    order by $titre
    return
    <a href="http://127.0.0.1:8984/rest/recettes?query=//recette[@id='r{$j}']">
        <ul>
            <li>
            {
                $titre
            }
            </li>
        </ul>
    </a>
}
</body>
</html>
4

2 回答 2

0

在您发表评论后,我仍然不知道您想要实现什么,$j因为它根本没有用,可以简单地删除。所以我猜你可能想要别的东西,而不仅仅是一个按标题排序的简单列表 - 如果是这样,请明确你想要实现的目标。否则,只需删除$j并使用 id 属性即可。

for $recette in db:open("recettes")//recette
let $titre := $recette/titre
order by $titre
return
<a href="http://127.0.0.1:8984/rest/recettes?query=//recette[@id='{$recette/@id}']">
    <ul>
        <li>
        {
            $titre
        }
        </li>
    </ul>
</a>
于 2013-04-22T15:27:26.750 回答
0

谢谢,但我刚刚找到了另一种方法!:

for $titre in db:open("recettes")//recette//titre
order by $titre
return
<a href="http://127.0.0.1:8984/rest/recettes?query=//recette[@id='{$titre/..//@id}']">
    <ul>
        <li>
        {
          $titre
        }
        </li>
    </ul>
</a>

我测试了您的代码,它是正确的,但您在 order by 后忘记了“$tire”!

于 2013-04-22T15:47:19.330 回答