Resource directory for the Z39.98-2012 Authoring and Interchange
MathML Feature
version 1.0

Table of Contents

Introduction

The Z39.98 MathML Feature defines the W3C Mathematical Markup Language (MathML) Version 3.0 as a feature for use in Z39.98-AI Profiles.

Each element contributed by this feature inherits the corresponding semantics as defined by MathML 3.

This feature is maintained by the ANSI/NISO Z39.98 advisory committee under the auspices of NISO.

Normative References

The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this section are to be interpreted as described in RFC2119.

General document model requirements

As compared to the W3C Full MathML 3 schema, this feature adds the following constraints to the use of MathML within Z39.98-AI profiles:

Presentation MathML as primary expression form

In this feature, the MathML 3 Presentation elements constitute the primary expression form for mathematical notation. The math element only allows descendants from the Presentation elements group, with the exception of the optional annotation-xml element, inside which Content markup is allowed.

Deprecated elements attributes not allowed

Elements and attributes deprecated by MathML 3 must not occur.

Use of the annotation framework

This feature allows the use of the MathML annotation framework for providing parallell markup, i.e. alternate representations of the primary representation.

The following restrictions apply to the use of the annotation framework:

Use of alttext and altimg on math

Processing agents must not consider the the alttext and altimg attributes on the math element as sources for alternate representations, instead recognizing the annotation and annotation-xml elements for this purpose.

Restriction on image content types

When providing images as alternate representations to MathML markup, the image content types used must not be other than those globally allowed by the Z39.98-AI profile. Concretely, this means that image references appearing on or inside a math element are restricted to the same set as specified by the srctype attribute on the object element in the given profile.

Restriction on allowed content types in annotation-xml

The MathML annotation-xml element provides a mechanism to provide alternate XML representation forms of the primary representation.

This feature restricts the XML languages that are allowed inside the annotation-xml element. This restriction holds regardless of whether the annotation key used is alternate-representation or contentequiv.

In this version of this feature, the allowed XML content types are:

Content MathML

Documents must use and processing agents must recognize the values application/mathml-content+xml and MathML-Content as encoding identifiers for this content type. (See further Names of MathML Encodings.)

The XML content inside an annotation-xml element using the Content MathML encoding is restricted to the Grammar for Content MathML.

Presentation Mathml

Documents must use and processing agents must recognize the values application/mathml-presentation+xml and MathML-Presentation as encoding identifiers for this content type. (See further Names of MathML Encodings.)

The XML content inside an annotation-xml element using the Presentation MathML encoding is restricted to the Grammar for Presentation MathML.

Z39.98-AI Core markup

Documents must use and processing agents must recognize the string Z39.98-AI as the encoding identifier for this content type.

The XML content inside an annotation-xml element using the Z39.98-AI encoding is restricted to elements from the Z39.98-AI Core namespace, and elements in other namespaces from features supported by the given profile. However, elements from the MathML namespace must not occur within an annotation-xml element that declares the Z39.98-AI content type. Use of elements from other Z39.98-AI features is discouraged.

Note that subsequent versions of this feature may extend this set to include additional XML content types.

Refer to processing agent requirements below for information on requirements regarding processing of the annotation and annotation-xml elements.

Restriction on annotation keys

Processing agents are not required to recognize any other annotation keys than alternate-representation and contentequiv. Refer to Annotation keys for information on the semantics of these keys.

Deviations from the Z39.98 Global Attributes class

This features overrides the following attribute contributions from the Z39.98-AI Global attributes class:

Version information

This resource directory represents version 1.0 of the MathML feature:

This release may not be the most recently published (current) version of the MathML feature. The current version should always be obtained from the static URI: http://www.daisy.org/z3998/2012/auth/features/mathml/current/

Identification

This feature must be identified as mathml in Z39.98-AI document feature declarations.

The canonical identity URI is: http://www.daisy.org/z3998/2012/auth/features/mathml/1.0/

Specification compliance

This version of the feature is compliant with the Z39.98-2012 Specification.

Normative schemata

The normative RelaxNG schema for version 1.0 of the MathML feature is z3998-feature-mathml.rng.

Note - this feature schema does not represent an entire document model; it is intended for inclusion in host profiles.

The normative schema includes a number of modules and/or subschemas, which are listed in Appendix 1.

Available components

This feature makes the following components available for inclusion in host profiles:

Processing agent behavior requirements

This section defines processing agent behaviors that extend the default behaviors defined in Processing agent conformance definition.

Feature supported

If a processing agent supports this feature, it must comply to the following:

The processing agent must process the primary representation as defined by the MathML 3 specification.

The processing agent may support an operating mode where it lets the client invoke processing behaviors that includes utilization of annotation and/or annotation-xml elements in a way that effectively leaves the primary representation unused.

The processing agent may support content types beyond that of the primary representation in annotations that has a contentequiv relationship to the main expression. When a processing agent encounters a contentequiv annotation that it does not support, it must abort the processing unless the client has explicitly expressed that the given contentequiv annotation is ignorable. (This is because, as stated in 5.1.4 Content equivalents , annotations with the contentequiv key cannot be ignored without potentially changing the behavior of an expression.)

Feature recognized

If a processing agent recognizes but does not support this feature, it must employ one of the following behaviors:

Abort

Upon encountering a document instance with this feature enabled, the processing agent issues a notification, and then aborts the processing.

Fallback

While traversing the document tree and encountering an math element, the processing agent evaluates the content-type of any annotation and annotation-xml element descendants of the given math element:

  • If no annotation or annotation-xml elements with a supported content type are given, the processing agent issues a notification, and then aborts the processing.

  • If annotation or annotation-xml elements with a supported content type are given, the processing agent replaces the current math element with the content of the supported annotation or annotation-xml element.

    The following precedence order must be followed in the case where multiple supported annotation or annotation-xml are given, and if the client has provided no explicit instructions on fallback prioritization:

    1. annotation-xml takes precedence over annotation;
    2. Among multiple annotation-xml elements, the first element in document order takes precedence;
    3. Among multiple annotation elements, the first element in document order takes precedence.

The abort behavior is the default; the fallback behavior must only be employed when the processing agent is explicitly instructed to do so by the client.
Processing agents that employ the fallback behavior should issue a notification.

Feature not recognized

If a processing agent does not recognize this feature, it must, as dictated in Processing agent conformance definition, abort processing and issue an error message.

Informative References

Supporting software

Refer to the Z39.98-AI community portal for information on available software tools.

Appendix 1: Listing of modules in the normative schema

The below list represents the modules at the time of version 1.0 of this feature.

The occurrence of the keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in documentation fields embedded in these modules are to be interpreted as described in RFC2119.