2016-11-09 63 views
0

我有这方面的XQuery:这些Xqueryies怎么没有工作?

for $x in doc("oblig3.xml")/bøker/bok 
where $x/fagfelt="Databaser" 
order by $x/title 
return $x/title 


for $x in doc("oblig3.xml")/bøker/bok 
where $x/fagfelt="XML" 
order by $x/forfatter 
return $x/forfatter 


for $x in doc("oblig3.xml")/bøker/bok 
where $x/fagfelt="databaser" and $x/fagfelt="programmering" 
order by $x/@isbn 
return $x/@isbn 


doc("oblig3.xml") 
//forlag[parent::bok[child::fagfelt='programmering' and child::fagfelt='databaser']] 

,所有的工作在一个点上,他们仍然生效,但不会从查询我的XML东西。任何想法为什么这不会返回任何东西?

XML:

<?xml version="1.0" encoding="UTF-8"?> 
<?oxygen RNGSchema="compact_oblig3.rnc" type="compact"?> 

<bøker> 
    <bok isbn="1111"> 
     <tittle>Objects first with java</tittle> 
     <utgave>6</utgave> 
     <forfatter>David J. Barnes</forfatter> 
     <utgivelsesår>2016</utgivelsesår> 
     <fagfelt>Programmering</fagfelt> 
     <fagfelt>Databaser</fagfelt> 
     <innholdsfortegnelse> 
      <komponent>En komponent</komponent> 
     </innholdsfortegnelse> 
     <forlag>Pearson Education Limited 
      <url>http://www.pearsoned.co.uk/</url> 
      <kontaktinfo> 
       <telefon>08456301111</telefon> 
       <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="9780321197849"> 
    <tittle>An Introduction to Database Systems</tittle> 
    <utgave>8</utgave> 
    <forfatter>C.J.Date</forfatter> 
    <utgivelsesår>2004</utgivelsesår> 
    <fagfelt>Databaser</fagfelt> 
    <innholdsfortegnelse> 
     <komponent> Continuing in the eighth edition, An Introduction to Database Systems 
      provides a comprehensive introduction to the now very large field of database 
      systems by providing a solid grounding in the foundations of database technology 
      while shedding some light on how the field is likely to develop in the future. This 
      new edition has been rewritten and expanded to stay current with database system 
      trends. </komponent> 
    </innholdsfortegnelse> 
    <forlag> Pearson Education 
      <url>https://www.pearsonhighered.com/program/Date-An-Introduction-to-Database-Systems-8th-Edition/PGM274345.html</url> 
    </forlag> 
</bok> 

<bok isbn="9788215015224"> 
    <tittle>Databasesystemer</tittle> 
    <utgave>2</utgave> 
    <forfatter>Bjørn Kristoffersen</forfatter> 
    <utgivelsesår>2009</utgivelsesår> 
    <fagfelt>Databaser</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> “Universitetsforlaget” 
      <url>http://www.bokkilden.no/SamboWeb/produkt.do?produktId=4136282</url> 
     <kontaktinfo> 
      <telefon>24147500</telefon> 
      <epost>[email protected]</epost> 
      <adresse> 
       <gate>Sehesteds gate</gate> 
       <gatenmr>3</gatenmr> 
       <postnmr>0164</postnmr> 
      </adresse> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="032141506"> 
    <tittle>Fundamentals of Database Systems</tittle> 
    <utgave>5</utgave> 
    <forfatter>Elmasri</forfatter> 
    <forfatter>Navathe</forfatter> 
    <utgivelsesår>2007</utgivelsesår> 
    <fagfelt>Databaser</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Pearson Education 
      <url>https://www.pearsonhighered.com/product/Elmasri-Fundamentals-of-Database-Systems-5th-Edition/9780321369574.html</url> 
    </forlag> 
</bok> 

