XQuery表达式。关于订购的事

XQuery表达式。关于订购的事,xquery,Xquery,我必须订购,然后打印文本的一部分。我尝试了一些表达式,最终成为了帮助我的代码,但我认为它不是很好 我将发布部分文本,然后是我编写的代码 牛肉帕尔玛干酪配大蒜天使发意大利面 预热烤箱至华氏350度(摄氏175度)。 将方块牛排切成小块。在肉上涂上面包屑 还有帕尔马干酪。在大煎锅中加热橄榄油,炒1 用茶匙大蒜浸泡3分钟。快速油炸(两面快速变黄) 肉将肉放入砂锅烘焙盘中,边缘略微重叠。 将洋葱圈和辣椒放在肉的上面,然后倒入调味汁 总的来说。 在华氏350度(摄氏175度)的温度下烘烤30到45分钟,

我必须订购,然后打印文本的一部分。我尝试了一些表达式,最终成为了帮助我的代码,但我认为它不是很好

我将发布部分文本,然后是我编写的代码


牛肉帕尔玛干酪配大蒜天使发意大利面
预热烤箱至华氏350度(摄氏175度)。
将方块牛排切成小块。在肉上涂上面包屑
还有帕尔马干酪。在大煎锅中加热橄榄油,炒1
用茶匙大蒜浸泡3分钟。快速油炸(两面快速变黄)
肉将肉放入砂锅烘焙盘中,边缘略微重叠。
将洋葱圈和辣椒放在肉的上面,然后倒入调味汁
总的来说。
在华氏350度(摄氏175度)的温度下烘烤30到45分钟,具体取决于温度
肉的厚度。在肉上撒上马苏里拉,放在烤箱里
烤至起泡。
把意大利面煮得凹凸不平。沥干水份,加入黄油和1茶匙大蒜。暂时
大蒜味更强,用大蒜粉调味。上面是磨碎的帕尔玛干酪
还有欧芹的颜色。将肉和酱汁放在一堆意大利面上食用!
提前把肉做好,晚上冷藏,把酸放在冰箱里
番茄酱会使肉更嫩。如果执行此操作,请保存
莫扎里拉,直到最后一分钟。
意大利乳清干酪派
将12个鸡蛋、2杯糖和香草精搅拌在一起。搅动
乳清干酪和巧克力片。放在一边。
将面粉、发酵粉和一杯糖混合在一起。插嘴
起酥并混合,直到混合物像粗碎屑。加入4份
鸡蛋和一茶匙香草。将面团分成4个球,然后冷却(如果需要)
需要)。
预热烤箱至325华氏度(165摄氏度)。给两个深盘子馅饼涂上油脂
盘子。
把两个球滚出来放进馅饼盘。不要把外壳弄得太厚
因为它会在烹饪过程中膨胀,变得太稠。不要用凹槽刮去边缘
面团。把另外两团面团擀成8个窄面团
面包皮顶部的条状物。或者,您可以使用饼干切割器和
将切口放在馅饼的顶部。
将馅料均匀地倒入馅饼皮中。在每个馅饼上放上8条窄条
指切好的面团或饼干。在馅饼顶部刷上牛奶以使其光亮。把箔放在
地壳的边缘。
在325华氏度(165摄氏度)下烘烤20至30分钟,然后取出
箔继续烘烤25或30分钟,或者直到插入刀
中心是干净的。
> 
我所做的代码如下


{
在doc()/recipes/recipe中的$x
按$x/营养订购[@carries>600]
回来
($x/头衔)|($x/营养[@carries])
}

XQuery表达式的主要思想是在
标记中显示标题和按卡路里排序的卡路里

您的第一次尝试看起来没有那么糟糕,除此之外,结果XML看起来不是很有用。您可能希望在配方元素中重新书写每个标题和营养。第二,你的订单条款可能没有多大作用。你写道:

order by $x/nutrition[@calories>600]
但那样的话,你就可以根据营养元素的文本内容进行排序,而它没有任何内容。你可能是说:

order by $x/nutrition[@calories>600]/@calories
或者更好的是,您希望按卡路里的数量订购:

order by $x/nutrition[@calories>600]/@calories/fn:number(.)

我不太清楚你到底想达到什么目的。那么,
carries>600
条件代表什么(它在orderby子句中似乎没有多大用处,因为它只适用于ordering条件)。我猜,你想过滤掉所有低于600卡路里的营养价值(你目前的声明会订购所有超过600卡路里的食物,但其他食物仍会出现在结果中)

另外,您没有将
@carries
属性作为ordering属性,我想这就是您想要实现的

<result>
    {
        for $x in doc()/recipes/recipe
        return ($x/title,
          for $n in $x/nutrition[@calories>600]
          order by $n/@calories
          return $n
        )
    }
</result>

{
在doc()/recipes/recipe中的$x
返回($x/标题),
对于$x/营养中的$n[@carries>600]
按$n/@卡路里订购
返回$n
)
}

order by仅适用于内部flwor。不过,关于卡路里>600的说法很有道理。。