简体   繁体   English

为什么Xquery给我变量一个错误? 一世

[英]Why is Xquery giving me an error on my variable? I

I am very new to XML and XQUERY and am having a terrible time trying to validate , what is probably incredibly easy code. 我是XML和XQUERY的新手,尝试验证的时间很糟,这可能是非常简单的代码。 The validator keeps telling me that I have an unknown function or expression but seems to stop around my variable. 验证器不断告诉我我有一个未知的函数或表达式,但似乎停在我的变量周围。 Can anyone help? 有人可以帮忙吗? I'm sure this is an incredibly easy question but I have been banging my head against the wall trying to figure out what I am doing wrong. 我敢肯定,这是一个非常简单的问题,但我一直在想着自己做错了的事情。 Here is the XML: 这是XML:

<PurchaseOrders>
  <PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20">
    <Address Type="Shipping">
      <Name>Ellen Adams</Name>
    </Address>
    <Address Type="Billing">
      <Name>Tai Yee</Name>
    </Address>
    <Items>
      <Item PartNumber="872-AA">
        <ProductName>Lawnmower</ProductName>
      </Item>
      <Item PartNumber="926-AA">
        <ProductName>Baby Monitor</ProductName>
      </Item>
    </Items>
  </PurchaseOrder>
 </PurchaseOrders>

my Xquery: 我的Xquery:

for $x in doc/PurchaseOrders/PurchaseOrder
    let $z := $x/Items/Item
    let$n := count($z)
    where $x/Address[@Type = 'Shipping'] order by $x/Name ascending
    return <Orders><Order><Name>{$x/Name}</Name><NoProducts>$n</NoProducts></Order></Orders>

Expected output: 预期产量:

<Orders>
  <Order>
    <name>Ellen Adams</name>
    <noProducts>2</noProducts>
  </Order>
 </Orders>

What did I do wrong? 我做错了什么? I know this is basic but I would love to learn! 我知道这是基本知识,但我很想学习! Thanks! 谢谢!

I can't speak to what you did wrong (since the error provided in the question was insufficiently precise, and when running that same query myself, I received an empty result, but also no errors), but I can provide a query that generates the output you expect. 我无法说出您做错了什么(由于问题中提供的错误不够精确,并且当我自己运行该查询时,我收到的结果为空,但也没有错误),但是我可以提供一个生成您期望的输出。

declare context item := document {
  <PurchaseOrders>
    <PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20">
      <Address Type="Shipping">
        <Name>Ellen Adams</Name>
      </Address>
      <Address Type="Billing">
        <Name>Tai Yee</Name>
      </Address>
      <Items>
        <Item PartNumber="872-AA">
          <ProductName>Lawnmower</ProductName>
        </Item>
        <Item PartNumber="926-AA">
          <ProductName>Baby Monitor</ProductName>
        </Item>
      </Items>
    </PurchaseOrder>
  </PurchaseOrders>
};

<Orders>{
for $purchaseOrder in /PurchaseOrders/PurchaseOrder[Address/@Type='Shipping']
    let $shippingAddress := $purchaseOrder/Address[@Type='Shipping']
    let $items := $purchaseOrder/Items/Item
    let $itemCount := count($items)
    order by $shippingAddress/Name ascending
    return <Order>
             <Name>{$shippingAddress/Name}</Name>
             <PONum>{string($purchaseOrder/@PurchaseOrderNumber)}</PONum>
             <NoProducts>{$itemCount}</NoProducts>
           </Order>
}</Orders>

Note that whereas previously $x pointed to a purchase order, here the key is a shipping address -- important, because otherwise your $x/Name found no data. 请注意,虽然以前$x指向采购订单,但是这里的键是送货地址,这一点很重要,因为否则$x/Name找不到数据。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 有人可以解释为什么我的代码在Safari中给我以下错误吗? - Could someone explain why my code is giving me the following error in safari? 谁能告诉我为什么我在针对xsd验证xml时出错? - Can anyone tell me why I am having error in validating my xml against my xsd? 我的Struts.xml文件无法重定向到我的动作类,并给我404错误 - My Struts.xml file is unable to redirect to my action class and giving me 404 error XQuery中的全局变量,不确定如何返回平均值以及为什么会收到此错误 - Global variables in XQuery and not sure how to return the average and why I am getting this error Eclipse给我R无法解决可变错误,已经尝试了所有修复程序 - Eclipse Giving me the R cannot be resolved to a variable error, have tried every fix 为什么XQUERY不能仅输出变量,而不能输出变量下面的所有元素? - Why won't XQUERY output just the variable and not all of the elements beneath it? 为什么减法和除法会在XSLT中给我NaN? - Why are subtractions and divisions giving me NaN in XSLT? 我正在尝试创建XML和XSL,但它给我一个错误,我不知道该怎么办 - I am trying to create an XML and XSL, but it is giving me an error that I can't figure out what to do 在XQuery中计数得出奇怪的结果 - Count in XQuery giving strange results XML到DataSet的转换给了我错误 - XML to DataSet conversion is giving me error
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM