The design for the schema was based on the guidelines at XML Schema Best Practice
Complex types were created to ensure maximum reusability of elements.
We also decided to create a range of separate schemas which could be amalgamated into custom schemas for each department. This means that any given department can have its own collection of standard documents, and can extend the system by creating their own document schema (hopefully using the complex types from the building blocks level).
<td><strong> Schema </strong></td>
<td><strong> Level </strong></td>
<td> inlineElements <br />
linkElements <br />
blockElements <br />
mediaElements <br /></td>
<td> Building blocks <br /></td>
<td> aboutsoftware <br />
aggregator <br />
contactlist <br />
contentsPage <br />
equipmentlist <br />
events <br />
faq <br />
furtherreading <br />
genericDocument <br />
glossary <br />
help <br />
lecturenotes <br />
meetings <br />
metadata <br />
policy <br />
<td> Document </td>
<td> genericAdminDepartment <br />
genericAcademicDepartment <br />
<td> department </td>
The higher-level schemas (genericAdminDepartment, genericAcademicDepartment) include all the document-level schemas.
The document-level schemas include the building block schemas.
There are no global elements, only complex types (as recommended by XML Schema Best Practice in Element versus Type). This makes the schemas more extensible, by allowing people to extend complex types.
The schemas are in the uob namespace. Other namespaces can also be included.