The language used to define models in ModelTools and to write and read data is XML (Extensible Markup Language).


All of the ModelTools schemas use all lower case element names. In addition, element attributes are not used.

This simplicity makes keyboarding easier and it also makes the task of all of ModelTools XML parsers much easier.


Some markup languages use a fixed grammar (schema). HTML (Hypertext Markup Language) comes to mind.

The advantage of a fixed grammar is that a document can come from any external source and the receiving software knows exactly how to parse the document. As an exemple, a HTML document can come from any source and the receiving browser knows exactly how to parse it.

XML is different -- it is extensible. This means that the schemas author can define elements with arbitrary names and with arbitrary parent-child element relationships.

This means that both the sender and receiver of an XML document must know the complete schema definition. This is not a problem in ModelTools (in fact it's an advantage) since ModelTools XML documents are used almost exclusively to move information within the tools family and the tools know all of the schema details.