Help:COAP-3180/hw4: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 13: Line 13:
'''Due''': Monday Week 6
'''Due''': Monday Week 6


Note: Programmers who wish to play with their own XML database can download [http://sourceforge.net/project/showfiles.php?group_id=17691 eXist] from source forge. Get the latest 1.1.x-newcore version, e.g.
Note: '''Programmers''' who wish to play with their own XML database can download [http://sourceforge.net/project/showfiles.php?group_id=17691 eXist] from source forge. Get the latest 1.1.x-newcore version, e.g.
eXist-1.1.1-newcore-build4311.jar.
eXist-1.1.1-newcore-build4311.jar.


Line 21: Line 21:
=== Part 2 ===
=== Part 2 ===


* [http://tecfax.unige.ch:8080/exist/] (The teacher's eXist server)
* http://tecfax.unige.ch:8080/exist/ (The teacher's eXist server)
* Launch the Java Webstart client (username = coap, password will be announced)
* Add a document to the //db/coap/coap3180 collection
* Retrieve some information with the REST interface and return it in some kind of html (browser must display it)


To be announced...
; Examples
http://tecfax.unige.ch:8080/exist/rest/db/shakespeare?_query=//SPEECH[SPEAKER=%22JULIET%22]&_start=1&_howmany=10
 
<pre>
http://tecfax.unige.ch:8080/exist/rest/db/?_wrap=no&_query=<html> <body>List of names: <ul> { for $t in document("/db/coap/cooking/dolores.xml")//recipe let $name := $t//recipe_name return <li>{$name/text()} </li> } </ul></body></html>
</pre>
 
<pre>
http://tecfax.unige.ch:8080/exist/rest/db/?_query=for $t in document("/db/coap/cooking/dolores.xml")//recipe let $name := $t//recipe_name return <name>{$name/text()} </name>
</pre>


== Classroom activities ==
== Classroom activities ==

Revision as of 01:06, 3 December 2007

Homework 4 - COAP 3180 Fall 2 2007

COAP 3180 Course Page

Summary

  • Write some Xquery code to retrieve data from an XML collection

Part 1

  • Find somewhere or create a file with some XML data (at least 1 page long)
  • Write at least two different XQuery expressions to retrieve data from this file

Due: Monday Week 6

Note: Programmers who wish to play with their own XML database can download eXist from source forge. Get the latest 1.1.x-newcore version, e.g. eXist-1.1.1-newcore-build4311.jar.

To install it, type in a command window: java -jar eXist-1.1.1-newcore-build4311.jar

Part 2

  • http://tecfax.unige.ch:8080/exist/ (The teacher's eXist server)
  • Launch the Java Webstart client (username = coap, password will be announced)
  • Add a document to the //db/coap/coap3180 collection
  • Retrieve some information with the REST interface and return it in some kind of html (browser must display it)
Examples
http://tecfax.unige.ch:8080/exist/rest/db/shakespeare?_query=//SPEECH[SPEAKER=%22JULIET%22]&_start=1&_howmany=10
http://tecfax.unige.ch:8080/exist/rest/db/?_wrap=no&_query=<html> <body>List of names: <ul> { for $t in document("/db/coap/cooking/dolores.xml")//recipe let $name := $t//recipe_name return <li>{$name/text()} </li> } </ul></body></html>
http://tecfax.unige.ch:8080/exist/rest/db/?_query=for $t in document("/db/coap/cooking/dolores.xml")//recipe let $name := $t//recipe_name return <name>{$name/text()} </name>

Classroom activities

Open an XML file in an XML editor

Learning how to use the XML Exchanger editor
  • Launch XML Exchanger lite.
    • In the left panel open all the files under xquery
    • Click on the bottom tab with the books.xml file
    • In the menubar select Transform->XQuery
    • Note: You can find the xq file somewhere near the same place
  • Repair the result file. There are some useless tags.
Other XML examples
  • Other examples files can be found on the N drive

Files from Essential XQuery - The XML Query Language

Also some more ambitious

Reading and links

Reading

Reading

Reference

You can find additional links and more tutorials here:

Slides

Prerequisites and catchup (if needed)