Help:COAP-3180/hw4: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 22: Line 22:


* 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 an XML file to the //db/coap/coap3180 collection
* 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 (make sure to retrieve the whole lines !)
; Variant A (ok for non programmers)
See the slides (not distributed with an URL, since not good enough ... get them from the N: drive
* Create at least two XQueries that can return some kind of HTML
* Submit them with a REST GET request
* Keep these URLs in a file and hand them over to the instructor


<pre>
; Variant B
http://tecfax.unige.ch:8080/exist/rest/db/shakespeare?_query=//SPEECH[SPEAKER=%22JULIET%22]&_start=1&_howmany=10
* Create a PHP script that uses the REST API or some other library (but this may turn out to be more work than you'd expect)
</pre>
* Return a result in html (e.g. via php code, with a server-side XSLT stylesheet).
 
<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 00:16, 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

Variant A (ok for non programmers)
  • Create at least two XQueries that can return some kind of HTML
  • Submit them with a REST GET request
  • Keep these URLs in a file and hand them over to the instructor
Variant B
  • Create a PHP script that uses the REST API or some other library (but this may turn out to be more work than you'd expect)
  • Return a result in html (e.g. via php code, with a server-side XSLT stylesheet).

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)