<bok isbn="9780195138573"> 
    <tittle>Mindware</tittle> 
    <forfatter>Andy Clark</forfatter> 
    <utgivelsesår>2001</utgivelsesår> 
    <fagfelt>Filosofi</fagfelt> 
    <fagfelt>Kognitiv vitenskap</fagfelt> 
    <innholdsfortegnelse> 
     <komponent> Mindware: An Introduction to the Philosophy of Cognitive Science invites 
      readers to join in up-to-the-minute conceptual discussions of the fundamental 
      issues, problems, and opportunities in cognitive science. Written by one of the most 
      renowned scholars in the field, this vivid and engaging introductory text relates 
      the story of the search for a cognitive scientific understanding of mind. This 
      search is presented as a no-holds-barred journey from early work in artificial 
      intelligence, through connectionist (artificial neural network) counter-visions, and 
      on to neuroscience, artificial life, dynamics, and robotics. The journey ends with 
      some wide-ranging and provocative speculation about the complex coadaptive dance 
      between mind, culture, and technology. Each chapter opens with a brief sketch of a 
      major research tradition or perspective, followed by short yet substantial critical 
      discussions dealing with key topics and problems. Ranging across both standard 
      philosophical territory and the landscape of cutting-edge cognitive science, Clark 
      highlights challenging issues in an effort to engage readers in active debate. 
      Topics covered include mental causation; machine intelligence; the nature and status 
      of folk psychology; the hardware/software distinction; emergence; relations between 
      life and mind; the nature of perception, cognition, and action; and the continuity 
      (or otherwise) of high-level human intelligence with other forms of adaptive 
      response. Numerous illustrations, text boxes, and extensive suggestions for further 
      reading enhance the text's utility. Helpful appendices provide background 
      information on dualism, behaviorism, identity theory, consciousness, and more. An 
      exceptional text for introductory and more advanced courses in cognitive science and 
      the philosophy of mind, Mindware is also essential reading for anyone interested in 
      these fascinating and ever-changing fields. </komponent> 
    </innholdsfortegnelse> 
    <forlag> “Oxford University Press” <url>https://global.oup.com/academic/</url> 
     <kontaktinfo> 
      <telefon>4401865556767</telefon> 
      <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="9780631229193"> 
    <tittle>Philosophy of computing and information</tittle> 
    <redaktør>Luciano Floridi</redaktør> 
    <utgivelsesår>2004</utgivelsesår> 
    <fagfelt>Filosofi</fagfelt> 
    <fagfelt>Kunnskapsrepresentasjon</fagfelt> 
    <fagfelt>Kunstig Intelligens</fagfelt> 
    <fagfelt>Programmering</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> “Wiley” 
      <url>http://www.wiley.com/WileyCDA/WileyTitle/productCd-0631229191.html</url> 
     <kontaktinfo> 
      <telefon>4962016060</telefon> 
      <epost>[email protected]</epost> 
      <adresse> 
       <gate>Boschstrasse</gate> 
       <gatenmr>12</gatenmr> 
       <postnmr>69469</postnmr> 
      </adresse> 
     </kontaktinfo> 
    </forlag> 
</bok>   

<bok isbn="9780631218685"> 
    <tittle>Philosophy of Logic</tittle> 
    <forfatter>Jacquette Dale</forfatter> 
    <utgivelsesår>2002</utgivelsesår> 
    <fagfelt>Filosofi</fagfelt> 
    <fagfelt>Logikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> “Wiley” 
      <url>http://www.wiley.com/WileyCDA/WileyTitle/productCd-0631218688.html</url> 
     <kontaktinfo> 
      <telefon>4962016060</telefon> 
      <epost>[email protected]</epost> 
      <adresse> 
       <gate>Boschstrasse</gate> 
       <gatenmr>12</gatenmr> 
       <postnmr>69469</postnmr> 
      </adresse> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="9780198752530"> 
    <tittle>A Survey of Metaphysics</tittle> 
    <forfatter>E.J.Lowe</forfatter> 
    <utgivelsesår>2002</utgivelsesår> 
    <fagfelt>Filosofi</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> “Oxford University Press” 
      <url>https://global.oup.com/academic/</url> 
     <kontaktinfo> 
      <telefon>4401865556767</telefon> 
      <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="9780262024754"> 
    <tittle>Knowledge and Mind: A Philosophical Introduction</tittle> 
    <utgave>1</utgave> 
    <forfatter>Robert. J. Stainton</forfatter> 
    <forfatter>Andrew Brook</forfatter> 
    <utgivelsesår>2000</utgivelsesår> 
    <fagfelt>Filosofi</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> A Bradford Book <url>https://mitpress.mit.edu/category/imprint/bradford-book</url> 
    </forlag> 
