Help:COAP-3180/hw4
Jump to navigation
Jump to search
Homework 4 - COAP 3180 Fall 2 2007
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 (make sure to retrieve the whole lines !)
See the slides (not distributed with an URL, since not good enough ... get them from the N: drive
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
- http://tecfa.unige.ch/guides/xml/examples/shakespeare.1.10.xml/ (various Shakespeare texts)
- http://tecfa.unige.ch/proj/seed/catalog/net/xml/catalog-eng.xml (700k DITA document)
Reading and links
Reading
Reading
- Ronald Bourret (2005). XML and Databases, http://www.rpbourret.com/xml/XMLAndDatabases.htm
- Darshan Singh, Essential XQuery - The XML Query Language, http://www.yukonxml.com/articles/xquery/ (skip the part about functions)
- XQuery http://en.wikipedia.org/wiki/XQuery (Wikipedia)
Reference
You can find additional links and more tutorials here:
- XQuery
- XQuery_tutorial - basics (no tutorial so far, just links)
- XML database
Slides
- http://tecfa.unige.ch/guides/te/files/xml-databases.pdf
- File connectivity-web-services.pdf
- Prerequisites and catchup (if needed)
- http://tecfa.unige.ch/guides/te/files/xml-intro-edit.pdf (XML Intro)
- http://tecfa.unige.ch/guides/te/files/xslt-basics.pdf (XSLT basics)
- or http://tecfa.unige.ch/guides/te/files/xml-xslt.pdf (XSLT intro)
- http://tecfa.unige.ch/guides/te/files/xml-xpath.pdf (XPath and more XSLT)
- http://tecfa.unige.ch/guides/te/files/xml-dtd.pdf (Creating DTDs)
- http://tecfa.unige.ch/guides/te/files/xml-schema.pdf (Creating XML Schemas)
- http://tecfa.unige.ch/guides/te/files/xml-ns.pdf (XML Namespaces)