However, in many circumstances, especially while producing or editing Math ML, it is useful to use a language definition to constrain the editing process or to check the correctness of generated files.The following section, Section A.2 Using the Relax NG Schema for Math ML3, discusses the Relax NG Schema for Math ML3 [RELAX-NG], which forms a normative part of the specification.If you want to validate against multiple schemata, use one validation set per schema.See the above example, which specifies two validation sets.That is, a schema validating processor will declare invalid documents that are declared valid by a (DTD) validating XML parser.
Note that if no DTD is specified with a DOCTYPE declaration, that entity references (for example to refer to Math ML characters by name) may not be used.
The document should be encoded in an encoding (for example UTF-8) in which all needed characters may be encoded as character data, or characters may be referenced using numeric character references, for example ∫ rather than ∫ If a Math ML fragment is parsed without a DTD, in other words as a well-formed XML fragment, it is the responsibility of the processing application to treat the white space characters occurring outside of token elements as not significant.
A set of catalog files, which configure the entity resolver.
For example, it allows to map public ID's or external URL's to local files. In other words, to configure a single catalog file, you would need a section like this: A validation set configures a set of XML files, which are validated against a common XML schema.
Following that, Section A.4 Using the Math ML XML Schema, and Section A.3 Using the Math ML DTD discuss alternative languages definition using the document type definitions (DTD) and the W3C XML schema language, [XMLSchemas], both of which are derived from the normative Relax NG schema automatically.