COAP:COAP-2180/week7: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
|||
Line 1: | Line 1: | ||
== Week 7 [[Help:COAP-2180|COAP 2180]] == | |||
Week seven includes three topics: | Week seven includes three topics: | ||
Line 6: | Line 6: | ||
# Work on term project. Each student should a have a good DTD, an XML test file and an XSLT by the end of the week ! | # Work on term project. Each student should a have a good DTD, an XML test file and an XSLT by the end of the week ! | ||
== Teaching materials == | |||
* [[XSD tutorial - Basics]] | * [[XSD tutorial - Basics]] | ||
Line 14: | Line 14: | ||
* Text book chapters in the world classroom (see below) | * Text book chapters in the world classroom (see below) | ||
== Textbook chapters == | |||
* Ray, Learning XML, Second Edition, '''Chapter 4, Quality Control with Schemas''' (ok explanation by example, but a bit too short) | * Ray, Learning XML, Second Edition, '''Chapter 4, Quality Control with Schemas''' (ok explanation by example, but a bit too short) | ||
Line 20: | Line 20: | ||
* Harold, XML in a Nutshell, '''Chapter 22, Schemas reference''' (For reference, in particular for full-time CS students) | * 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 | * Translate your "best" DTD to XSD | ||
Line 26: | Line 26: | ||
* Work on term project. See the [[COAP:COAP-2180/week8|week8]] page | * Work on term project. See the [[COAP:COAP-2180/week8|week8]] page | ||
== Homework 8 == | |||
'''Task''' | '''Task''' |
Revision as of 12:03, 29 April 2013
Week 7 COAP 2180
Week seven includes three topics:
- XML Schema, a more powerful document type definition (gramar) language
- XML Q/R if necessary
- Work on term project. Each student should a have a good DTD, an XML test file and an XSLT 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).
- Text book chapters in the world classroom (see below)
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 hw8
- Work on term project. See the week8 page
Homework 8
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"
- There are two validation methods in Exchanger:
- (1) Exchanger can easily validate the following kind of XML/XSD combination (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>
(2) 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.
- Conversion
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.