xquery error

gudii9
gudii9 used Ask the Experts™
on
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
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Commented:
Replace the curly opening bracket after the "if" with a round opening bracket "(".

Author

Commented:
i will try that

Author

Commented:
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
Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Commented:
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?

Author

Commented:
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

Commented:
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.

Author

Commented:
i need to try on personal laptop

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

Commented:
ID: 42371199 confirms the answer provided to the question.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial