Modeling is the key
In Stage 1 of XML resource processing, models of the structural and lexical requirements associated with each vocabulary can drive a generic parsing/validating process.
In Stage 2 of XML resource processing, models of the abstract information sets that can be conveyed by specific vocabularies can be created.
- These "abstract APIs" give names to each of the properties of the information set that "emerges" from processing a vocabulary.
- Abstract API models are contracts between programmers, just as a DTD is a contract between information users and providers.
- In an actual implementation of a vocabulary processing engine, these property names can become function calls (or whatever).
- In other words, these abstract information set models can drive a generic engine-building process that produces vocabulary-specific engines.