***********************************************************************
* This file is about an extended description of the MathDox format. *
***********************************************************************
As we all know, the MathDox is an XML based format and combines several different XML-based languages, i.e. DocBook, OpenMath
MONET, XForms, Jelly, XInclude, into one new format. However, for the structure of
the MathDox document, as MathDox is used for Maths, there are many cases which is not specified by DocBook standard.
We will discuss these situations and propose an preliminary extension to the Docbook for MathDox in the following para.
For most cases, we just continue to use the format of mathbook in MathDox.
1. When a part of the document states a theorem or lemma or proposition or claim, .
Add a new tag with optional attributes of "role" and "id" to wrapper this part. And this assertion may has a title, so we use a child element
... to represent it.
Demo:
(option: ...)
... the content of the assertion...
(option: ...)
... the content of the assertion...
(option: ...)
... the content of the assertion...
(option: ...)
... the content of the assertion...
(option: ...)
... the content of the assertion...
(option: ...)
... the content of the assertion...
2. When a part of the document contains a list of examples or exercises, we add new tags of and with optional attributes of
"id", "type", and "for" to wrapper this part. And a child element ... is also optional.
Demo:
(option: ...)
... a list of examples...
(option: ...)
... a list of examples...
(option: ...)
... a list of exercises...
(option: ...)
... a list of exercises...
3. When a part of the document states an example or exercise, we add a new tag of or with an necessary attribute of "id" and optional attributes of
"type" and "for" to wrapper this part. And a child element ... is also optional.
Demo:
(option: ...)
... the content of example...
(option: ...)
... the content of example...
(option: ...)
... the content of exercise...
(option: ...)
... the content of exercise...
4. When a part of the document states a definition, we add a new tag of with an attribute of "id" to wrapper this part.
And a child element ... is also optional.
Demo:
(option: ...)
... the content of definition...
5. When a part of the document states an algorithm, we add a new tag of with an attribute of "id" to wrapper this part.
And a child element ... is also optional.
Demo:
(option: ...)
... the content of algorithm...
6. When a part of the document states a remark, we add a new tag of with an attribute of "id" to wrapper this part.
And a child element ... is also optional.
Demo:
(option: ...)
... the content of remark...
7. When a part of the document states an answer, we add a new tag of with optional attributes of "role and "id" to wrapper this part.
And a child element ... is also optional.
Demo:
(option: ...)
... the content of answer...
(option: ...)
... the content of answer...
(option: ...)
... the content of answer...
8. When a part of the document states a proof, we add a new tag of with optional attributes "id" and "for" to wrapper this part.
And a child element Proof is also optional.
Demo:
Proof
... the content of proof...
... the content of proof...
9. For the content of an algorithm, we use the structure as follows:
the content of the input and output
the definition of the procedure
the content of the procedure