XML in the Development of Component Systems (2004) - assignments

Assignment 3

Due date: December 3

Maximum score: 20

Perform the same tasks as in exercise 2, using a DOM implementation instead. Should the DOM implementation provide for evaluation of XPath expressions, feel free to use that feature. Beyond that, only standard DOM operations (level 1 and 2) are acceptable. In part c), make sure to not generate invalid links to base classes. IOW, only generate a hyperlink if the base class HTML file is generated in the same generation step.

Assignment 4

Due date: December 17

Maximum score: 20

Perform the same tasks as in exercise 2, using XSLT this time. Do not use processor extensions, except possibly for an extension to support multiple output documents. Part c) is modified as follows

  • In addition to generating HTML files for each Class, also generate an index file for the entire package
  • For each Class, also generate information about attributes (Model:Attribute) and references (Model:Reference), e.g. in a tabular manner. For each attribute and each reference, at a minimum, print the name, the name of the type, and the documentation (if available).
  • Integrate a mode that generates HTML for all packages into the stylesheet.

Assignment 5

Due date: January 13

Maximum score: 20

  1. Explain the terms schema component, ur-type, particle, initial value, normalized value, assessment, strict assessment, lax assessment, valid restriction, and PSVI, in connection with XML Schema.
  2. Define a Schema for ad-2001-02-03.xml. Restrict this schema such that
    • it supports only elements that actually occur in the document,
    • values of xmi.id be unique in the entire document,
    • values of supertypes only refer to defined xmi.id values,
    • values of Model:StructuralFeature.multiplicity be constrained, in a reasonable way, to positive numbers and logical values,
    • the attributes scope, visibility, and isChangeable be restricted to only those values occurring in the document,
    • values of supertypes only refer to classes, and values of type only refer to either classes or Model:DataType elements.