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.
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.
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:
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.
Elements and attributes deprecated by MathML 3 must not occur.
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:
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.
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.
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:
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.
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.
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.
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.
This features overrides the following attribute contributions from the Z39.98-AI Global attributes class:
id
attribute is used instead of the Z39.98-AI-global
xml:id
attribute
href
attribute is used instead of the Z39.98-AI-global
xlink:href
attribute
meta
and
i18n
attribute classes are not contributed to elements in the MathML namespace
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/
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/
This version of the feature is compliant with the Z39.98-2012 Specification.
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.
This feature makes the following components available for inclusion in host profiles:
This section defines processing agent behaviors that extend the default behaviors defined in Processing agent conformance definition.
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.
)
If a processing agent recognizes but does not support this feature, it must employ one of the following behaviors:
Upon encountering a document instance with this feature enabled, the processing agent issues a notification, and then aborts the processing.
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:
annotation-xml
takes precedence over
annotation
;
annotation-xml
elements, the first element in document order takes precedence;
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.
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.
Refer to the Z39.98-AI community portal for information on available software tools.
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.