COAP:COAP-2180/week7: Difference between revisions
Jump to navigation
Jump to search
m (Daniel K. Schneider moved page Help:COAP-2180/project7 to COAP:COAP-2180/week7 without leaving a redirect) |
|||
Line 5: | Line 5: | ||
# XSLT Q/R if necessary. '''Prepare questions for Friday''' | # XSLT Q/R if necessary. '''Prepare questions for Friday''' | ||
# Almost final touches to the term project. Each student should a have a good DTD by the end of the week ! | # Almost final touches to the term project. Each student should a have a good DTD by the end of the week ! | ||
==== Teaching materials ==== | ==== Teaching materials ==== |
Revision as of 18:49, 13 March 2013
Week 7 COAP 2180
Week seven includes three topics:
- XML Schema, a more powerful document type definition (gramar) language
- XSLT Q/R if necessary. Prepare questions for Friday
- Almost final touches to the term project. Each student should a have a good DTD by the end of the week !
Teaching materials
- XSD tutorial - Basics
- xml-schema.pdf (slides with same contents)
- XSD example directory: xsd-examples/ (not really needed)
- XML Schema Part 0: Primer Second Edition (W3C Recommendation 28 October 2004, you should have at least a short look at this).
Textbook chapters
- Ray, Learning XML, Second Edition, Chapter 4, Quality Control with Schemas (ok explanation by example, but a bit too short)
- Harold, XML in a Nutshell, Chapter 17, XML Schema (this text is not too easy to understand, but useful reading anyhow)
- Harold, XML in a Nutshell, Chapter 22, Schemas reference (For reference, in particular for full-time CS students)
Classroom activities
- Translate your "best" DTD to XSD
- Start on hw7
- Discuss term project
Homework 7
Task
- Take the DTD from your term project or homework 4/5.
- Create an XSD from the DTD
- Add extra constraints that are appropriate with respect to your project. Typically you may constrain the number of child elements and add data types for element and/or attribute contents.
Tips:
- Look at examples (includes ones that could be found on the Internet). e.g. you can google something like "XSD datatypes example"
Exchanger can validate the following kind of XML/XSD (as explained in the XSD tutorial)
XML file fragment:
<your_root
xmlns="http://myrecipes.org/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://myrecipes.org/ recipe.xsd">
...
<your_root>
XSD fragment:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://myrecipes.org/"
xmlns="http://myrecipes.org/"
elementFormDefault="qualified">
...
</xs:schema>
If you are not able to get this to work, then you can try to remove all DTD and Schema-related information from your XML and just tell Exchanger where to find the Schema file when you hit the validation button.
To translate a DTD to an XSD, use Menu Schema->Convert Schema.
Deadline and submission:
- Monday week 8 (before start of class)
- Use the world classroom: https://webster.blackboard.edu/
- Submit the *.xsd, the *.xml test files, and an optional optional report file (see below)
Evaluation criteria (roughly)
Work considered as weak:
- Pure translation without any extra hand editing
Work considered as minimalistic:
- Minimal changes, e.g. a single extra constraint with respect to the number of child elements
Good work and excellent work (B to A-) may include one or several of the following:
- Inserted comments in the XSD that explain some (not all) of the schema
- A report (e.g. in HTML, word, PDF etc.)
- All possible sorts of extra constraints you could reasonably use for your problem
Brilliant work (A)
- Does all of the above, i.e. produces a result that could be used in real life.