Galax is installed in the following two directories:
/cse/courses/cse444/05au/Galax-0.5.0-MinGW/bin --- the Windows version
/cse/courses/cse444/05au/Galax-0.5.0-Linux/bin --- the Linux version
Technically, that's all you need to know to do the homework problems on
XQuery. For a more gentle introduction on how to use Galax, read on.
This small tutorial is for Linux only. For Windows, go back in the browser
and click on the other link.
1. Type:
cd /cse/courses/cse444/05au
2. Type 'ls -al'. You should get something like that:
total 1844
drwxrwsr-x 5 root cse444 146 Oct 26 12:58 ./
drwxrwsr-x 17 root cse444 4096 Sep 22 11:46 ../
drwxr-xr-x 8 akgupta cse444 79 Feb 15 2005 Galax-0.5.0-Linux/
drwxr-xr-x 8 akgupta cse444 79 Feb 15 2005 Galax-0.5.0-MinGW/
-rw-rw-r-- 1 akgupta cse444 4416 Feb 4 2005 mondial-3.0.dtd
-rw-rw-r-- 1 akgupta cse444 1784825 Feb 4 2005 mondial-3.0.xml
-rw-rw-r-- 1 akgupta cse444 78290 Oct 26 12:19 pcre.dll
-rw-rw-r-- 1 akgupta cse444 128 Feb 4 2005 q1.xq
-rw-rw-r-- 1 akgupta cse444 192 Feb 4 2005 q2.xq
drwx------ 2 akgupta cse444 20 Oct 26 12:58 TA/
mondial-3.0.xml is a copy of the XML document you will use for the homework.
3. Look at the files q1.xq and q2.xq. For q1.xq you should see:
{ for $x in document("mondial-3.0.xml")/mondial/country//city/name/text()
return
{ $x }
}
For q2.xq you should see:
{ for $x in document("mondial-3.0.xml")/mondial/country[@name="Peru"]/province[count(city)>1]/@name
return
{ fn:string($x) }
}
4. Type:
Galax-0.5.0-Linux/bin/galax-run q1.xq
In a few seconds galax will print the result for you. In this case
it's the list of all city names in the database. Notice that
cities occur either under country, or under province. In order to
get both we used country//city.
5. Now try
Galax-0.5.0-Linux/bin/galax-run q2.xq
You are getting the names of all provinces in Peru with at least
two cities.
6. Finally, try:
Galax-0.5.0-Linux/bin/galax-run q2.xq > ~/myfile.xml
This creates myfile.xml in HOME directory with your result.