Distributable Educational Material Markup LanguageTM


First Alpha version of schema published.

Though it is still rough and only covers the fundamental constituents of a DEMML™ topic, the DEMML_0.1 schema is available for viewing here.

Created DEMML™ blog site.

It took me a while to get around to creating a blog but it is finally up. (Updated July 8, 2009)
click here...

Added new Features and Benefits page.

DEMML is truely unique but I seem to have a hard time getting people to see that. Hopefully this will help. (Updated Dec. 10, 2007)
full story...

New Powerpoint about Communications Systems

full story...


How DEMML™ was Invented

Necessity truly is the mother of invention.
full story...

Topic Data Structure


A Topic consists of a collection of items, all designed to teach a specific topic. Within each topic there are two main groups of items: The most important set of items are what DEMML™ calls "Facts" or "FactItems." A Topic should be comprised of the smallest set of facts about something which make sense when grouped together but taken separately from other sets of facts. With apologies to Einstein, a topic should be as small as possible, but no smaller. For instance, just a birth date given separately means nothing. It must be associated with a person. However, just a name of a person also means relatively little. Both the birth date and the name must also be listed together with who that person actually was. So an appropriate topic might be "Birth information of Abraham Lincoln, 16th President of the United States" which might include the facts that he was born on Feb. 12, 1809, he was born in a one-room log cabin, and he was born in Hardin County, Kentucky. This is a simple example. A topic could be more conceptual with facts that delineate the various aspects of that concept.

Naturally, one cannot expect students to simply memorize a bunch of facts. Therefore, a topic also consists of many other types of items containing content intended to explain, reinforce, and test knowledge, understanding, or ability to use those facts. Each item, then, is one small piece of educational content, coded to indicate it's role within a topic. Now, each individual Item does not necessarily need to be in a separate file. The ideal is to have sets of closely related items stored together in a file for easy transmission and access. Of course this means all the items in a file have to be about the same topic.

Organization of DEMML Items

Just as a leaf on a tree consists of many different kinds of cells, all interconnected by veins, a DEMML™ leaf consists of many different types of Items connected by many different types of connections. However, as a DEMML™ "leaf" consists of one file, and each file contains items which may be interconnected to items in other files, in order to complete the analogy it may be necessary to imagine a bunch of little tendrils connecting all the different leaves on a branch, with a few tendrils stretching out to leaves on other branches. In the end the whole thing can look like a pretty alien life form. In purely mathematical terms, the structure is primarily a tree structure with multiple, separate directed graphs1 attached to each branch, one for each language.

However, even DEMML™'s directed graphs1 are unique. In most directed graphs all the nodes are the same and all the edges are the same. DEMML™, on the other hand uses many different types of nodes, each of which can be connected to various other types of nodes with a specific set of types of connections. Some nodes can even be connected to two other nodes with a single connection. All those directed graphs are also interconnected into a much larger directed graph. It may sound complicated but it makes sense when you see how powerful and flexible this data structure is.

Figure 1 is a diagram of the most fundamental types of Items stored in a DEMML™ topic-stem folder and how they can interconnect. Three different topics are shown to illustrate how one topic can connect to other topics, indicating how those other topics are related. This is the only means by which topics may interconnect. Though multiple different facts are shown, only one oval is used for each of the other types of items in order to simplify the diagram. All types of DEMML™ Items can connect to more than one other item. The arrows mean "about," as in "The current topic's Fact 3 is about Other Topic 1 / Fact 2 and Other Topic 2 / Facts 1 & 2." The following sections explain the various parts of this diagram.

DEMML Topic Data Structure
Figure 1 - DEMML™ Topic Data Structure

Types of DEMML Items

In DEMML™ each item is a node and each different type of Item is a different type of node within that directed graph1. There are several different types of Items in DEMML™, each used to store a different type of content or for some other specific means to tie things together.

There are also other types of Items which the schema will be designed to handle in the future:

DEMML Item Structure


DEMML items consist of two main parts: The actual content or educational material, and metadata about that content. The content is educational material expressing the fact, explanation, question, answer, etc. This content is in the form of standard HTML or XHTML data. Almost anything that can be put on a web page can be included in DEMML content. All that is required is that the HTML or XHTML content be fully enclosed in some valid HTML tag and that the enclosing tag includes either the xmlns="" or xmlns="" attribute to tell schema validators that it is legitimate HTML or XHTML content.


Just as important as the content, is the metadata about that content. This rich set of metadata is what separates DEMML from just another collection of educational material.  Only the basic purpose of the metadata is described here. Each of the elements listed contains more detailed data. For more information see the actual XML Schema (.XSD) files. The following are the metadata used by all the different types of DEMML Items:

Other types of metadata are only used in some of the different types of Items.

Connecting the items - Edges

DEMML™ Items use various types of reference elements to refer to other items. These are the edges or arrows in the directed graph of Items in a topic (see Figure 1). However, there is still another twist from what many programmers and mathematicians are taught in their discrete math class. Usually, one starts from a "start node" and the arrows generally point away from the start node and work their way through the graph. DEMML™ does exactly the opposite. In DEMML™ each "about" reference (or pointer) points back to the other item that this item is about. So, while one may expect a FactItem to list pointers to all the questions about the fact, that model is inefficient. Every time another QuestionItem is added to the system, a FactItem, and possibly some other Items would have to be updated. While that might be easy for software "objects" stored in memory, this is far more difficult for files, many millions of copies of which will already have been distributed around the world.  Instead, it is best to have each QuestionItem point back to only the few Items that question is actually about. This allows users to simply add a question item to the appropriate DEMML™ folder and their software can then connect that question to the indicated facts or other items within its own database.

In addition, each item can be about many different other types of items. What each type of Item can be about is limited depending on the type of Item. This allows a rich web of interconnections between items as well as reuse of items within a topic while still preventing random chaos. Below is a list of the types of edges or reference elements used in DEMML™:


  1. If you draw a bunch of circles on a piece of paper with some arrows going between some of them (so all the circles are connected by at least one arrow) then you have drawn a directed graph. The circles are called "nodes" and the arrows are called "edges" or "arcs" depending on who you talk to.
First Published: Dec. 13, 2010 — Last Modified: Dec. 13, 2010
DEMML Logo  About Us | Contact Us | ©2010 Grant Sheridan Robertson