Devdocs main · MNTB wikis main · Up one level (only works on a non-FrontPage)
MathML? 2002 Conference Paper
Solving the Notation Problem - CMathML? to the Rescue
or Presentation Matters - sometimes
- Background
The Connexions Project at Rice University is a community-driven collaborative editing project. Many different authors contribute small nuggets of information that we call "knowledge modules" to a repository. Each module covers a topic and is crosslinked to other modules, forming a sea of knowledge. Course instructors can access the repository to construct a touring itinerary for their classes to follow, adding in their own content as well.
The desireable size of modules for the Connexions system is quite small, particularly when the material has a high information density. Each module ideally equates to a single concept, which might be described in a single screen-sized web page. This fine grained division of the materials allow for maximal reuse and cross linking of the content by authors and instructors. In a mathematically intensive course, individual equations (as well as derivations of equations) could constitute a single module.
A common problem with creating documents by stitching together the work of multiple authors is the various sorts of mismatches that occur from one component to the next. Differences occur at all levels of abstraction, from purely cosmetic, such as choice of fonts and textual format, to mor e substantive differences in writing style, language, or educational approach.
The only way to address real differences in content is replication - multiple modules covering the same concepts, in different ways. Cosmetic differences are, on the other hand, a technically solvable problem, using XML. By insuring that all material is marked up semantically, we can utilize style sheets to provide a consistent syntactic presentation. One significant class of these cosmetic, but important, problems that is not only partially solvable with current XML technologies is that of mathematical notation.
- Problem
If every author who wrote modules with mathematics content used their own preferred notation, an instructor would never be able to assemble a coherent text. The kind of small differences that arise are very disruptive for students, causing cognative dissonance and dramatically slowing learning and attainment of educational goals.
- Examples of notational difficulties:
- i vs j for the square root of -1
- Leibniz vs. prime vs. dot notation for derivatives
- * vs H vs dagger for adjoint/Hermitian matrices
- combination as nCr or ( n r )
- f vs w in Fourier transforms
- (G or A) vs. F for free energy (thermodynamic state variable)
- variable names (eg, signal)
- Our solution
The key strategy enables us to find a solution is the use of content markup, rather than presentation markup. This encourages authors to concern themselves with the meaning and structure of their equations, rather than the notation and how it will look. Towards this end, all of the mathematical content in Connexions is marked up using conent MathML?.
When an instructor decides to build a course using the Connexions system, he browses our repository looking for existing modules to use, and perhaps writing some of his own. He then organizes these into a "coursepath". In addition to selecting and ordering materials, instructors are allowed (and encouraged) to specify notation parameters for displaying their course (eg. the use j for the square root of -1). These parameters become part of the course description file along with the selected course path.
Students access the course in one of two ways. Those with access to the mozilla browser may use our Connexions Roadmap software to browse the course directly. The Roadmap downloads the course description file and presents the student with the course outline in a side-panel. Students using other browsers can view specially setup webpages designed to achieve the same affect using HTML frames. In either case, when a student retrieves a module for viewing, XSLT stylesheets transfrom the content MathML? into Presentation MathML?. Currently we perform this transformation server-side, but as client-side transformation technologies improve, we hope to push much or even all of this transformation onto the clients.
The particular stylesheet used is determined by the server, based on the browser and the parameters specified by the course instructor. This way students see the series of modules as a coherent text using their instructor's preferred notation. The actual mechanics of stylesheet selection can be implemented in a variety of ways. One technique is to modify the page URLs? stored in the course description file to include the stylesheet parameters as a query string. The server can then decode the URL, retrieve the page, and apply the correct stylesheet. This simple technique works well for self-contained courses, but if students browse to modules outside the course they will no longer see the instructor's notation used. Another technique is to set browser cookie with the stylesheet parameters when the student begins a course. The server then uses the parameters storied in the cookie to apply the desired notation to any module viewed by the student until they have exited the course, expiring the cookie.
- Other Benefits
Our implementation of a content to presentation transformation system has secondary benefits, as well. Integration of mathematical content into other XML based content, such as SVG figures, is simplified. Since semantic content is available, special-case transformations that where not considered in the original scope of the problem become accessible, e.g. math to speech. In addition, since support for cMathML is spreading rapidly, cross-application use of content is simplified, allowing the inclusion of dynamic, curiosity driven components to courses. Since the transformation requires knowledge of the client browser, we have that information available for other uses.
- Special case of notation: audio
- cross-application use
- simultaneous browser detection
- math in figures with SVG
- Difficulties