This is the first alpha version of the DEMML(tm) schema for content (version 0.1). This schema is far from complete and the structure may need to be modified considerably in order to incorporate all the features of the DEMML(tm). While I plan to make future versions of this schema a semi-open standard in the future, the entire schema is currently copyright (c) 2010 by Grant Sheridan Robertson. It is currently not permitted to use this schema - or any portions thereof - in any manner without written permission. However, if you write, I will probably give permision. I simply want to keep track of what is being done with DEMML(tm) so I can keep a handle on it till it is ready for release. Thank you for your cooperation.

To learn more about this DEMML(tm) go to www.demml.org. To learn more about the schema itself (past, present, & future) as well as a general description of how the DEMML system is organized see www.demml.org/standard/.

Indicates which topic folder this file should be placed in. This is an empty, abstract datatype. The reasons for this are rather complicated. In order to keep the declaration of the demml element simple, even though there will be many different types of items, it was necessary for demml/item element to use an abstract datatype allowing type substitution of the child datatypes in the place of this element. In order to keep the structure of the item elements consistent it is best to keep the metadata on top and the content last. Therefore, it is also best to keep the metadata and content in their own separate elements, allowing each of their datatypes to also be abstracted and extended. While itemMetadata and content elements could have been placed here to then reference those abstract datatypes, allowing their replacement with concrete datatypes, this would not have ensured that the correct sets of metadata were always paired with the correct type of content. It is also the case that not all items will actually contain content. Others may have more complicated content than can be expressed by a simple element with some HTML in it. Therefore, it is necessary to declare each different item type as an extension of this type with a metadata element and content element designed just for that item type. Used to indicate that an item follows a particular thread. In other words it sticks to the same examples or follows the same storyline of other items. Threads are used to provide continuity to the learning experience. Threads should always be placed in the farthest out branch of the tree which still includes all or most of the items that refer to it. These are the metadata elements that are common to all the different kinds of items. It is in a group so it can easily be inserted into any of the metadata types. These are the metadata attributes that are common to all the different kinds of items. It is in a group so it can easily be inserted into any of the metadata types. This set of references can be used in the about element of many, but not all, of the item types. This is an abstract type. It is also intentionally empty. The sole purpose of this type is to serve as a parent type for other types of content elements. This allows the demml/item element to remain relatively simple. It also allows software developers to create a parent or interface class from which child classes can be extended or implemented. This way any of these content types can be stored in the same container if necessary.