Literate Documentation for XML Schema

The Certificate of Advanced Study Project of Kevin Reiss at the Graduate School of Library and Information Science at the University of Illinois at Urbana-Champaign.

Friday, June 22, 2007

Next Steps

6/21 Conversation with Allen

METS-ODD Project Next Steps

  1. Examine publicly available METS Profiles for interesting constraints expressed in natural language
    1. This is not a scientific, line-by-line survey, but an informal review
    2. Don’t get bogged down trying differentiate between syntactic and semantic constraints
    3. Any constraint that can possibly be represented in a schema can be considered syntactic
  2. Choose 4-12 interesting constraint patterns to examine in detail
    1. All profile constraints are currently expressed by natural language statements of varying length and detail.
    2. Consider what schema language could be used to express the constraint

i. Ignore those constraints that can be represented with a DTD

ii. Consider whether W3C Schema, Relax NG, or Schematron can represent more challenging constraints

iii. Don’t worry about trying to definitely prove whether a constraint cannot be represented in a particular schema language, this is interesting but beyond the immediate scope of this project.

  1. Create a table containing an analysis of the selected constraints. Each constraint listing will include a (1) brief, identifying phrase, (2) a short description and account of how the constraint could represented in an existing schema language, and (3) appropriate examples taken from the public METS profile showing how the constraint is currently expressed in natural language.
  2. Create small XML vocabularies that allow authors to represent the selected constraints in the TEI ODD literate programming format.
    1. Extend the TEI ODD vocabulary to include these vocabularies
    2. Create an example ODD fragment for each XML vocabulary
  3. Create templates that will process the ODD fragments to generate a machine readable expression of these constraints. Experiment with two ways of doing this:
    1. XSLT
    2. Schematron

0 Comments:

Post a Comment

<< Home