</bok> 


<bok isbn="9781412925686"> 
    <tittle>Cognitive Science</tittle> 
    <utgave>1</utgave> 
    <forfatter>Jay Friedenberg</forfatter> 
    <forfatter>Gordon Silverman</forfatter> 
    <utgivelsesår>2006</utgivelsesår> 
    <fagfelt>Kognitiv vitenskap</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Sage Publications, Inc 
     <url>https://uk.sagepub.com/en-gb/eur</url> 
     <kontaktinfo> 
      <telefon>4402073248500</telefon> 
      <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 


<bok isbn="9780262122320"> 
    <tittle>The logic of knowledge bases </tittle> 
    <utgave>1</utgave> 
    <forfatter>GerhaldLakemeyer</forfatter> 
    <forfatter>Hector Levesque</forfatter> 
    <utgivelsesår>2000</utgivelsesår> 
    <fagfelt>Kunnskapsrepresentasjon</fagfelt> 
    <fagfelt>Logikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> The MIT Press <url>https://mitpress.mit.edu/</url> 
    </forlag> 
</bok> 

<bok isbn="9781558609327"> 
    <tittle>Knowledge Representation and Reasoning</tittle> 
    <utgave>1</utgave> 
    <forfatter>Ronald Brachman</forfatter> 
    <forfatter>Hector Levesque</forfatter> 
    <utgivelsesår>2004</utgivelsesår> 
    <fagfelt>Kunnskapsrepresentasjon</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Morgan Kaufmann <url>http://store.elsevier.com/product.jsp?isbn=9781558609327</url> 
    </forlag> 
</bok> 

<bok isbn="9780521150118"> 
    <tittle>The description logic handbook </tittle> 
    <utgave>2</utgave> 
    <redaktør>Daniele Nardi</redaktør> 
    <redaktør>Franz Baader</redaktør> 
    <redaktør>Diego Calvanese</redaktør> 
    <utgivelsesår>2007</utgivelsesår> 
    <fagfelt>Kunnskapsrepresentasjon</fagfelt> 
    <fagfelt>Logikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Cambridge University Press <url>http://www.cambridge.org/</url> 
     <kontaktinfo> 
      <telefon>4401223358331</telefon> 
      <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="9780444522115"> 
    <tittle>Handbook of Knowledge Representation</tittle> 
    <utgave>1</utgave> 
    <redaktør>Frank von Harmelen</redaktør> 
    <redaktør>Vladimir Lifschitz</redaktør> 
    <redaktør>Bruce Porter</redaktør> 
    <utgivelsesår>2008</utgivelsesår> 
    <fagfelt>Kunnskapsrepresentasjon</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Elsevier Science 
      <url>http://store.elsevier.com/product.jsp?isbn=9780444522115</url> 
    </forlag> 
</bok> 

<bok isbn="9780201403756"> 
    <tittle>Prolog Programming for Artificial Intelligence</tittle> 
    <utgave>3</utgave> 
    <forfatter>Ivan Bratko</forfatter> 
    <utgivelsesår>2001</utgivelsesår> 
    <fagfelt>Kunstig Intelligens</fagfelt> 
    <fagfelt>Programmering</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Pearson Education <url>https://www.pearsonhighered.com/</url> 
    </forlag> 
</bok> 


<bok isbn="9780470035610"> 
    <tittle>Computational Intelligence </tittle> 
    <utgave>2</utgave> 
    <forfatter>Andries P. Engelbrecht</forfatter> 
    <utgivelsesår>2007</utgivelsesår> 
    <fagfelt>Kunstig Intelligens</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Wiley <url>http://www.wiley.com/WileyCDA/</url> 
     <kontaktinfo> 
      <telefon>4962016060</telefon> 
      <epost>[email protected]</epost> 
      <adresse> 
       <gate>Boschstrasse</gate> 
       <gatenmr>12</gatenmr> 
       <postnmr>69469</postnmr> 
      </adresse> 
     </kontaktinfo> 
    </forlag> 
