WME Logo
      MeML HOME |  About Author |  Milestones |  Progress&Status |  Software |  Documentation |  References |

MeML: Mathematics Education Markup Language


MeML is designed to provide effective and expressive means for structuring and delivering mathematics education content on the Web. It also provides the functions to manipulate dynamic mathematics computation and to model the educating activities that are essential to online teaching.

The design of MeML is not an independent work. It is not just a way to represent conventional textbook in Web page. It takes into account the structural storage of education content, the Teaching Model, and the dramatic influence that online teaching tools make to traditional Teaching Model. Its definition is a result by examining current textbook and online math materials, testing mathematics courseware, consulting education experts, following NCTM principles, and obtaining experience from our RAD prototype - Kimpton Pilot Site. Figure 1 shows the diagram about how we get experience and extract T-Model from the construction of Kimpton Pilot Site.

Definition of MeML

MeML is defined by XML. MeML elements (markup tags) can be used together with MathML, XHTML, and other XML-compatible languages to structure an Active Lesson (AL). MeML elements are designed to capture the macro structures inside an AL and create interoperable page elements, making them self-contained and easily interchangeable among ALs. Such an organization can also enhance interactions and communications among these page elements.

MeML defines about 54 elements, which are grouped into five categories: content elements, education elements, organization elements, computation elements, and system elements. Table 1 lists all categories as well as elements of each category.

Table 1: MeML elements




concept, skill, terminology,  problem, identity, theorem, formula, diagram, equation, algorithm, definition, property, operation, notation


lesson, example, exercise, assessment, homework, test, remediation, question, diagnosis, answer, solution


abstract, syllabus, roster, guide, hint, chapter, summary


variable, expression, computation, mathgraph, assign, range, with, condition, function


certifieduser, monitor, editable, userinput, interaction, use, parameter, wmeservice, configure, sensitive, manipulative, deploy, vsection

Woodpecker - Client side MeML Processor

As a new XML language, MeML is not directly suppported by current Web browsers, especially, when MeML tries to model both education content and the activities of teaching. So, we develop a pre-processor for MeML to wok in popular Web browsers like IE and NN. We name it as 'Woodpecker' because our WME Group works so hard just like a woodpecker trying to drill a future of WME in the tree of online education with all kinds of uncertainty surrounded.

Woodpecker works as a browser plug-in which translate incoming MeML page into a regular XHTML page with CSS, JavaScript , and special in-page objects before MeML page is loaded into browser. After the page is loaded, Woodpecker keeps monitoring the interaction between user and page. It picks up in-page envents in the case that MeML page is requiring remote WME services to serve dynamice page content. Figure 2 show the step how Woodpecke process MeML page in Internet browser. Figure 3 shows the module design of Woodpecker.

MeML Server Extension - Server side MeML Processor

MeML Server Extension has following advantages comparing to Woodpecker.

  • There is no requirement to install software packages at client side.
  • MeML page is processed at server-side. Therefore, the customization of per page for per teacher could be supported.
  • Export/Import of interoperable components between lesson pages could be easier.
  • A complete Concept Map can be generated for all lesson pages on server. So it is easier and more efficient to implement knowledge navigation.
  • Server-side processing could completely separate site organization and site specific content from MeML content to improve dynamic support and interoperability. It is harder for client-side processing to do so because client has less context information than server.

About the author

Name: Xiao Zou


Spring 2006

  • Add support to SVG-based manipulatives. Export SVG maniopulative to 'boar'
  • Change definition of 'reference' tag. Behavior of manipulative is completely decided by its 'manifest.xml'
  • Drop the implementation for MeML tag 'certifieduser'.
  • Export MeML Server Extension to our new ''
  • Export WME Services to ''
  • Create WME Computation Service
  • Build Math Computation Seesion Manager on ''
  • Create WME Account & Profile Service
Fall 2005
  • Prototype of MeML Server Extension

Progress & Status



WME Model Site Tutorial
Developer's Guide to MeML
MeML Poster