Avatar of gudii9
gudii9
Flag for United States of America asked on

xquery error

hi,

while executing below xquery

for $x in doc("Books.xml")/books/book
return if{$x/@category="XML")then<XMLBOOK>{data($x/title)}</XMLBOOK>
else <NONXML>{data($x/title)}</NONXML>


on below xml


<?xml version="1.0" encoding="UTF-8"?>
<books>
	<book category="JAVA">
		<title>Master Core Java</title>
		<author>JG</author>
		<year>2015</year>
		<price>50</price>
	</book>

	<book category="DOTNET">
		<title>Get Certified in .Net</title>
		<author>BG</author>
		<year>2016</year>
		<price>60</price>
	</book>

	<book category="XML">
		<title lang="en">XML and XML Schema Definition in easy steps</title>
		<author>BT</author>
		<year>2014</year>
		<price>20</price>
	</book>

	<book category="XML">
		<title lang="en">XSLT XPATH and XQuery Fundamentals</title>
		<author>BT</author>
		<year>2016</year>
		<price>30</price>
	</book>
</books>

Open in new window

getting below error

Syntax error on line 2 at column 9 of file:/C:/Users/sg/gpJava/ud/xsl_xpath_jquery/XQuery/Books2.xqy near {....xml")/books/book return if...}
  XPST0003: Unrecognized node constructor if{}
Static error(s) in query

how to fix it
please advise
ProgrammingJavaXMLProgramming Languages-Other

Avatar of undefined
Last Comment
BigRat

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
BigRat

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
gudii9

ASKER
i will try that
gudii9

ASKER
for $x in doc("Books.xml")/books/book
return if($x/@category="XML")then<XMLBOOK>{data($x/title)}</XMLBOOK>
else <NONXML>{data($x/title)}</NONXML>

it worked as above

in eclipse how to create xpy file??(File -->New -->Other has only option to create xml though..do i need separate plug in for this?)


As of now i just imported unzipped folder as existinng project.

then i clicked on the xqy file and run --->run as--->run configuration

there in main

i searched on Query selected
net.sf.saxon.Query

(not sure why it showed same entries two times any way i selected one of them)

In arguments i gave Books2.xpy the same xquery file name i am runing

when i apply and run console gave the result of the filtered data

<?xml version="1.0" encoding="UTF-8"?><NONXML>Master Core Java</NONXML><NONXML>Get Certified in .Net</NONXML><XMLBOOK>XML and XML Schema Definition in easy steps</XMLBOOK><XMLBOOK>XSLT XPATH and XQuery Fundamentals</XMLBOOK>
xquery1.png
xquery2.png
BigRat

If you mean create an XQuery file in Eclipse, then yes you need a plugin.
The details are here https://wiki.eclipse.org/New_Eclipse_Plugin_for_XQuery

I have no idea what an "xpy" file is?
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
gudii9

ASKER
I have no idea what an "xpy" file is?
i mean xqy which is short cut for xquery
what is the name of the plug in to search on eclipse market place? please advise
BigRat

Sorry, but it beats me how one can abbreviate XQuery in a way that a "p" turns up in the string.

All the information you need for an XQuery Plug-in for Eclipse is in the link I gave you.
gudii9

ASKER
i need to try on personal laptop
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
BigRat

Ok, so install Eclipse on the LapTop, follow the link and download the plugin.
BigRat

ID: 42371199 confirms the answer provided to the question.