</bok> 



<bok isbn="9780137903955"> 
    <tittle> Artificial Intelligence - a modern approach </tittle> 
    <utgave>2</utgave> 
    <forfatter>Stuart Russell</forfatter> 
    <forfatter>Peter Norvig</forfatter> 
    <utgivelsesår>2003</utgivelsesår> 
    <fagfelt>Kunstig Intelligens</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> “Pearson education” 
      <url>https://www.pearsonhighered.com/product/Russell-Artificial-Intelligence-A- 
      Modern-Approach-2nd-Edition/9780137903955.html</url> 
    </forlag> 
</bok> 


<bok isbn="9780763718435"> 
    <tittle>Discrete structures, logic and computability </tittle> 
    <utgave>2</utgave> 
    <forfatter>James L. Hein</forfatter> 
    <utgivelsesår>2002</utgivelsesår> 
    <fagfelt>Logikk</fagfelt> 
    <fagfelt>Matematikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Jones and Bartlett Learning <url>http://www.jblearning.com/</url> 
     <kontaktinfo> 
      <telefon>8008320034</telefon> 
     </kontaktinfo> 
    </forlag> 
</bok> 


<bok isbn="9780521708777"> 
    <tittle>The mathematics of logic</tittle> 
    <utgave>1</utgave> 
    <forfatter>Richard W. Kaye</forfatter> 
    <utgivelsesår>2007</utgivelsesår> 
    <fagfelt>Logikk</fagfelt> 
    <fagfelt>Matematikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Cambridge University Press <url>http://www.cambridge.org/ </url> 
     <kontaktinfo> 
      <telefon>4401223358331</telefon> 
      <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 


<bok isbn="9780521365840"> 
    <tittle>Lattices and order </tittle> 
    <utgave>1</utgave> 
    <forfatter>B. A. Davey</forfatter> 
    <forfatter>H. A. Priestley</forfatter> 
    <utgivelsesår>1990</utgivelsesår> 
    <fagfelt>Matematikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Cambridge University Press <url>http://www.cambridge.org/</url> 
     <kontaktinfo> 
      <telefon>4401223358331</telefon> 
      <epost>[email protected]</epost> 
     </kontaktinfo> 
    </forlag> 
</bok> 


<bok isbn="9780201730470"> 
    <tittle>Discrete Mathematics for Computing</tittle> 
    <utgave>1</utgave> 
    <forfatter>Rod Haggarty</forfatter> 
    <utgivelsesår>2001</utgivelsesår> 
    <fagfelt>Matematikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Pearson education <url>https://www.pearsonhighered.com/</url> 
    </forlag> 
</bok> 

<bok isbn="978-0521478175"> 
    <tittle>Conceptual Mathematics: A First Introduction to Categories</tittle> 
    <utgave>1</utgave> 
    <forfatter>F. William Lawvere </forfatter> 
    <forfatter>Stephen Hoel Schanuel</forfatter> 
    <utgivelsesår>1997</utgivelsesår> 
    <fagfelt>Matematikk</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> ELSEVIER <url>https://www.elsevier.com/</url> 
    </forlag> 
</bok> 


<bok isbn="9780321392794"> 
    <tittle>Data Structures in Java</tittle> 
    <utgave>1</utgave> 
    <forfatter>Simon Gray</forfatter> 
    <utgivelsesår>2007</utgivelsesår> 
    <fagfelt>Programmering</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> “Pearson education” <url>https://www.pearsonhighered.com/</url> 
    </forlag> 
</bok> 

<bok isbn="978-0131374690"> 
    <tittle>Java software solutions</tittle> 
    <utgave>3</utgave> 
    <forfatter>John Lewis</forfatter> 
    <forfatter>William Loftus</forfatter> 
    <forfatter>Cara Cocking</forfatter> 
    <utgivelsesår>2003</utgivelsesår> 
    <fagfelt>Programmering</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> Pearson education 
     <url>https://www.pearsonhighered.com/</url> 
    </forlag> 
</bok> 

<bok isbn="9780262012423"> 
    <tittle>A Semantic Web Primer</tittle> 
    <utgave>2</utgave> 
    <forfatter>Grigoris Antoniou</forfatter> 
    <forfatter>Frank van Harmelen</forfatter> 
    <utgivelsesår>2004</utgivelsesår> 
    <fagfelt>Web</fagfelt> 
    <innholdsfortegnelse> 
     <komponent/> 
    </innholdsfortegnelse> 
    <forlag> MIT Press 
     <url>https://mitpress.mit.edu/books/semantic-web-primer</url> 
    </forlag> 
</bok> 

<bok isbn="9780321269669"> 
    <tittle>An introduction to XML and techologies</tittle> 
    <utgave>1</utgave> 
    <forfatter>Anders Moller</forfatter> 
    <forfatter>Michael Schwartzbach</forfatter> 
    <utgivelsesår>2005</utgivelsesår> 
    <fagfelt>XML</fagfelt> 
    <fagfelt>Programmering</fagfelt> 
    <fagfelt>Web</fagfelt> 
    <innholdsfortegnelse> 
     <komponent></komponent> 
    </innholdsfortegnelse> 
    <forlag>Pearson Education Cananda 
     <url>http://www.pearsoncanada.ca/</url> 
     <kontaktinfo> 
      <telefon>18005673800</telefon> 
      <epost>[email protected]</epost> 
      <adresse> 
       <gate>Prince Andrew Place</gate> 
       <gatenmr>26</gatenmr> 
       <postnmr>416</postnmr> 
      </adresse> 
     </kontaktinfo> 
    </forlag> 
</bok> 

<bok isbn="2222222"> 
    <tittle>Jeg er en bok om Xpath</tittle> 
    <utgave>2</utgave> 
    <forfatter>Thomas Petersson</forfatter> 
    <utgivelsesår>2016</utgivelsesår> 
    <fagfelt>XML</fagfelt> 
    <innholdsfortegnelse> 
     <komponent></komponent> 
    </innholdsfortegnelse> 
    <forlag> Mitt forlag 
     <url>www.eksempelforlag.no</url> 
    </forlag> 
</bok> 

其他查询工作,如:

/bøker/bok[./tittle[contains(.,'Xpath')] or ./innholdsfortegnelse[contains(.,'Xpath')]]/tittle 

这将返回它的名字一个书使用XPath。

+0

编码问题?例如,您列出的最后两个查询使用了错误的情况:* databaser *与* Databaser *。 – Markus

+0

@Markus我将databaser更改为Databaser并将其编程为Programmering,没有任何改变我很害怕 – Peebl

+0

@Markus最后一个工作时,我改变了两个关键字,休息不会工作虽然 – Peebl

回答

1

有几件事情需要加以纠正:

  1. 你的XQuery想返回<title>,但它们在输入XML编写<tittle>。因此,你可以纠正查询,像这样:

    for $x in doc("oblig3.xml")/bøker/bok 
    let $tittle := $x/tittle/text() 
    where $x/fagfelt = "Databaser" 
    order by $tittle 
    return $tittle 
    
  2. 有时候你有几个<forfater>标签,你的查询返回因此不能用作排序键几个节点。一种可能性是,只对遇到的第一个<forfatter>标签进行排序,就像这样:因为几个<fagfelt>标签被发现

    for $x in doc("oblig3.xml")/bøker/bok 
    let $forfatter := $x/forfatter[1]/text() 
    where $x/fagfelt/text() = "XML" 
    order by $forfatter 
    return $x/forfatter 
    
  3. 第三个查询再次失败。过滤元素的条件应重写为不区分大小写(如Markus的注释中所指出的)以及返回指令,因为您无法直接返回该属性。这应该做好这方面的工作:

    for $x in doc("oblig3.xml")/bøker/bok 
    where $x/fagfelt[lower-case(.) = "databaser"] and $x/fagfelt[lower-case(.) = "programmering"] 
    order by fn:string($x/@isbn) 
    return fn:string($x/@isbn) 
    
+0

非常感谢,很多小愚蠢的错误我。不过,我会确保从现在开始使用小写字母,然后仔细检查我的拼写 – Peebl