NISO Z39.98-2012 — Core Modules

Revision History
2012-12-19

Initial version.

Abstract

The core modules are a set of modules that have been created to accompany the NISO Z39.98-2012: Authoring and Interchange Framework for Adapative XML Publishing Specification (Z39.98-AI). These modules serve both to define the common structure of a document and to provide a common base of components that can be drawn on for use across Z39.98-AI profiles.

Table of Contents

1 Introduction
1.1 Overview
1.2 How to read this document
1.2.1 Module groupings
1.2.2 Information Tables
1.3 Maintenance
1.4 Changes to this document
2 Module and component definitions
2.1 Document foundation
2.1.1 The document module
2.1.1.1 The document element
2.1.1.2 The head element
2.1.1.3 The body element
2.1.1.4 The document module - Implementations
2.1.2 The datatypes module
2.1.2.1 The datatypes module - Implementations
2.1.3 The global classes module
2.1.3.1 The global classes module - Implementations
2.2 Section layer
2.2.1 The section module
2.2.1.1 The section element
2.2.1.2 The section module - Implementations
2.2.2 The article module
2.2.2.1 The article element
2.2.2.2 The article head element
2.2.2.3 The article body element
2.2.2.4 The article section element
2.2.2.5 The article module - Implementations
2.2.3 The bibliography module
2.2.3.1 The bibliography element
2.2.3.2 The bibliography section element
2.2.3.3 The bibliography entry element
2.2.3.4 The bibliography module - Implementations
2.2.4 The cover module
2.2.4.1 The cover element
2.2.4.2 The spine element
2.2.4.3 The frontcover element
2.2.4.4 The backcover element
2.2.4.5 The flaps element
2.2.4.6 The cover module - Implementations
2.2.5 The glossary module
2.2.5.1 The glossary element (Section)
2.2.5.2 The glossary element (Block)
2.2.5.3 The glossary section element
2.2.5.4 The glossary entry element
2.2.5.5 The glossary module - Implementations
2.2.6 The index module
2.2.6.1 The index element
2.2.6.2 The index section element
2.2.6.3 The index entry element
2.2.6.4 The index module - Implementations
2.2.7 The document partitions module
2.2.7.1 The frontmatter element
2.2.7.2 The bodymatter element
2.2.7.3 The backmatter element
2.2.7.4 The document partitions module - Implementations
2.2.8 The table of contents module
2.2.8.1 The toc element (Section)
2.2.8.2 The toc element (Block)
2.2.8.3 The toc entry element
2.2.8.4 The toc block element
2.2.8.5 The toc section element
2.2.8.6 The toc aside element
2.2.8.7 The table of contents module - Implementations
2.2.9 The verse module
2.2.9.1 The verse element
2.2.9.2 The verse section element
2.2.9.3 The verse module - Implementations
2.3 Block layer
2.3.1 The block module
2.3.1.1 The block element
2.3.1.2 The associate attribute
2.3.1.3 The block module - Implementations
2.3.2 The address module
2.3.2.1 The address element (Block)
2.3.2.2 The address element (Phrase)
2.3.2.3 The address module - Implementations
2.3.3 The annotation module
2.3.3.1 The annotation element (Block)
2.3.3.2 The annotation element (Phrase)
2.3.3.3 The annoref element
2.3.3.4 The annoref value attribute
2.3.3.5 The annotation module - Implementations
2.3.4 The aside module
2.3.4.1 The aside element (Section)
2.3.4.2 The aside element (Block)
2.3.4.3 The aside module - Implementations
2.3.5 The byline module
2.3.5.1 The byline element
2.3.5.2 The byline module - Implementations
2.3.6 The caption module
2.3.6.1 The caption element
2.3.6.2 The caption module - Implementations
2.3.7 The citation module
2.3.7.1 The citation element (Block)
2.3.7.2 The citation element (Phrase)
2.3.7.3 The citation module - Implementations
2.3.8 The code module
2.3.8.1 The code element (Block)
2.3.8.2 The lngroup element (code)
2.3.8.3 The ln element (code)
2.3.8.4 The code element (Phrase)
2.3.8.5 The code module - Implementations
2.3.9 The dateline module
2.3.9.1 The dateline element
2.3.9.2 The dateline module - Implementations
2.3.10 The definition module
2.3.10.1 The definition element
2.3.10.2 The definition module - Implementations
2.3.11 The description module
2.3.11.1 The description element (Block)
2.3.11.2 The description element (Phrase)
2.3.11.3 The description element (Text)
2.3.11.4 The description module - Implementations
2.3.12 The headings module
2.3.12.1 The h element
2.3.12.2 The hpart element
2.3.12.3 The hd element
2.3.12.4 The headings module - Implementations
2.3.13 The list module
2.3.13.1 The list element
2.3.13.2 The list element (Phrase)
2.3.13.3 The item element
2.3.13.4 The item element (Phrase)
2.3.13.5 The type attribute
2.3.13.6 The start attribute
2.3.13.7 The list module - Implementations
2.3.14 The meta module
2.3.14.1 The meta element
2.3.14.2 The meta module - Implementations
2.3.15 The note module
2.3.15.1 The note element (Block)
2.3.15.2 The note element (Phrase)
2.3.15.3 The noteref element
2.3.15.4 The noteref value attribute
2.3.15.5 The note module - Implementations
2.3.16 The object module
2.3.16.1 The object element (Block)
2.3.16.2 The object element (Phrase)
2.3.16.3 The object element (Text)
2.3.16.4 The object module - Implementations
2.3.17 The paragraph module
2.3.17.1 The p element
2.3.17.2 The paragraph module - Implementations
2.3.18 The pagebreak module
2.3.18.1 The pagebreak element
2.3.18.2 The pagebreak value attribute
2.3.18.3 The pagebreak module - Implementations
2.3.19 The quote module
2.3.19.1 The quote element (Block)
2.3.19.2 The quote element (Phrase)
2.3.19.3 The quote module - Implementations
2.3.20 The transition module
2.3.20.1 The transition element
2.3.20.2 The transition module - Implementations
2.3.21 The table module
2.3.21.1 The table element
2.3.21.2 The colgroup element
2.3.21.3 The col element
2.3.21.4 The thead element
2.3.21.5 The tfoot element
2.3.21.6 The tbody element
2.3.21.7 The tr element
2.3.21.8 The th element
2.3.21.9 The td element
2.3.21.10 The span attribute
2.3.21.11 The abbr attribute
2.3.21.12 The colspan attribute
2.3.21.13 The rowspan attribute
2.3.21.14 The scope attribute
2.3.21.15 The headers attribute
2.3.21.16 The table module - Implementations
2.4 Phrase layer
2.4.1 The span module
2.4.1.1 The span element (Phrase)
2.4.1.2 The span element (Text)
2.4.1.3 The span module - Implementations
2.4.2 The abbreviations module
2.4.2.1 The abbr element
2.4.2.2 The expansion element
2.4.2.3 The abbreviations module - Implementations
2.4.3 The dialogue module
2.4.3.1 The d element
2.4.3.2 The dialogue module - Implementations
2.4.4 The emphasis module
2.4.4.1 The emph element (Phrase)
2.4.4.2 The emph element (Text)
2.4.4.3 The emphasis module - Implementations
2.4.5 The line module
2.4.5.1 The ln element
2.4.5.2 The lnum element
2.4.5.3 The lngroup element
2.4.5.4 The line module - Implementations
2.4.6 The linking and embedding module
2.4.6.1 The ref element
2.4.6.2 The ref attribute
2.4.6.3 The src attribute
2.4.6.4 The srctype attribute
2.4.6.5 The continuation attribute
2.4.6.6 The linking and embedding module - Implementations
2.4.7 The name module
2.4.7.1 The name element
2.4.7.2 The name module - Implementations
2.4.8 The num module
2.4.8.1 The num element
2.4.8.2 The value attribute
2.4.8.3 The num module - Implementations
2.4.9 The sentence module
2.4.9.1 The s element
2.4.9.2 The sentence module - Implementations
2.4.10 The term module
2.4.10.1 The term element
2.4.10.2 The term module - Implementations
2.4.11 The time module
2.4.11.1 The time element
2.4.11.2 The time attribute
2.4.11.3 The time module - Implementations
2.4.12 The word module
2.4.12.1 The w element
2.4.12.2 The wpart element
2.4.12.3 The word module - Implementations
2.5 Text layer
2.5.1 The super- and subscript module
2.5.1.1 The sub element
2.5.1.2 The sup element
2.5.1.3 The super- and subscript module - Implementations
2.5.2 The char module
2.5.2.1 The char element
2.5.2.2 The char module - Implementations
2.6 Global attributes
2.6.1 The by module
2.6.1.1 The by attribute
2.6.1.2 The by module - Implementations
2.6.2 The core attributes module
2.6.2.1 The xml:id attribute
2.6.2.2 The xml:space attribute
2.6.2.3 The xml:base attribute
2.6.2.4 The class attribute
2.6.2.5 The core attributes module - Implementations
2.6.3 The depth module
2.6.3.1 The depth attribute
2.6.3.2 The depth module - Implementations
2.6.4 The I18n module
2.6.4.1 The xml:lang attribute
2.6.4.2 The its:dir attribute
2.6.4.3 The its:translate attribute
2.6.4.4 The I18n module - Implementations
2.6.5 The XLink attributes module
2.6.5.1 The XLink href attribute
2.6.5.2 The XLink type attribute
2.6.5.3 The XLink role attribute
2.6.5.4 The XLink arcrole attribute
2.6.5.5 The XLink title attribute
2.6.5.6 The XLink show attribute
2.6.5.7 The XLink actuate attribute
2.6.5.8 The XLink attributes module - Implementations
2.7 Metadata attributes
2.7.1 The RDFa Attributes Module
2.7.1.1 The RDFa prefix attribute
2.7.1.2 The RDFa about attribute
2.7.1.3 The RDFa content attribute
2.7.1.4 The RDFa datatype attribute
2.7.1.5 The RDFa typeof attribute
2.7.1.6 The RDFa property attribute
2.7.1.7 The RDFa rel attribute
2.7.1.8 The RDFa resource attribute
2.7.1.9 The RDFa rev attribute
2.7.1.10 The RDFa Attributes Module - Implementations
2.7.2 The role module
2.7.2.1 The role attribute
2.7.2.2 The role module - Implementations

List of Examples

The ref element: Example

1 Introduction

1.1 Overview

This document provides the definitions for the core modules developed to accompany the Z39.98 Authoring and Interchange Framework for Adapative XML Publishing Specification. These definitions are the human-readable descriptions that specify the nature of each module and component prior to their activation in any profile. Consequently, this document must not be read as a reference on how to tag a document to conform to any specific Z39.98-AI profile, as the actual implementation of a component in any given profile may vary from the definition given here.

The Core Modules section of the Z39.98-AI specification formally defines the purpose of these modules. In order to understand the definitions provided in this document and to be able to use them to build a profile, however, readers should also be familiar with the Abstract Document Model and the process of activating modules, as detailed in the Z39.98-AI specification.

1.2 How to read this document

1.2.1 Module groupings

The core modules have been grouped according to the primary container layer in the Abstract Document Model for the components they define. The first module listed in each layer contains the default member for that layer, while the remaining modules have been arranged alphabetically by name.

In cases where a module contains multiple variants of an element, the module appears in the first Abstract Document Model layer that contains the element (for example, the code module is listed under the Block layer not the Phrase layer, even though it contains variants for both layers).

1.2.2 Information Tables

Each module and component definition includes a table summarizing pertinent information about it. In the case of modules, these tables provide a quick glance at the elements, attributes, datatypes and/or classes that they contribute. Module tables are only intended to provide an introduction to their components; the information in the tables should never be relied on alone when constructing a profile.

Accompanying each component is a table that provides a detailed listing of its traits. Depending on the type of component, the table may list the local name of the element, its namespace, its default usage context, its default content and attribute models and whether the component can be altered and/or omitted during module activation. In the case of attributes, the content and attribute model information is replaced by the attribute's datatype or allowed set of values. More information about these traits can be found in the Module Components section of the Z39.98-AI specification.

The naming of columns in these tables may change depending on the nature of the component. In some cases, a component's table may list its "Default Content Model" and in others it may list a "Content Model" (and similar with attribute models, usage context and values). The difference between a table item prefixed with the word "Default" and an item without relates to the alterability of that aspect of the component. If a content model can be altered on activation, for example, it only provides a default content model (i.e., one you can use as is or modify to your own needs). If the content model cannot be altered, then the listing in the table is fixed and must remain unchanged (the default modifier does not apply, as there is no other possible state).

1.3 Maintenance

The core modules are a product of the Z39.98-AI Working Group and are maintained and hosted by the Z39.98 Advisory Committee.

1.4 Changes to this document

This document is not subject to the same update process as the Z39.98-AI specification. It may be updated at any time to add new modules or to change or deprecate modules and components. The publication date and revision history of this document should always be checked to ensure the latest version is being referenced. The current official version of this document is available from the DAISY web site at http://www.daisy.org/z3998/2012/auth/cm/.

2 Module and component definitions

The definitions contained in this section have been extracted from the module and component metadata in the corresponding normative schema files. In the case of discrepancies between the prose abstract definitions and the practical definition of components in the normative schemas, the latter shall be taken as authoritative.

2.1 Document foundation

The document foundation modules define the common base of all profiles.

2.1.1 The document module

This module defines the document , head and body core structural elements common to all Z39.98-AI Profiles.

This module must be included in all compliant Z39.98-2012 Profiles.

Table 1. The document module: Element overview
Name Default attribute model Default content model Default usage context
document Document.attrib; the xml:lang attribute required head, body Document root.
head Document.attrib meta+ document
body Document.attrib ( h? & Block.class*), Section.class* document
2.1.1.1 The document element

The document element is the root element of all Z39.98-AI Profiles.

The document element must include an xmlns attribute declaring the Z39.98-AI Core namespace and an xml:lang attribute specifying the language of the document.

Table 2. The document element
Local name document
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Document root.
Default attribute model Document.attrib; the xml:lang attribute required
Content model head, body
Content model alterability This content model is fixed, and must not be altered when activating this module.
Optionality This element must not be omitted when activating this module.
2.1.1.2 The head element

The head element contains meta information about the complete or partial document contained in the enclosing document .

The meta information in the head element is not document content in the context of Z39.98-AI documents, but may be used for display and other purposes when rendering documents into alternate formats.

Table 3. The head element
Local name head
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context document
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Document.attrib
Default content model meta+
Content model alterability The content model must allow meta elements such that the normatively requried metadata can be expressed.
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The head element must include a meta element identifying the Z39.98-AI profile the document conforms to (z3998:profile).

  • The document must not include more than one meta element identifying a Z39.98-AI profile.

  • A meta element containing the profile name must be specified (z3998:name).

  • A meta element containing the profile version must be specified (z3998:version).

  • Every feature must have its name specified (z3998:name).

  • Every feature must have its version specified (z3998:version).

  • The head element must include a meta element with a unique identifier (dc:identifier).

  • The head element must include a meta element identifying the document publisher (dc:publisher).

  • The head element must include a meta element indicating the document modification date (dc:date).

  • The head element must include only a single dc:date property.

  • The dc:date property must be of the form CCYY-MM-DDThh:mm:ssZ.

2.1.1.3 The body element

The body element contains the complete or partial content of the enclosing document .

Table 4. The body element
Local name body
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context document
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Document.attrib
Default content model ( h? & Block.class*), Section.class*
Optionality This element must not be omitted when activating this module.
2.1.1.4 The document module - Implementations
Schema Language
z3998-document.rng RelaxNG

Activation of this module depends on the I18n, role, RDFa, global-classes, meta, section and Core modules also being activated.

2.1.2 The datatypes module

This module defines a set of core datatypes for reference globally.

This module must be included in all compliant Z39.98-2012 Profiles.

Table 5. The datatypes module
Name Definition
ID An ID TokenizedType, as defined in section 3.3.1 of XML.
IDREF An IDREF TokenizedType, as defined in section 3.3.1 of XML.
IDREFS A space-separated list of IDREF TokenizedTypes.
NMTOKEN An NMTOKEN TokenizedType, as defined in section 3.3.1 of XML.
NMTOKENS A space-separated list of NMTOKEN TokenizedTypes.
NCName An XML non-colonized Name, as defined in section 3.3.7 of XML.
Character A single character, as per section 2.2 of XML.
Characters A range (0..n) of characters, as per section 2.2 of XML.
LanguageIdentifier A language identifier, as per Language Identification in XML.
NonEmptyString Specifies a value that must contain at least one non-whitespace character after whitespace normalization rules have been applied to the attribute value, as expressed through the XSD normalizedString datatype.
Time A date and/or time statement, expressed using any of the XSD gYear, gYearMonth, gMonthDay, gDay, gMonth, date, time or dateTime datatypes, or the Z39.98-defined TimeNoSeconds datatype.
TimeNoSeconds A derivation of the XSD time datatype that only includes hour and minute specifications. The lexical expression is hh:mm.
dateTime Date and time information, as defined by the dateTime type in XML Schema Part2.
nonNegativeInteger A non-negative integer.
positiveInteger A positive integer.
integer An integer.
URI A Uniform Resource Identifier Reference, as defined by the anyURI type in XML Schema Part2.
URIs A space-separated list of URI s.
QName A namespace qualified name as per XMLNAMES.
QNames One or more whitespace separated QName s.
prefixedQName A prefixed QName .
MediaType Media type, as per RFC2046.
TimeValue A time value as defined in CSS 2.1 Times, e.g. 250ms, 3s.
CURIE A single CURIE, as defined in RDFa.
CURIEs A whitespace separated list of CURIEs.
SafeCURIE A single safe CURIE, as defined in RDFa.
SafeCURIEs A whitespace separated list of SafeCURIEs.
URIorSafeCURIE A URI or a SafeCURIE.
URIorSafeCURIEs A whitespace separated list of URIorSafeCURIEs.
PositiveNumberOrRange A single positive number or range.
2.1.2.1 The datatypes module - Implementations
Schema Language
z3998-datatypes.rng RelaxNG

The RDFa, xlink, annotation, aside, by, word, Core, cover, depth, global-classes, headings, I18n, linking, list, name, num, pagebreak, role, span, table, time, verse and word modules depends on this module being activated.

2.1.3 The global classes module

This module defines the global named element and attribute classes

The patterns defined in this module allow the dynamic creation of globally-available content models. When building a RelaxNG implementation of a Z39.98-AI profile, included modules contribute to the content models by injecting patterns into the classes.

The principle of combining definitions used to create these classes is described in RELAX NG Tutorial Section 9.2.

This module must be included in all compliant Z39.98-2012 Profiles.

Table 6. The global classes module - Patterns
Name Definition Content
Section.class The set of elements which in the current profile are contributed to the Section level. Fundamental member: section
Block.class The set of elements which in the current profile are contributed to the Block level. Fundamental member: block
Phrase.class The set of elements which in the current profile are contributed to the Phrase level. Fundamental member: span
Text.class The set of elements which in the current profile are contributed to the Text level. Fundamental member: Characters
Global.attrib The set of global attributes whose properties do not change depending on the context in which they are used. z3998.Core.attrib , z3998.I18n.attrib and Rdfa.attrib
Global.attrib The general purpose set of attributes which are allowed or required globally. Global.attrib and role
Document.attrib The set of attributes which are allowed or required on the document , head and elements . Global.attrib
Section.attrib The set of attributes which are allowed or required on elements in Section.class. Global.attrib
Section.noextern.attrib The set of attributes which are allowed or required on elements in Section.class, excluding external contributions. Global.attrib
Block.attrib The set of attributes which are allowed or required on elements in Block.class. Global.attrib
Block.noextern.attrib The set of attributes which are allowed or required on elements in Block.class, excluding external contributions. Global.attrib
Phrase.attrib The set of attributes which are allowed or required on elements in Phrase.class. Global.attrib
Phrase.noextern.attrib The set of attributes which are allowed or required on elements in Phrase.class, excluding external contributions. Global.attrib
Text.attrib The set of attributes which are allowed or required on elements in Text.class. Global.attrib
Text.noextern.attrib The set of attributes which are allowed or required on elements in Text.class, excluding external contributions. Global.attrib
2.1.3.1 The global classes module - Implementations
Schema Language
z3998-global-classes.rng RelaxNG

Activation of this module depends on the Core, I18n, role, RDFa and datatypes modules also being activated.

The abbreviations, address, annotation, article, aside, bibliography, block, byline, caption, word, citation, code, cover, dialogue, dateline, definition, object, document, emph, glossary, headings, index, line, linking, list, meta, name, note, num, object, p, pagebreak, partitions, code, sent, section, span, super-subscript, table, term, time, toc, transition, verse and word modules depends on this module being activated.

2.2 Section layer

The Section layer modules define major structural components for use within documents.

2.2.1 The section module

This module defines the section element that enables the representation of structural divisions within a document.

Table 7. The section module: Element overview
Name Default attribute model Default content model Default usage context
section Section.attrib ( h? & ( Block.class)*), ( Section.class)* As a parent to, or following on the sibling axis of members of Block.class
2.2.1.1 The section element

The section element represents a structural division of a document.

A structural division is defined as any grouping of content that has significance to the hierarchy of the document, which can include major divisions like parts, sections, chapters, etc. or minor divisions like author biographies.

Table 8. The section element
Local name section
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context As a parent to, or following on the sibling axis of members of Block.class
Default attribute model Section.attrib
Default content model ( h? & ( Block.class)*), ( Section.class)*
Content model alterability The content model must not allow more than one instance of the h heading element.
Optionality This element must not be omitted when activating this module.
2.2.1.2 The section module - Implementations
Schema Language
z3998-section.rng RelaxNG

Activation of this module depends on the headings and global-classes modules also being activated.

The document module depends on this module being activated.

2.2.2 The article module

This module defines the article element for the inclusion and embedding of articles.

Table 9. The article module: Element overview
Name Default attribute model Default content model Default usage context
article Section.attrib head, body or ( h & Block.class* & byline? & dateline?), section* Section.class
head Document.attrib meta+ article
body Document.attrib ( h & Block.class* & byline? & dateline?), section* article
section Section.attrib ( h? & Block.class*), section* article
2.2.2.1 The article element

The article element represents an article in an electronic or print journal, magazine, news source or encyclopedia.

The simplest use for the article element is as a specialization of the section element for reproducing full articles or extracts. It is additionally possible to include head and body children for more formally structured articles.

Table 10. The article element
Local name article
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Section.class
Default attribute model Section.attrib
Default content model head, body or ( h & Block.class* & byline? & dateline?), section*
Content model alterability The content model must not allow more than one h element.
Optionality This element must not be omitted when activating this module.
2.2.2.2 The article head element

The article head element contains meta information about the complete or partial article contained in the enclosing article element.

The meta information in the article head element is not document content in the context of Z39.98-AI documents, but may be used for display and other purposes when rendering documents into alternate formats.

Table 11. The article head element
Local name head
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context article
Default attribute model Document.attrib
Default content model meta+
Optionality This element may be omitted when activating this module.
2.2.2.3 The article body element

The article body element contains the complete or partial content of the article .

Table 12. The article body element
Local name body
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context article
Default attribute model Document.attrib
Default content model ( h & Block.class* & byline? & dateline?), section*
Optionality This element may be omitted when activating this module.
2.2.2.4 The article section element

The article section element represents a major structural division in an article .

The article section element is a specialization of the section element. It provides a content model to fit the unique requirements of article divisions.

Table 13. The article section element
Local name section
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context article
Default attribute model Section.attrib
Default content model ( h? & Block.class*), section*
Content model alterability The content model must not allow more than one h element.
Optionality This element may be omitted when activating this module.
2.2.2.5 The article module - Implementations
Schema Language
z3998-article.rng RelaxNG

Activation of this module depends on the global-classes, meta, headings, byline and dateline modules also being activated.

2.2.3 The bibliography module

This module defines the bibliography element used to structure bibliographic sections.

Table 14. The bibliography module: Element overview
Name Default attribute model Default content model Default usage context
bibliography Section.attrib h?, entry*, section* Section.class
section Section.attrib h?, entry*, section* bibliography
entry Block.attrib ( Block.class)+ | (text | Text.class | Phrase.class)+ bibliography and section
2.2.3.1 The bibliography element

The bibliography element represents a bibliography, discography, filmography or other bibliographic section.

The entries in an bibliography may be grouped into sections by topic, work, alphabetic letter or other means.

Table 15. The bibliography element
Local name bibliography
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Section.class
Default attribute model Section.attrib
Default content model h?, entry*, section*
Content model alterability The content model must allow entry elements and no more than one h element.
Optionality This element must not be omitted when activating this module.
2.2.3.2 The bibliography section element

The bibliography section element represents a major structural division of a bibliography .

The bibliography section element is a specialization of the section element that provides a content model to fit the unique requirements of bibliographic divisions.

The republishing of documents often requires the insertion of content that was not a part of the original source document. For example, in the case of indexes, bibliographies and other ordered sections, this requirement may take the form of placeholder sections to mark gaps in the alphabetic list of entries. To indicate that an element presents content that is a deviation from the source, the role attribute can be used with the value custom. No behaviors are defined for how a processing agent should handle sections so identified, however.

Table 16. The bibliography section element
Local name section
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context bibliography
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Section.attrib
Default content model h?, entry*, section*
Content model alterability The content model must allow entry elements and no more than one h element.
Optionality This element must not be omitted when activating this module.
2.2.3.3 The bibliography entry element

The bibliography entry element represents a single unique entry in a bibliography .

Table 17. The bibliography entry element
Local name entry
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context bibliography and section
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib
Default content model ( Block.class)+ | (text | Text.class | Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The entry element must neither be empty nor contain only whitespace.

2.2.3.4 The bibliography module - Implementations
Schema Language
z3998-bibliography.rng RelaxNG

Activation of this module depends on the global-classes, headings, p and block modules also being activated.

2.2.4 The cover module

This module defines the cover element for including images and content originally reproduced on the covers and jackets of publications.

Table 18. The cover module: Element overview
Name Default attribute model Default content model Default usage context
cover Section.attrib spine?, frontcover?, backcover?, flaps? Section.class
spine Section.attrib (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+ cover
frontcover Section.attrib Block.class+ cover
backcover Section.attrib Block.class+ cover
flaps Section.attrib Block.class+ cover
2.2.4.1 The cover element

The cover element represents the complete cover or jacket of a print publication.

Table 19. The cover element
Local name cover
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Section.class
Default attribute model Section.attrib
Default content model spine?, frontcover?, backcover?, flaps?
Content model alterability The cover element must contain at least one of its spine , frontcover , backcover or flaps children.
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The cover element must contain at least one of its allowed children.

2.2.4.2 The spine element

The spine element represents the section of the cover that overlays the bound inner side of a publication.

Table 20. The spine element
Local name spine
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context cover
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Section.attrib
Default content model (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element may be omitted when activating this module.

The following model restrictions apply to this element:

  • The spine element must neither be empty nor contain only whitespace.

2.2.4.3 The frontcover element

The frontcover element represents all content and images contained on the inside and outside of the front cover.

Table 21. The frontcover element
Local name frontcover
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context cover
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Section.attrib
Default content model Block.class+
Optionality This element may be omitted when activating this module.
2.2.4.4 The backcover element

The backcover element represents all content and images contained on the inside and outside of the back cover.

Table 22. The backcover element
Local name backcover
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context cover
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Section.attrib
Default content model Block.class+
Optionality This element may be omitted when activating this module.
2.2.4.5 The flaps element

The flaps element represents all content and images contained on the front and back jacket flaps.

Table 23. The flaps element
Local name flaps
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context cover
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Section.attrib
Default content model Block.class+
Optionality This element may be omitted when activating this module.
2.2.4.6 The cover module - Implementations
Schema Language
z3998-cover.rng RelaxNG

Activation of this module depends on the global-classes and datatypes modules also being activated.

2.2.5 The glossary module

This module defines the glossary element for defining glossaries and other sections of definitions.

Table 24. The glossary module: Element overview
Name Default attribute model Default content model Default usage context
glossary Section.attrib h?, entry*, section* Section.class
glossary Block.attrib entry* Block.class
section Section.attrib h?, entry*, section* glossary
entry Block.attrib (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+ glossary , glossary and section
2.2.5.1 The glossary element (Section)

The glossary element represents a glossary, pronunciation guide or other section that exclusively defines terms or phrases.

The Section variant is an adaptation for use including terms and definitions that have been grouped as a separate section in a work, and where the glossary contains structured groups of entries by topic, letter of the alphabet, etc.

The republishing of documents often requires the insertion of content that was not a part of the original source document. For example, in the case of indexes, bibliographies and other ordered sections, this requirement may take the form of placeholder sections to mark gaps in the alphabetic list of entries. To indicate that an element presents content that is a deviation from the source, the role attribute can be used with the value custom. No behaviors are defined for how a processing agent should handle sections so identified, however.

The greatest advantage to using the dedicated glossary element over hand-rolled solutions is the automatic association it allows when an entry contains exactly one term and one definition (which covers most glossaries and definition lists). The element is also intended to provide flexibility to accommodate the various forms definition lists take in production. A numbered definition list, for example, can be created using the Content Rendition feature's prefix attribute:

<glossary>
   <entry rend:prefix="1.">
      <term>evolution</term> — <definition>the process by which ...</definition>
   </entry>
   <entry rend:prefix="2.">
      <term>gene</term> — <definition>a segment of DNA...</definition>
   </entry>
</glossary>
        

The definitions could be turned into a variable list through use of CSS styles. Removing the em dashes and attaching a class attribute to the glossary element in the preceding example with a value of varlist, for example, would allow the creation of the following style definitions to re-flow the content:



glossary.varList > entry > term {
   display: block;
   padding-bottom: .2em
   font-weight: bold;
}

glossary.varList > entry > definition {
   display: block;
   margin-left: 2em;
}


        

Although it is recommended that the glossary element be used whenever possible, there are no restrictions against creating definition lists using other combinations of elements. The list element can simplify aspects (auto numbering, specifically), but at the price of having to explicitly link the terms and definitions in each entry. The first example above could be reformulated as a list as follows:

<list type="ordered">
   <item><term ref="def1">evolution</term> — <definition xml:id="def1">the process by which ...</definition></item>
   <item><term ref="def2">gene</term> — <definition xml:id="def2">a segment of DNA...</definition></item>
</list>
        

A variable list can also be implemented in a similar fashion with the addition of CSS styles:

<list class="varList">
   <item>
      <term ref="defn1">evolution</term>
      <definition xml:id="defn1">the process by which ...</definition>
   </item>
   <item>
      <term ref="defn2">gene</term>
      <definition xml:id="defn2">a segment of DNA...</definition>
   </item>
</list>
        

The absence of the type attribute on the list element in the preceding example outputs each item without a prefix, similar to the default formatting for glossary entries.

There are times where even more simplicity is needed. The glossary and list elements can be used for single definitions, but are typically more tagging than is needed, especially when the definition occurs in the flow of the body:

<p>
   A <term ref="defn01">gene</term> is <definition xml:id="defn01">a segment of DNA...</definition>. 
</p>
        

The convenience of using term and definition in these ways comes at the price of having to explicitly link the elements together via their ref and xml:id attributes, however.

Table 25. The glossary element (Section)
Local name glossary
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Section.class
Default attribute model Section.attrib
Default content model h?, entry*, section*
Content model alterability The content model must allow entry elements and no more than one h element.
Optionality This element must not be omitted when activating this module.
2.2.5.2 The glossary element (Block)

The glossary element represents a glossary, pronunciation guide or other section that exclusively defines terms or phrases.

The Block variant is an adaptation for use including terms and definitions that have been grouped within the body of a work.

The greatest advantage to using the dedicated glossary element over hand-rolled solutions is the automatic association it allows when an entry contains exactly one term and one definition (which covers most glossaries and definition lists). The element is also intended to provide flexibility to accommodate the various forms definition lists take in production. A numbered definition list, for example, can be created using the Content Rendition feature's prefix attribute:

<glossary>
   <entry rend:prefix="1.">
      <term>evolution</term> — <definition>the process by which ...</definition>
   </entry>
   <entry rend:prefix="2.">
      <term>gene</term> — <definition>a segment of DNA...</definition>
   </entry>
</glossary>
        

The definitions could be turned into a variable list through use of CSS styles. Removing the em dashes and attaching a class attribute to the glossary element in the preceding example with a value of varlist, for example, would allow the creation of the following style definitions to re-flow the content:



glossary.varList > entry > term {
   display: block;
   padding-bottom: .2em
   font-weight: bold;
}

glossary.varList > entry > definition {
   display: block;
   margin-left: 2em;
}


        

Although it is recommended that the glossary element be used whenever possible, there are no restrictions against creating definition lists using other combinations of elements. The list element can simplify aspects (auto numbering, specifically), but at the price of having to explicitly link the terms and definitions in each entry. The first example above could be reformulated as a list as follows:

<list type="ordered">
   <item><term ref="def1">evolution</term> — <definition xml:id="def1">the process by which ...</definition></item>
   <item><term ref="def2">gene</term> — <definition xml:id="def2">a segment of DNA...</definition></item>
</list>
        

A variable list can also be implemented in a similar fashion with the addition of CSS styles:

<list class="varList">
   <item>
      <term ref="defn1">evolution</term>
      <definition xml:id="defn1">the process by which ...</definition>
   </item>
   <item>
      <term ref="defn2">gene</term>
      <definition xml:id="defn2">a segment of DNA...</definition>
   </item>
</list>
        

The absence of the type attribute on the list element in the preceding example outputs each item without a prefix, similar to the default formatting for glossary entries.

There are times where even more simplicity is needed. The glossary and list elements can be used for single definitions, but are typically more tagging than is needed, especially when the definition occurs in the flow of the body:

<p>
   A <term ref="defn01">gene</term> is <definition xml:id="defn01">a segment of DNA...</definition>. 
</p>
        

The convenience of using term and definition in these ways comes at the price of having to explicitly link the elements together via their ref and xml:id attributes, however.

Table 26. The glossary element (Block)
Local name glossary
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Usage context alterability The content model must allow entry elements and no more than one h element.
Default attribute model Block.attrib
Default content model entry*
Optionality This element must not be omitted when activating this module.
2.2.5.3 The glossary section element

The glossary section element represents a major structural division in a glossary .

The glossary section element is a specialization of the section element. It provides a content model to fit the unique requirements of glossary divisions.

Table 27. The glossary section element
Local name section
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context glossary
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Section.attrib
Default content model h?, entry*, section*
Content model alterability The content model must allow entry elements.
Optionality This element must not be omitted when activating this module.
2.2.5.4 The glossary entry element

The glossary entry element represents a single unique entry in a glossary .

A glossary entry must contain one or more term elements and either one or more definition elements or one or more ref elements pointing to a definition.

To facilitate the markup of glossaries, if an entry contains exactly one term and one definition an implicit association is assumed between them (i.e., the normal requirement to explicitly link the term to the definition by the ref attribute does not apply). If the entry contains mutliple term or definition elements, then the explicit association of each is required.

Table 28. The glossary entry element
Local name entry
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context glossary , glossary and section
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib
Default content model (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • Each entry element must contain at least one term element.

  • Each entry element must contain at least one definition or ref element.

  • Each entry element must contain at least one definition or reference to a definition.

  • The entry element must neither be empty nor contain only whitespace.

2.2.5.5 The glossary module - Implementations
Schema Language
z3998-glossary.rng RelaxNG

Activation of this module depends on the global-classes, headings, p and block modules also being activated.

2.2.6 The index module

This module defines the index element for structuring indices.

Table 29. The index module: Element overview
Name Default attribute model Default content model Default usage context
index Section.attrib h?, entry*, section* Section.class
section Section.attrib h?, entry*, section* index
entry Block.attrib (( Block.class)+ | (text | Text.class | Phrase.core.class | Phrase.extern.class)+), entry* index and section
2.2.6.1 The index element

The index element represents a topical reference section in a book.

The entries in an index may be grouped into sections by topic or alphabetic letter.

Table 30. The index element
Local name index
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Section.class
Default attribute model Section.attrib
Default content model h?, entry*, section*
Content model alterability The content model must allow entry elements and no more than one h element.
Optionality This element must not be omitted when activating this module.
2.2.6.2 The index section element

The index section element represents a major structural division of an index .

The index section element is a specialization of the section element that provides a content model to fit the unique requirements of index divisions.

The republishing of documents often requires the insertion of content that was not a part of the original source document. For example, in the case of indexes, bibliographies and other ordered sections, this requirement may take the form of placeholder sections to mark gaps in the alphabetic list of entries. To indicate that an element presents content that is a deviation from the source, the role attribute can be used with the value custom. No behaviors are defined for how a processing agent should handle sections so identified, however.

Table 31. The index section element
Local name section
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context index
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Section.attrib
Default content model h?, entry*, section*
Content model alterability The content model must allow entry elements and no more than one h element.
Optionality This element must not be omitted when activating this module.
2.2.6.3 The index entry element

The index entry element represents a single entry in an index , including all related child entries.

The ref element can be used to link page number references back to the corresponding location in the document.

Table 32. The index entry element
Local name entry
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context index and section
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib
Default content model (( Block.class)+ | (text | Text.class | Phrase.core.class | Phrase.extern.class)+), entry*
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The entry element must neither be empty nor contain only whitespace.

2.2.6.4 The index module - Implementations
Schema Language
z3998-index.rng RelaxNG

Activation of this module depends on the global-classes, headings, p and block modules also being activated.

2.2.7 The document partitions module

This module defines the frontmatter , bodymatter and backmatter elements into which document content is typically partitioned when representing information resources such as books and journals.

Table 33. The document partitions module: Element overview
Name Default attribute model Default content model Default usage context
frontmatter Section.attrib section+ body
bodymatter Section.attrib section+ body
backmatter Section.attrib section+ body
Table 34. The document partitions module - Patterns
Name Definition Content
partitions The partitions pattern defines a top-level partitioning structure for information resources such as books and journals. cover?, frontmatter, bodymatter, backmatter?
2.2.7.1 The frontmatter element

The frontmatter element groups the initial/preliminary sections of a document.

Frontmatter typically consists of such sections as forewords, prefaces, acknowledgements, introductions, dedications, prologues, and tables of contents.

Table 35. The frontmatter element
Local name frontmatter
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context body
Default attribute model Section.attrib
Default content model section+
Optionality This element must not be omitted when activating this module.
2.2.7.2 The bodymatter element

The bodymatter element groups the primary narrative of a document, as contrasted with preliminary material in frontmatter and supplementary information in backmatter.

Table 36. The bodymatter element
Local name bodymatter
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context body
Default attribute model Section.attrib
Default content model section+
Optionality This element must not be omitted when activating this module.
2.2.7.3 The backmatter element

The backmatter element groups supplementary sections at the end of a document.

Table 37. The backmatter element
Local name backmatter
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context body
Default attribute model Section.attrib
Default content model section+
Optionality This element must not be omitted when activating this module.
2.2.7.4 The document partitions module - Implementations
Schema Language
z3998-partitions.rng RelaxNG

Activation of this module depends on the global-classes module also being activated.

2.2.8 The table of contents module

This module defines the toc element and descendants for representing tables of various content types.

Table 38. The table of contents module: Element overview
Name Default attribute model Default content model Default usage context
toc Section.attrib ( h? & ( aside | block | hd | object | p | pagebreak | transition)*), (( entry* | section)+ & ( aside | block | hd | object | p | pagebreak | transition)*) Section.class
toc Block.attrib (( aside | block | hd | object | p | pagebreak | transition)* & ( entry | section)+) Block.class
entry Block.attrib (text | Text.class | Phrase.core.class | Phrase.extern.class)+, block?, entry* toc , section
block Block.attrib ( p | list | block | aside)+ entry
section Block.attrib h?, entry*, section* toc
aside Block.attrib (( Block.class)+ | (text | Text.class | Phrase.class)+) & toc? toc
2.2.8.1 The toc element (Section)

The toc element represents a single table of contents in a document.

The Section variant is an adaption for use when a table of contents represents a unique section of a work, such as the primary table of contents in the front matter of a book.

The term "table of contents" is a generalization encompassing all of tables of contents, tables of figures, tables of maps and similar guides to the contents of a document.

Table 39. The toc element (Section)
Local name toc
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Section.class
Default attribute model Section.attrib
Default content model ( h? & ( aside | block | hd | object | p | pagebreak | transition)*), (( entry* | section)+ & ( aside | block | hd | object | p | pagebreak | transition)*)
Content model alterability The content model must allow entry elements and no more than one h element.
Optionality This element must not be omitted when activating this module.
2.2.8.2 The toc element (Block)

The toc element represents a single table of contents in a document.

The Block variant is an adaption for use when a table of contents is embedded within another sections, such as a mini table of contents to start a section.

The term "table of contents" is a generalization encompassing all of tables of contents, tables of figures, tables of maps and similar guides to the contents of a document.

Table 40. The toc element (Block)
Local name toc
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib
Default content model (( aside | block | hd | object | p | pagebreak | transition)* & ( entry | section)+)
Content model alterability The content model must allow entry elements.
Optionality This element must not be omitted when activating this module.
2.2.8.3 The toc entry element

The toc entry element represents a single entry in a table of contents , including all related child entries.

A toc entry typically consists of the text on the leader line followed by an optional ref element indicating the corresponding print page. The ref element can also be used to link the text of the entry directly to the location in the document when the table of contents or document does not include page numbers.

The toc block element is used to group all secondary information that falls below the leader line. It is not intended to group subentries, which should be included as children of the primary entry following the block..

Table 41. The toc entry element
Local name entry
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context toc , section
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib
Default content model (text | Text.class | Phrase.core.class | Phrase.extern.class)+, block?, entry*
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The entry element must neither be empty nor contain only whitespace.

2.2.8.4 The toc block element

The toc block element is used to group any ancillary information that falls under an entry's leader line (not including subentries), such as descriptions or topic lists.

Table 42. The toc block element
Local name block
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context entry
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib
Default content model ( p | list | block | aside)+
Optionality This element must not be omitted when activating this module.
2.2.8.5 The toc section element

The toc section element represents a subdivision of a table of contents .

The toc section element is a specialization of the section element that provides a content model to fit the unique requirements of table of contents divisions.

Table 43. The toc section element
Local name section
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context toc
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib
Default content model h?, entry*, section*
Content model alterability The content model must allow entry elements and no more than one h element.
Optionality This element must not be omitted when activating this module.
2.2.8.6 The toc aside element

The toc aside element represents a separate block of information in a toc table of contents from the main sections and entries.

The toc aside element typically represents information in the margins of a print table of contents.

Table 44. The toc aside element
Local name aside
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context toc
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib
Default content model (( Block.class)+ | (text | Text.class | Phrase.class)+) & toc?
Optionality This element may be omitted when activating this module.
2.2.8.7 The table of contents module - Implementations
Schema Language
z3998-toc.rng RelaxNG

Activation of this module depends on the global-classes, headings, p, block, linking and aside modules also being activated.

2.2.9 The verse module

This module defines the verse element for representing lines of verse embedded in prose contexts.

Table 45. The verse module: Element overview
Name Default attribute model Default content model Default usage context
verse Block.attrib ( ln | lngroup | transition | hd)+ Block.class
section Section.attrib ( h? & ( ln | lngroup | transition | hd)*), section* verse
2.2.9.1 The verse element

The verse element represents a non-prose passage such as a poem, song, hymn etc., with or without metrical structure.

The verse element consists of one or more lines and may lines may be broken up into division such as stanzas and cantos using the lngroup and section elements.

Table 46. The verse element
Local name verse
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib
Default content model ( ln | lngroup | transition | hd)+
Optionality This element may be omitted when activating this module.
2.2.9.2 The verse section element

The section element represents a major structural division of a verse , such as a canto.

Table 47. The verse section element
Local name section
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context verse
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Section.attrib
Default content model ( h? & ( ln | lngroup | transition | hd)*), section*
Optionality This element may be omitted when activating this module.
2.2.9.3 The verse module - Implementations
Schema Language
z3998-verse.rng RelaxNG

Activation of this module depends on the headings, line, transition, Core, I18n, RDFa, global-classes and datatypes modules also being activated.

2.3 Block layer

The Block layer modules define components that are not structural in nature but that can stand alone from their surroundings.

2.3.1 The block module

This module defines the block element for grouping content.

Table 48. The block module: Element overview
Name Default attribute model Default content model Default usage context
block Block.attrib (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+ Block.class
Table 49. The block module: Attribute overview
Name Default values Default usage context
associate IDREF block, span
2.3.1.1 The block element

The block element establishes an association between a group of elements.

The block element differs and is subordinate to the section element in that it is not used to represent the structural outline of a document. A block only establishes a general association, and is a semantically neutral element by default.

Attributes attached to the block reflect a general commonality amongst the children: a role attribute can be attached to express the semantic nature of the grouping; a class attribute to establish common formatting; an xml:lang attribute to indicate the language of the elements; and so forth.

If the children of the block have a strong association to a single element, the associate attribute can be used to make this relationship explicit (e.g., in a figure, that all children are connected to the image).

Associated content

Although images, tables and other objects may stand on their own in a document, typically they will include an accessible description, a caption and possibly a header.

In order to establish that other elements are carrying information about the table or image, you must tie them together using ref attributes that point to the xml:id of the central element, as in the following example:

<hd ref="galapisle">Galapagos Islands</hd>

<object xml:id="galapisle" src="island.png" />

<caption ref="galapisle">The Galapagos islands lie approximately 970km off the shore of Ecuador.</caption>
        

If you were to omit the ref attributes, the information would only be loosely associated by its order in the document (i.e., a processing agent would not be able to handle the elements as a group).

Although all of the above elements are associated through references to the object element, their semantics are still only loosely defined (i.e., the linkage is established, but not what that linkage represents). A human can intuit they represent a figure by the collected items and their use, but not so a machine.

It can also be confusing to edit a document marked up with all content within a section as siblings, because document narrative could fall both immediately before and after the figure elements making it all appear connected. Without checking for ref attributes as you edit, it wouldn't be clear if a new non-structural heading were occuring or a figure were being inserted.

To begin to bind the elements more tightly and create a figure both humans and machines can understand, the block element can be wrapped as a container. A role attribute can then be attached to further specify that all of the children constitute a figure, as in the following example:

<block role="figure">
    
    <hd ref="galapisland">Galapagos Islands</hd>
    
    <object xml:id="galapisland" src="island.png" />
    
    <caption ref="galapisland">The Galapagos islands lie approximately 970km off the shore of Ecuador.</caption>
    
</block>
        

A common question at this point is why the ref elements are still necessary. The answer is because the block element is only a general container. The role attribute provides additional semantics, but those semantics only extend to what kind of content the block represents, not how it is interrelated (but more on this shortly).

Now that the content is grouped, however, we can begin to further simplify it. To avoid the extra work of linking the child elements, an associate attribute can be attached to the block (the attribute represents an automatic ref between all the children). The IDREF that you specify in the attribute implicitly makes the references that we have so far been carrying forward, so our markup can now be more minimally represented as in the following example:

<block role="figure" associate="galap-figure">
    
    <hd>Galapagos Islands</hd>
    
    <object xml:id="galap-figure" src="island.png" />
    
    <caption>The Galapagos islands lie approximately 970km off the shore of Ecuador.</caption>
    
</block>
        

Now, when a processing agent comes across this markup it will be able to determine both that the block constitutes a figure (from the role attribute) and that the child hd and caption elements are tied to the object (from the associate attribute). We've gained much more information about the figure than we started with, and the work required to reproduce the figure has been greatly simplified (there is also no worry about accidentally forgetting a ref on any of the children).

Now that we have a compact markup model for figures, we can briefly jump back to why we cannot assume associations. Consider the following example:

<block role="figure">
    
    <object xml:id="galap-isa" src="isabella.png" />
    
    <object xml:id="galap-fer" src="fernandina.png" />
    
    <object xml:id="galap-sc" src="santa-cruz.png" />
    
    <caption>The Galapagos islands lie approximately 970km off the shore of Ecuador.</caption>
    
</block>
        

We cannot make a simple association here that all the children of the figure are tied to an object, as the figure constitutes three images sharing a caption. We likewise cannot use the associate attribute, but have to revert back to explicitly linking the caption to each of the three images it describes:

<block role="figure">
    
    <object xml:id="isa" src="isabella.png" />
    
    <object xml:id="fer" src="fernandina.png" />
    
    <object xml:id="sc" src="santa-cruz.png" />
    
    <caption ref="isa fer sc">The Galapagos islands lie approximately 970km off the shore of Ecuador.</caption>
    
</block>
        

It's this potential for varation that requires at least some level of linking in all cases, and makes it impossible to state a simple rule that would hold true for all content grouped in a block.

Fortunately, most image and table figures are not this complicated, and the simpler process of grouping in a block with the associate attribute will work the majority of the time.

Table 50. The block element
Local name block
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib
Default content model (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The block element must neither be empty nor contain only whitespace.

2.3.1.2 The associate attribute

The associate attribute identifies the child element of a block to which all other children are bound.

The associate attribute takes a single IDREF that must point to one of its children as a value. All the other children assume an implict reference to the element through this value, allowing the ref attribute to be omitted from them.

Table 51. The associate attribute
Local name associate
Namespace None
Default usage context block, span
Default value(s) IDREF
Optionality This attribute must not be omitted when activating this module.

The following model restrictions apply to this attribute:

  • The IDREF in the associate attribute must reference the ID of a child element.

2.3.1.3 The block module - Implementations
Schema Language
z3998-block.rng RelaxNG

Activation of this module depends on the global-classes module also being activated.

The bibliography, glossary, index and toc modules depends on this module being activated.

2.3.2 The address module

This module defines the address element for marking up postal, http, email and other types of addresses in documents.

Table 52. The address module: Element overview
Name Default attribute model Default content model Default usage context
address Block.attrib ( lngroup | ln)+ Block.class
address Phrase.attrib (text | z3998.Text.class | z3998.Phrase.class)+ Phrase.class
2.3.2.1 The address element (Block)

The address element represents both physical locations (postal, geographic, etc.) and virtual locations (http, email, ftp, etc.).

The Block variant is an adaptation for use marking multi-line addresses (e.g., postal addresses).

The role attribute optionally expresses the type of address. If omitted, the implicit value postal is assumed.

Table 53. The address element (Block)
Local name address
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib
Default content model ( lngroup | ln)+
Optionality This element must not be omitted when activating this module.
2.3.2.2 The address element (Phrase)

The address element represents both physical locations (postal, geographic, etc.) and virtual locations (http, email, ftp, etc.).

The Phrase variant is an adaptation for use for addresses that are embedded within the text flow (typically web and email addresses).

The role attribute optionally expresses the type of address. If omitted, the implicit value postal is assumed.

Table 54. The address element (Phrase)
Local name address
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib
Default content model (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The address element must neither be empty nor contain only whitespace.

2.3.2.3 The address module - Implementations
Schema Language
z3998-address.rng RelaxNG

Activation of this module depends on the global-classes and line modules also being activated.

2.3.3 The annotation module

This module defines the annotation element for including annotations and comments about the document content.

Two variants of the annotation element are available: one for use in a Block context and a second for use in a Phrase context.

Table 55. The annotation module: Element overview
Name Default attribute model Default content model Default usage context
annotation Block.attrib, ref (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+ Block.class
annotation Phrase.attrib, ref (text | Text.class | Phrase.class)+ Phrase.class
annoref Phrase.attrib, ref, value? (empty | (text | Text.class | Phrase.core.class | Phrase.extern.class)+) Phrase.class
Table 56. The annotation module: Attribute overview
Name Default values Default usage context
value text annoref
2.3.3.1 The annotation element (Block)

The annotation element represents an annotation that an author, editor, publisher, or other individual or agency has added to a document.

Unless an annotation element has a role value of temporary, it must reference at least one element in the document using the ref attribute or be referenced by at least one annoref . For annotations that apply to more than one element, use a space-separated list of xml:id values in the ref attribute.

The ref attribute identifies the specific element(s) being annotated by referencing their xml:id values.

The annotation element should not be used to add descriptions, footnotes or endnotes. Refer to the description and note elements for more information.

The optional by and role attributes define the contributor of the annotation and expresses its nature:

<object xml:id="mnt" src="mnt.png" />
    <annotation ref="mnt" by="republisher" role="alteration">
        <p>This picture was originally on page 15 in the source but has been moved after the paragraph it split.</p>
    </annotation>
        

The lack of a role value indicates the annotation is general in nature; no implicit value should be assumed. The by attribute has an implicit value of author unless an ancestor element establishes a new relationship.

Notice also in the preceding example that there isn't an explicit reference to the annotation (i.e., no annoref element). As a result, the annotation establishes its relationship to the text via the ref attribute. Only temporary notes may be included with no reference to them or from them:

<annotation role="temporary">
       2010-12-24 - Markup verified to this point. Continuing after holidays. --MG
</annotation>
        

The by attribute may be omitted from temporary annotations as they must be removed from a document prior to its finalization. Where they are being used to relay production information, however, creating and assigning unique by values for staff/production roles may improve their usability. For example, a quality assurance editor could use the element to leave notes for the markup team:

<annotation role="temporary" by="qa" class="error">
        Missed merged paragraphs.
</annotation>
        

This specification does not attempt to define all the role values needed for all production contexts. New contributor and annotation types can be added as required, however.

Attaching more than one annotation to an element is permitted, but each annotation must have a unique role.

Table 57. The annotation element (Block)
Local name annotation
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib, ref
Attribute model alterability The attribute model must allow the ref attribute.
Default content model (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The annotation element must be referenced by an annoref or reference another element in the document unless it has the role value temporary.

  • The annotation element must neither be empty nor contain only whitespace.

2.3.3.2 The annotation element (Phrase)

The annotation element represents an annotation that an author, editor, publisher, or other individual or agency has added to a document.

The inline inclusion of annotation elements does not influence the rendering of the annotations or reflect their appearance in a print medium; inlining allows annotations to be included as close to their referenced element as is desired. It is equally valid for Block-layer annotations to reference inline elements.

Unless an annotation element has a role value of temporary, it must reference at least one element in the document using the ref attribute or be referenced by at least one annoref . For annotations that apply to more than one element, use a space-separated list of xml:id values in the ref attribute.

The ref attribute identifies the specific element(s) being annotated by referencing their xml:id values.

The annotation element should not be used to add descriptions, footnotes or endnotes. Refer to the description and note elements for more information.

Table 58. The annotation element (Phrase)
Local name annotation
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib, ref
Attribute model alterability The attribute model must allow the ref attribute.
Default content model (text | Text.class | Phrase.class)+
Optionality This element may be omitted when activating this module.
2.3.3.3 The annoref element

The annoref element represents a textual reference to an annotation .

By default, the text content of the annoref represents the link reference and is treated as document content. When superscripted numbers or symbols are instead used to identify the corresponding annotation, the value attribute should be used. The annoref must be an empty element when attaching a value attribute; it it not permitted to include text content and a value attribute.

The ref attribute is used to establish the link between the annoref and its associated annotation.

This element is a specialization of the ref element.

There are two means of tagging references to annotations. When a superscripted identifier is used, the value attribute is required:

<p>…it created a great chasm between my step-mother and me.<annoref ref="anno-04" value="4" /></p>
        

In the above example, the annotation identifier (the number 4) is no longer part of the document content, but can still be output and repurposed by a processing agent.

It is sometimes the case, however, that using one or more words in the content to link to the annotation is preferred to a superscripted identifier. In this case, the value attribute is omitted and the text content of the annoref becomes the linkable text:

<p>…it created a great chasm between <annoref ref="anno-04">my step-mother and me</annoref>.</p>
        

An additional benefit to tagging words instead of inserting superscripted referents is that a transformation process could automatically remove the link from the words and instead insert superscripted numbers or symbols after the element when they are needed. It would not be possible to do the reverse if only the superscripts have been tagged, however.

It is illegal to use an empty element and omit a value attribute, as in the following example, as some text content is necessary to render the link:

<p>…it created a great chasm between my step-mother and me.<annoref ref="anno-04" /></p>
        

It is also illegal to use text content together with a value attribute, as it introduces ambiguity in how to format the output:

<p>…it created a great chasm between <annoref ref="anno-04" value="4">my step-mother and me</annoref>.</p>
        
Table 59. The annoref element
Local name annoref
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib, ref, value?
Attribute model alterability The attribute model must allow the ref attribute.
Default content model (empty | (text | Text.class | Phrase.core.class | Phrase.extern.class)+)
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The IDREF(s) in the ref attribute must resolve to annotations.

2.3.3.4 The annoref value attribute

The annoref value attribute provides the number or symbol that represents the current annotation reference.

The value attribute allows any text string as an identifier.

Table 60. The annoref value attribute
Local name value
Namespace None
Default usage context annoref
Default value(s) text
Optionality This attribute must not be omitted when activating this module.
2.3.3.5 The annotation module - Implementations
Schema Language
z3998-annotation.rng RelaxNG

Activation of this module depends on the global-classes, datatypes, Core, I18n, RDFa and linking modules also being activated.

2.3.4 The aside module

This module defines the aside element for capturing supplementary information in documents.

Table 61. The aside module: Element overview
Name Default attribute model Default content model Default usage context
aside Section.attrib, ref h?, (z3998.Section.model)+ section
aside Block.attrib, ref (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+ Block.class
2.3.4.1 The aside element (Section)

The aside element represents information supplementary to the main text and/or narrative flow.

The Section variant is an adaptation for use with asides that contain structured content.

An aside typically floats separate from the main text, often in a boxed or shaded region.

The role attribute optionally expresses the semantic nature of the aside.

Table 62. The aside element (Section)
Local name aside
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context section
Default attribute model Section.attrib, ref
Default content model h?, (z3998.Section.model)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The aside element must neither be empty nor contain only whitespace.

2.3.4.2 The aside element (Block)

The aside element represents information supplementary to the main text and/or narrative flow.

The Block variant is an adaptation for use with asides that contain unstructured content.

An aside typically floats separate from the main text, often in a boxed or shaded region.

The role attribute optionally expresses the semantic nature of the aside.

Table 63. The aside element (Block)
Local name aside
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib, ref
Default content model (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.
2.3.4.3 The aside module - Implementations
Schema Language
z3998-aside.rng RelaxNG

Activation of this module depends on the global-classes, datatypes, Core, I18n and RDFa modules also being activated.

The toc module depends on this module being activated.

2.3.5 The byline module

This module defines the byline element for crediting the authorship of articles.

Table 64. The byline module: Element overview
Name Default attribute model Default content model Default usage context
byline Block.attrib (text | Text.class | Phrase.class)+ Block.class
2.3.5.1 The byline element

The byline element represents the byline used to establish the author(s) of a news or journal article, an entry in an encyclopaedic reference, or similar.

Bylines typically occur on a separate line immediately after the headline in print articles.

Table 65. The byline element
Local name byline
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib
Default content model (text | Text.class | Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The byline element must neither be empty nor contain only whitespace.

2.3.5.2 The byline module - Implementations
Schema Language
z3998-byline.rng RelaxNG

Activation of this module depends on the global-classes module also being activated.

The article module depends on this module being activated.

2.3.6 The caption module

This module defines the caption element for adding titles and/or explanatory information to elements.

Table 66. The caption module: Element overview
Name Default attribute model Default content model Default usage context
caption Block.attrib, ref (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+ Block.class
2.3.6.1 The caption element

The caption element represents a short explanation or description accompanying a component of a publication. Captions most often occur in conjunction with illustrations, photographs, tables and diagrams.

The ref attribute identifies the component(s) to which the caption applies.

Table 67. The caption element
Local name caption
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib, ref
Attribute model alterability The attribute model must allow the ref attribute.
Default content model (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The caption element must not contain child caption elements.

  • The caption element must neither be empty nor contain only whitespace.

2.3.6.2 The caption module - Implementations
Schema Language
z3998-caption.rng RelaxNG

Activation of this module depends on the global-classes and linking modules also being activated.

2.3.7 The citation module

This module defines the citation element for marking references to other works.

Table 68. The citation module: Element overview
Name Default attribute model Default content model Default usage context
citation Phrase.attrib, ( ref| xlink.attrib)? (text | Text.class | Phrase.class)+ Block.class
citation Phrase.attrib, ( ref| xlink.attrib)? (text | Text.class | Phrase.class)+ Phrase.class
2.3.7.1 The citation element (Block)

The citation element represents an author's acknowledgment of the original author and/or work of a directly or indirectly borrowed idea, quote or other resource. Citations typically occur in conjunction with epigraphs, quotes, illustrations, charts and diagrams.

The Block variant is an adaptation for use where the citation is offset from the quoted material.

The optional ref attribute on the citation element is used to establish an explicit association between the citation and the passage or resource it references; the placement of the citation does not, by default, imply an association with any element in the document. Some elements do provide a mechanism for implied relationships, however (see the quote element, for example). When adding citations, refer to the documentation for the element the citation is being attached to for more information.

A citation can also be linked to the work it cites by including a child ref element. A ref attribute can be attached to the nested ref element to reference a work in the current document's bibliography , for example. To reference other resources, including resources external to the current document, the xlink:href attribute must be used instead.

Table 69. The citation element (Block)
Local name citation
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Phrase.attrib, ( ref| xlink.attrib)?
Attribute model alterability The attribute model must allow either the ref or xlink.attrib attributes.
Default content model (text | Text.class | Phrase.class)+
Optionality This element must not be omitted when activating this module.
2.3.7.2 The citation element (Phrase)

The citation element represents an author's acknowledgment of the original author and/or work of a directly or indirectly borrowed idea, quote or other resource. Citations typically occur in conjunction with epigraphs, quotes, illustrations, charts and diagrams.

The Phrase variant is an adaptation for use where citations are included inline with the quoted material.

The optional ref attribute on the citation element is used to establish an explicit association between the citation and the passage or resource it references; the placement of the citation does not, by default, imply an association with any element in the document. Some elements do provide a mechanism for implied relationships, however (see the quote element, for example). When adding citations, refer to the documentation for the element the citation is being attached to for more information.

A citation can also be linked to the work it cites by including a child ref element. A ref attribute can be attached to the nested ref element to reference a work in the current document's bibliography , for example. To reference other resources, including resources external to the current document, the xlink:href attribute must be used instead.

Parentheses, brackets and other enclosing characters should be included within the citation element if they must be retained in the file. The use of CSS for appending these characters is recommended, however, for the flexibility it allows to change the characters depending on the desired output.

This element is a specialization of the ref element.

Table 70. The citation element (Phrase)
Local name citation
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib, ( ref| xlink.attrib)?
Attribute model alterability The attribute model must allow the ref and xlink.attrib attributes as exclusive choices.
Default content model (text | Text.class | Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The citation element must neither be empty nor contain only whitespace.

  • The ref attribute on the ref element must refer to an entry in a bibliography when nested inside a citation element.

2.3.7.3 The citation module - Implementations
Schema Language
z3998-citation.rng RelaxNG

Activation of this module depends on the global-classes and linking modules also being activated.

2.3.8 The code module

This module defines the code element for marking instances of computer code, commands and coded alphabets and systems.

Two variants of the code element are available: one for use in a Block context and a second for use in a Phrase context.

Table 71. The code module: Element overview
Name Default attribute model Default content model Default usage context
code Block.attrib (( lngroup | ln)+ | ( p | list | block )+) Block.class
lngroup Block.attrib ln+ code
ln Phrase.attrib lnum? & (text | Text.class)+ code and lngroup
code Phrase.attrib (text | Text.class)+ Phrase.class
2.3.8.1 The code element (Block)

The code element is intended for general instances of code as found in works of fiction and similar non-technical documents, which includes computer programming code, commands and command input/output as well as representations of numeric and text coding systems, such as Morse code.

For computer programming books, manuals and specifications, specializing the code element or using a computer markup feature is recommended.

Table 72. The code element (Block)
Local name code
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib
Default content model (( lngroup | ln)+ | ( p | list | block )+)
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The code element must neither be empty nor contain only whitespace.

2.3.8.2 The lngroup element (code)

The lngroup element for code represents a grouping of ln code elements.

Lines of code may be grouped to show a section of a coded message, a computer program, methods within a program, to separate programs from sample input/output, etc.

Table 73. The lngroup element (code)
Local name lngroup
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context code
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib
Default content model ln+
Content model alterability The content model must allow ln elements.
Optionality This element must not be omitted when activating this module.
2.3.8.3 The ln element (code)

The ln element for the code element represents a single line of code.

The lnum element can be added at the start of the ln for code examples that include line numbers.

Table 74. The ln element (code)
Local name ln
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context code and lngroup
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Phrase.attrib
Default content model lnum? & (text | Text.class)+
Optionality This element must not be omitted when activating this module.
2.3.8.4 The code element (Phrase)

The code element is intended for general instances of code as found in works of fiction and similar non-technical documents, which includes computer programming code, commands and command input/output as well as representations of numeric and text coding systems, such as Morse code.

For computer programming books, manuals and specifications, specializing the code element or using a computer markup feature is recommended.

Table 75. The code element (Phrase)
Local name code
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib
Default content model (text | Text.class)+
Optionality This element must not be omitted when activating this module.
2.3.8.5 The code module - Implementations
Schema Language
z3998-code.rng RelaxNG

Activation of this module depends on the global-classes and line modules also being activated.

2.3.9 The dateline module

This module defines the dateline element for identifying when and where a work was produced.

Table 76. The dateline module: Element overview
Name Default attribute model Default content model Default usage context
dateline Block.attrib (text | Text.class | Phrase.class)+ Block.class
2.3.9.1 The dateline element

The dateline element represents the creation date and/or time of a news article, diary entry, poem, etc.

Datelines typically occur on their own line and include a date and location. For dates and times expressed within the narrative flow of a document, refer to the time element.

Table 77. The dateline element
Local name dateline
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib
Default content model (text | Text.class | Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The dateline element must neither be empty nor contain only whitespace.

2.3.9.2 The dateline module - Implementations
Schema Language
z3998-dateline.rng RelaxNG

Activation of this module depends on the global-classes module also being activated.

The article module depends on this module being activated.

2.3.10 The definition module

This module defines the definition element for including formal definitions for words, terms and phrases.

Table 78. The definition module: Element overview
Name Default attribute model Default content model Default usage context
definition Phrase.attrib (text | Text.class | Phrase.class)+ Phrase.class and head
2.3.10.1 The definition element

The definition element represents a formal description of the meaning of a word, term, phrase, or other construct.

The definition element requires an xml:id attribute with a unique identifier for linking from the associated term.

Definitions that are not part of the document content may be placed in the document head .

Table 79. The definition element
Local name definition
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class and head
Default attribute model Phrase.attrib
Default content model (text | Text.class | Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The definition element must neither be empty nor contain only whitespace.

2.3.10.2 The definition module - Implementations
Schema Language
z3998-definition.rng RelaxNG

Activation of this module depends on the global-classes module also being activated.

2.3.11 The description module

This module defines the description element and desc attribute for providing accessible descriptions.

Three variants of the description element are defined for use in the Block, Phrase and Text classes respectively.

Table 80. The description module: Element overview
Name Default attribute model Default content model Default usage context
description Block.attrib (empty | ( Block.class)+ | (text | Text.class | Phrase.class)+) Block.class
description Phrase.attrib (text | Text.class)+ Phrase.class
description Text.attrib (text | Text.class)+ Text.class
Table 81. The description module - Patterns
Name Definition Content
desc The desc attribute establishes the connection between the current element and its associated accessible description (s). IDREFS
2.3.11.1 The description element (Block)

The description element represents an alternate accessible description of an image, video, table, etc.

The Block variant is an adaption for use embedding descriptions in other Block-layer elements and for grouping descriptions in Section-layer elements (for example, in the document head , where they can be referenced globally).

The description element can either contain the text content of the description or reference an external file in which it can be found via the xlink:href attribute. It is not permitted to mix both methods, however.

To ensure the description can be rendered, the description element must not include descendant elements and attributes that require a description.

Table 82. The description element (Block)
Local name description
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib
Default content model (empty | ( Block.class)+ | (text | Text.class | Phrase.class)+)
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The description element must either contain text data or point to an external resource using the xlink:href attribute.

  • Every description element must be referenced by at least one element in the document.

2.3.11.2 The description element (Phrase)

The description element represents an alternate accessible description of an image, video, table, etc.

The description element can either contain the text content of the description or reference an external file in which it can be found via the xlink:href attribute. It is not permitted to mix both methods, however.

To ensure the description can be rendered, the description element must not include descendant elements and attributes that require a description.

Table 83. The description element (Phrase)
Local name description
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib
Default content model (text | Text.class)+
Optionality This element must not be omitted when activating this module.
2.3.11.3 The description element (Text)

The description element represents an alternate accessible description of an image, video, table, etc.

The description element can either contain the text content of the description or reference an external file in which it can be found via the xlink:href attribute. It is not permitted to mix both methods, however.

To ensure the description can be rendered, the description element must not include descendant elements and attributes that require a description.

Table 84. The description element (Text)
Local name description
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Text.class
Default attribute model Text.attrib
Default content model (text | Text.class)+
Optionality This element must not be omitted when activating this module.
2.3.11.4 The description module - Implementations
Schema Language
z3998-description.rng RelaxNG

Activation of this module depends on the global-classes and linking modules also being activated.

2.3.12 The headings module

This module defines the h , hd and hpart elements for representing headings and heading segments.

Table 85. The headings module: Element overview
Name Default attribute model Default content model Default usage context
h Block.attrib ( hpart | text | Text.class | Phrase.core.class | Phrase.extern.class)+ Section.class
hpart Phrase.attrib (text | Text.class | Phrase.core.class | Phrase.extern.class)+ h
hd Block.attrib , ref? (text | Text.class | Phrase.core.class | Phrase.extern.class)+ Block.class
2.3.12.1 The h element

The h element represents a structural heading.

The h element is strongly associated with the section element and its specializations. Each section typically allows zero or one h element child.

Table 86. The h element
Local name h
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Section.class
Usage context alterability No element may allow more than one h element in its content model.
Default attribute model Block.attrib
Default content model ( hpart | text | Text.class | Phrase.core.class | Phrase.extern.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The h element must neither be empty nor contain only whitespace.

2.3.12.2 The hpart element

The hpart element represents a segment of a structural heading.

The hpart element is typically used to separate numeric identifiers from headings or to separate segments of headings broken onto separate lines.

Table 87. The hpart element
Local name hpart
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context h
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Phrase.attrib
Default content model (text | Text.class | Phrase.core.class | Phrase.extern.class)+
Optionality This element may be omitted when activating this module.

The following model restrictions apply to this element:

  • The hpart element must neither be empty nor contain only whitespace.

2.3.12.3 The hd element

The hd element represents a free-floating heading that is not associated with the hierarchical structure of the document.

The ref attribute may be used to associate an hd element with a construct that it acts as a heading for.

Table 88. The hd element
Local name hd
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib , ref?
Default content model (text | Text.class | Phrase.core.class | Phrase.extern.class)+
Optionality This element may be omitted when activating this module.

The following model restrictions apply to this element:

  • The hd element must neither be empty nor contain only whitespace.

2.3.12.4 The headings module - Implementations
Schema Language
z3998-headings.rng RelaxNG

Activation of this module depends on the global-classes, datatypes and linking modules also being activated.

The article, bibliography, glossary, index, section, toc and verse modules depends on this module being activated.

2.3.13 The list module

This module defines the list element for structuring ordered and unordered simple sets of items.

Table 89. The list module: Element overview
Name Default attribute model Default content model Default usage context
list Block.attrib, type?, start? item+ Block.class
list Phrase.attrib, type?, start? item+ Phrase.class
item Phrase.attrib (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+ list
item Phrase.attrib (text | z3998.Text.class | z3998.Phrase.class)+ list
Table 90. The list module: Attribute overview
Name Default values Default usage context
type 'ordered'|'unordered' list
start integer list
2.3.13.1 The list element

The list element represents a simple list of items, either ordered or unordered.

The optional type attribute specifies the HTML-style ordered and unordered nature of the list.

By default, an unordered list is prefixed by bullets and an ordered list by numeric values. To change this behavior, refer to the Content Rendition feature's prefix attributes.

If the type attribute is omitted, then there is no default formatting.

The list element is not intended to structure semantically meaningful sets of entries as found in indexes, bibliographies and glossaries.

Table 91. The list element
Local name list
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib, type?, start?
Attribute model alterability The attribute model must allow the type and type attributes.
Default content model item+
Content model alterability The content model must allow item elements.
Optionality This element must not be omitted when activating this module.
2.3.13.2 The list element (Phrase)

The list element represents a simple list of items, either ordered or unordered.

The Phrase variant is an adaptation for use embedding lists where the items flow together as part of the document narrative.

The optional type attribute specifies the HTML-style ordered and unordered nature of the list.

By default, an unordered list is prefixed by bullets and an ordered list by numeric values. To change this behavior, refer to the Content Rendition feature's prefix attributes.

If the type attribute is omitted, then there is no default formatting.

The list element is not intended to structure semantically meaningful sets of entries as found in indexes, bibliographies and glossaries.

Table 92. The list element (Phrase)
Local name list
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib, type?, start?
Attribute model alterability The attribute model must allow the type and type attributes.
Default content model item+
Content model alterability The content model must allow item elements.
Optionality This element must not be omitted when activating this module.
2.3.13.3 The item element

The item element represents a single item in a list.

The number or glyph that appears before the item is typically controlled by the attributes specified on the parent list element together with the number of preceding items. The Content Rendition feature's prefix attribute allows this default behaviour to be overridden for individual items, however.

Table 93. The item element
Local name item
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context list
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Phrase.attrib
Default content model (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The item element must neither be empty nor contain only whitespace.

2.3.13.4 The item element (Phrase)

The item element represents a single item in a list.

The number or glyph that appears before the item is typically controlled by the attributes specified on the parent list element together with the number of preceding items. The Content Rendition feature's prefix attribute allows this default behaviour to be overridden for individual items, however.

Table 94. The item element (Phrase)
Local name item
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context list
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Phrase.attrib
Default content model (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.
2.3.13.5 The type attribute

The type attribute specifies whether the items in the list are ordered or unordered.

The type attribute values imply the following semantics for the list items:

  • ordered — the order of the items is significant and changing the order of the items typically changes the meaning of the list.

  • unordered — the order of the items is not significant and changes the order of the items typically does not change the meaning of the list.

Table 95. The type attribute
Local name type
Namespace None
Default usage context list
Default value(s) 'ordered'|'unordered'
Optionality This attribute must not be omitted when activating this module.
2.3.13.6 The start attribute

The start attribute specifies the ordinal value for the first list item's prefix.

If omitted, the implicit value 1 is assumed.

This attribute is only valid when used with ordered lists (as defined by the presence and value of the type attribute).

Table 96. The start attribute
Local name start
Namespace None
Default usage context list
Default value(s) integer
Optionality This attribute must not be omitted when activating this module.
2.3.13.7 The list module - Implementations
Schema Language
z3998-list.rng RelaxNG

Activation of this module depends on the global-classes and datatypes modules also being activated.

2.3.14 The meta module

This module defines the meta element for including metadata information.

This module must be included in all compliant Z39.98-2012 Profiles.

Table 97. The meta module: Element overview
Name Default attribute model Default content model Default usage context
meta Rdfa.attrib , z3998.I18n.attrib and z3998.Core.attrib empty | z3998.meta+ | (text | z3998.Text.class | z3998.Phrase.class)+ head
2.3.14.1 The meta element

The meta element expresses metadata information about the document, a document fragment or an external resource associated with the document.

The meta element accepts attributes from the RDFa attributes collection for capturing the metadata information.

Acceptable methods for specifying the value of a meta element include:

  • attaching a content attribute; and

  • inlining text and non- meta element children.

It is not valid to employ both methods for the same element. If no value is specified, the meta element either expresses a specialized metadata function or is a container for one or more child meta elements.

Table 98. The meta element
Local name meta
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context head
Default attribute model Rdfa.attrib , z3998.I18n.attrib and z3998.Core.attrib
Attribute model alterability The attribute model must allow the RDFa attributes.
Default content model empty | z3998.meta+ | (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The meta content attribute must neither be empty nor contain only whitespace.

2.3.14.2 The meta module - Implementations
Schema Language
z3998-meta.rng RelaxNG

Activation of this module depends on the RDFa, Core, I18n and global-classes modules also being activated.

The article and document modules depends on this module being activated.

2.3.15 The note module

This module defines the note and noteref elements for the referencing and inclusion of footnotes and endnotes.

Table 99. The note module: Element overview
Name Default attribute model Default content model Default usage context
note Block.attrib (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+ Block.class
note Phrase.attrib (text | z3998.Text.class | z3998.Phrase.class)+ Phrase.class
noteref Phrase.attrib, ref, value? (empty | (text | Text.class | Phrase.core.class | Phrase.extern.class)+) Phrase.class
Table 100. The note module: Attribute overview
Name Default values Default usage context
value text noteref
2.3.15.1 The note element (Block)

The note element represents a single footnote or endnote.

The Block variant is an adaptation for use including notes between block elements.

Notes provide or reference sources of additional information, or acknowledge the source of a quotation or idea. In printed matter, they are usually distinguishable from annotations by their location either at the bottom of print pages, at the end of sections or in the back matter of a document.

Each note is typically referenced by a noteref or prefixed by a page location (when explicit references have been omitted from the text). If the note does not have a referent in a Z39.98-AI document, it must include a ref attribute that references back to the nearest element in the document to the content to which it applies.

The role attribute optionally expresses the semantic nature of the note. The value can be either footnote or endnote. If omitted, the implicit value footnote is assumed.

When a note is prefixed by a number or symbol, that identifier should be included using the Content Rendition feature's prefix attribute.

Table 101. The note element (Block)
Local name note
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib
Default content model (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The note element must either be referenced by a noteref or reference another element in the document.

  • The note element must neither be empty nor contain only whitespace.

2.3.15.2 The note element (Phrase)

The note element represents a single footnote or endnote.

The Phrase variant is an adaptation for use including notes inline in phrase contexts.

Notes provide or reference sources of additional information, or acknowledge the source of a quotation or idea. In printed matter, they are usually distinguishable from annotations by their location either at the bottom of print pages, at the end of sections or in the back matter of a document.

Each note is typically referenced by a noteref or prefixed by a page location (when explicit references have been omitted from the text). If the note does not have a referent in a Z39.98-AI document, it must include a ref attribute that references back to the nearest element in the document to the content to which it applies.

The role attribute optionally expresses the semantic nature of the note. The value can be either footnote or endnote. If omitted, the implicit value footnote is assumed.

When a note is prefixed by a number or symbol, that identifier should be included using the Content Rendition feature's prefix attribute.

Table 102. The note element (Phrase)
Local name note
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib
Default content model (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.
2.3.15.3 The noteref element

The noteref element represents a textual reference to a note .

The ref attribute is used to establish the link between the note reference and its associated note.

By default, the text content of the noteref represents the link reference and is treated as document content. When superscripted numbers or symbols are used to identify the corresponding note, the value attribute should be used. The noteref must be an empty element when attaching a value attribute; it it not permitted to include text content and a value attribute.

This element is a specialization of the ref element.

There are two means of tagging references to notes. When a superscripted identifier is used, the value attribute is required:

<p>THE following pages contain Extracts from LETTERS addressed 
    to Professor HENSLOW<noteref ref="n2" value="2" /> by C. DARWIN, Esq. … </p>
        

In the above example, the note identifier (the number 2) is no longer part of the document content, but can still be output and repurposed by a processing agent.

It is sometimes the case, however, that using one or more words in the content to link to the annotation is preferred to a superscripted identifier. In this case, the value attribute is omitted and the text content of the noteref becomes the linkable text:

<p>THE following pages contain Extracts from LETTERS addressed 
    to <noteref ref="n2">Professor HENSLOW</noteref> by C. DARWIN, Esq. … </p>
        

An additional benefit to tagging words instead of inserting superscripted referents is that a transformation process could automatically remove the link from the words and instead insert superscripted numbers or symbols after the element when they are needed. It would not be possible to do the reverse if only the superscripts have been tagged, however.

It is illegal to use an empty element and omit a value attribute, as in the following example, as some text content is necessary to render the link:

<p>THE following pages contain Extracts from LETTERS addressed 
    to Professor HENSLOW<noteref ref="n2" /> by C. DARWIN, Esq. … </p>
        

It is also illegal to use text content together with a value attribute, as it introduces ambiguity in how to format the output:

<p>THE following pages contain Extracts from LETTERS addressed 
    to <noteref ref="n2" value="2">Professor HENSLOW</noteref> by C. DARWIN, Esq. … </p>
        
Table 103. The noteref element
Local name noteref
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib, ref, value?
Attribute model alterability The attribute model must allow the ref attribute.
Default content model (empty | (text | Text.class | Phrase.core.class | Phrase.extern.class)+)
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The IDREF(s) in the ref attribute must resolve to note elements.

2.3.15.4 The noteref value attribute

The noteref value attribute provides the number or symbol that represents the current note reference.

The value attribute allows any text string as an identifier.

Table 104. The noteref value attribute
Local name value
Namespace None
Default usage context noteref
Default value(s) text
Optionality This attribute must not be omitted when activating this module.
2.3.15.5 The note module - Implementations
Schema Language
z3998-note.rng RelaxNG

Activation of this module depends on the global-classes and linking modules also being activated.

2.3.16 The object module

This module defines the object element for including graphics, video and other external objects.

Three variants of the object element are defined for use in the Block, Phrase and Text classes respectively.

Table 105. The object module: Element overview
Name Default attribute model Default content model Default usage context
object src, srctype?, Block.attrib (empty | ( Block.class)+ | (text | Text.class | Phrase.class)+) Block.class
object src, srctype?, Phrase.attrib (empty | (text | Text.class | Phrase.class)+) Phrase.class
object src, srctype?, Text.attrib (empty | (text | Text.class)+) Text.class
2.3.16.1 The object element (Block)

The object element contains a reference to an external resource, such as a graphic or video.

The Block variant is an adaptation for use embedding objects that are intended to be offset from any surrounding block elements.

The referenced resource may be an image, video, XML text, or other content, but its media type must be supported by the current profile and features in use. The optional srctype attribute carries an enumeration of the allowed media types.

The formal behavior of the object element is defined by XHTML 1.1 .

This element is a specialization of the ref element with the XLink behaviors xlink:show="embed" and xlink:actuate="onLoad".

It is not always the case that the referenced object will be available, renderable or accessible. The object element provides two mechanisms for adding fallback accessible descriptions in these cases:

  1. the direct inclusion of elements within the object element:

    <object xml:id="mnt1" src="mouse.png">
        <p>A picture of a small, grey mouse.</p>
    </object>
                    

    or

    <object xml:id="mnt2" src="mouse.png">
        <description by="republisher">
            <p>A picture of a small, grey mouse.</p>
        </description>
    </object>
                    

    In the first example, a description element with a by attribute value of author is implied around the child content. In the second, an explicit description has been added to identify that the description has been contributed by a republisher of the document.

  2. by attaching a desc attribute pointing to the description:

    <object xml:id="mnt3" src="mouse.png" desc="mouse-description" />
    <description by="republisher" xml:id="mouse-description">
        <p>A picture of a small, grey mouse.</p>
    </description>
                    
Table 106. The object element (Block)
Local name object
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model src, srctype?, Block.attrib
Attribute model alterability The attribute model must allow the src and srctype attributes.
Default content model (empty | ( Block.class)+ | (text | Text.class | Phrase.class)+)
Optionality This element must not be omitted when activating this module.
2.3.16.2 The object element (Phrase)

The object element contains a reference to an external resource, such as a graphic or video.

The Phrase variant is an adaption for use embedding objects in phrasal constructs.

The referenced resource may be an image, video, XML text, or other content, but its media type must be supported by the current profile and features in use. The optional srctype attribute carries an enumeration of the allowed media types.

The formal behavior of the object element is defined by XHTML 1.1 .

This element is a specialization of the ref element with the XLink behaviors xlink:show="embed" and xlink:actuate="onLoad".

It is not always the case that the referenced object will be available, renderable or accessible. The object element provides two mechanisms for adding fallback accessible descriptions in these cases:

  1. the direct inclusion of elements within the object element:

    <object xml:id="mnt1" src="mouse.png">
        <p>A picture of a small, grey mouse.</p>
    </object>
                    

    or

    <object xml:id="mnt2" src="mouse.png">
        <description by="republisher">
            <p>A picture of a small, grey mouse.</p>
        </description>
    </object>
                    

    In the first example, a description element with a by attribute value of author is implied around the child content. In the second, an explicit description has been added to identify that the description has been contributed by a republisher of the document.

  2. by attaching a desc attribute pointing to the description:

    <object xml:id="mnt3" src="mouse.png" desc="mouse-description" />
    <description by="republisher" xml:id="mouse-description">
        <p>A picture of a small, grey mouse.</p>
    </description>
                    
Table 107. The object element (Phrase)
Local name object
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model src, srctype?, Phrase.attrib
Attribute model alterability The attribute model must allow the src and srctype attributes.
Default content model (empty | (text | Text.class | Phrase.class)+)
Optionality This element may be omitted when activating this module.
2.3.16.3 The object element (Text)

The object element contains a reference to an external resource, such as a graphic or video.

The Text variant is an adaption for use representing objects at the character level.

The referenced resource may be an image, video, XML text, or other content, but its media type must be supported by the current profile and features in use. The optional srctype attribute carries an enumeration of the allowed media types.

The formal behavior of the object element is defined by XHTML 1.1 .

This element is a specialization of the ref element with the XLink behaviors xlink:show="embed" and xlink:actuate="onLoad".

It is not always the case that the referenced object will be available, renderable or accessible. The object element provides two mechanisms for adding fallback accessible descriptions in these cases:

  1. the direct inclusion of elements within the object element:

    <object xml:id="mnt1" src="mouse.png">
        <p>A picture of a small, grey mouse.</p>
    </object>
                    

    or

    <object xml:id="mnt2" src="mouse.png">
        <description by="republisher">
            <p>A picture of a small, grey mouse.</p>
        </description>
    </object>
                    

    In the first example, a description element with a by attribute value of author is implied around the child content. In the second, an explicit description has been added to identify that the description has been contributed by a republisher of the document.

  2. by attaching a desc attribute pointing to the description:

    <object xml:id="mnt3" src="mouse.png" desc="mouse-description" />
    <description by="republisher" xml:id="mouse-description">
        <p>A picture of a small, grey mouse.</p>
    </description>
                    
Table 108. The object element (Text)
Local name object
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Text.class
Default attribute model src, srctype?, Text.attrib
Attribute model alterability The attribute model must allow the src and srctype attributes.
Default content model (empty | (text | Text.class)+)
Optionality This element may be omitted when activating this module.
2.3.16.4 The object module - Implementations
Schema Language
z3998-object.rng RelaxNG

Activation of this module depends on the global-classes and linking modules also being activated.

The word module depends on this module being activated.

2.3.17 The paragraph module

This module defines the p element for distinguishing paragraphs of text.

Table 109. The paragraph module: Element overview
Name Default attribute model Default content model Default usage context
p Block.attrib (text | Text.class | Phrase.class)+ Section.class
2.3.17.1 The p element

The p element represents a paragraph of text consisting of one or several sentences.

The class attribute together with a CSS stylesheet should be used to retain any formatting information specific to a paragraph, such as first line indenting.

Table 110. The p element
Local name p
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Section.class
Default attribute model Block.attrib
Default content model (text | Text.class | Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The p element must neither be empty nor contain only whitespace.

2.3.17.2 The paragraph module - Implementations
Schema Language
z3998-p.rng RelaxNG

Activation of this module depends on the global-classes module also being activated.

The bibliography, glossary, index and toc modules depends on this module being activated.

2.3.18 The pagebreak module

This module defines the pagebreak element and the pagebreak value attribute for retaining print page transition points.

Table 111. The pagebreak module: Element overview
Name Default attribute model Default content model Default usage context
pagebreak Phrase.attrib, value? empty Block.class , Phrase.class and Section.class
Table 112. The pagebreak module: Attribute overview
Name Default values Default usage context
value text pagebreak
2.3.18.1 The pagebreak element

The pagebreak element represents the location of a page break in a print source.

The value attribute optionally expresses a page number associated with the page.

Table 113. The pagebreak element
Local name pagebreak
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class , Phrase.class and Section.class
Default attribute model Phrase.attrib, value?
Attribute model alterability The attribute model must allow the value attribute.
Default content model empty
Optionality This element must not be omitted when activating this module.
2.3.18.2 The pagebreak value attribute

The pagebreak value attribute provides the numbering of the page immediately following the pagebreak element.

The value attribute allows any text string as an identifier to accommodate Arabic, roman and other sequencing conventions.

Table 114. The pagebreak value attribute
Local name value
Namespace None
Default usage context pagebreak
Default value(s) text
Optionality This attribute must not be omitted when activating this module.
2.3.18.3 The pagebreak module - Implementations
Schema Language
z3998-pagebreak.rng RelaxNG

Activation of this module depends on the global-classes and datatypes modules also being activated.

2.3.19 The quote module

This module defines the quote element for indicating text reproduced from another source.

Two variants of the quote element are available: one for use in a Block context and a second for use in a Phrase context.

Table 115. The quote module: Element overview
Name Default attribute model Default content model Default usage context
quote Block.attrib (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+ Block.class
quote Phrase.attrib (text | Text.class | Phrase.class)+ Phrase.class
2.3.19.1 The quote element (Block)

The quote element represents a quotation from a real or fictitious source.

When citing the source of a quotation, the citation must be explicitly linked to the quote by means of the ref attribute.

If a quote element contains only a single child citation element, and the citation does not contain a ref attribute or child ref element, the association between the two elements is implied.

If a quote does not contain a citation, it can still be linked to the work it is cited from by attaching a ref attribute referencing an entry in a bibliography , for example. To reference other resources, including resources external to the current document, the xlink:href attribute must be used.

The role attribute optionally expresses the semantic nature of the quote. The role value epigraph, for example, indicates the quoted passage or verse represents an epigraph for the document or section.

Table 116. The quote element (Block)
Local name quote
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib
Default content model (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The quote element must neither be empty nor contain only whitespace.

2.3.19.2 The quote element (Phrase)

The quote element represents a quotation from a real or fictitious source.

When citing the source of a quotation, the citation must be explicitly linked to the quote by means of the ref attribute.

If a quote element contains only a single child citation element, and the citation does not contain a ref attribute or child ref element, the association between the two elements is implied.

If a quote does not contain a citation, it can still be linked to the work it is cited from by attaching a ref attribute referencing an entry in a bibliography , for example. To reference other resources, including resources external to the current document, the xlink:href attribute must be used.

The role attribute optionally expresses the semantic nature of the quote. The role value epigraph, for example, indicates the quoted passage or verse represents an epigraph for the document or section.

Quotation marks should be included within the element if they must be retained in the file. The use of CSS for appending these characters is recommended, however, for the flexibility it allows to change the characters depending on the desired output.

Table 117. The quote element (Phrase)
Local name quote
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib
Default content model (text | Text.class | Phrase.class)+
Optionality This element must not be omitted when activating this module.
2.3.19.3 The quote module - Implementations
Schema Language
z3998-quote.rng RelaxNG

Activation of this module depends on the global-classes and line modules also being activated.

2.3.20 The transition module

This module defines the transition element for indicating changes in context and other shifts in the narrative flow of a document.

Table 118. The transition module: Element overview
Name Default attribute model Default content model Default usage context
transition Block.attrib empty Block.class
2.3.20.1 The transition element

The transition element represents context changes and other shifts in the narrative flow or content of a document.

The shift represented by a transition does not infer structural meaning on the elements that precede or follow it (see the section element). A typical example of a transition in print documents is a spaced gap between paragraphs, which may include centered asterisks or other glyphs (often referred to as a space break).

The Content Rendition feature's symbol attribute can be used to represent a character marker associated with the transition, and the src attribute can be used to reference an image. If both attributes are omitted, the transition is treated as a whitespace gap.

Table 119. The transition element
Local name transition
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib
Default content model empty
Optionality This element must not be omitted when activating this module.
2.3.20.2 The transition module - Implementations
Schema Language
z3998-transition.rng RelaxNG

Activation of this module depends on the global-classes module also being activated.

The verse module depends on this module being activated.

2.3.21 The table module

This module defines the table element and descendants for expressing tabular data and constructs.

The table element and its descendants inherit the semantics and behavior of the XHTML Modularization 1.1 tables module unless otherwise specified.

Table 120. The table module: Element overview
Name Default attribute model Default content model Default usage context
table Block.attrib ( col* | colgroup*), (( thead?, tbody+, tfoot?) | tr+) Block.class
colgroup Block.attrib, span? col* table
col Block.attrib, span empty colgroup
thead Block.attrib tr+ table
tfoot Block.attrib tr+ table
tbody Block.attrib tr+ table
tr Block.attrib (z3998.table.th | z3998.table.td)+ table , thead , tbody and tfoot
th Block.attrib, abbr?, colspan?, headers?, rowspan?, scope? (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+ tr
td Block.attrib, colspan?, headers?, rowspan?, scope? (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+ tr
Table 121. The table module: Attribute overview
Name Default values Default usage context
span positiveInteger colgroup
abbr Characters th
colspan nonNegativeInteger th and td
rowspan nonNegativeInteger th and td
scope 'row' | 'col' | 'rowgroup' | 'colgroup' th and td
headers IDREFS th and td
2.3.21.1 The table element

The table element represents a single instance of tabular data arranged in rows and columns.

A table may consist of one or more tr elements or may be divided into thead , tbody and tfoot divisions.

A table may contain one or more colgroup elements, for expressing common column formatting and properties.

Associated content

Although images, tables and other objects may stand on their own in a document, typically they will include an accessible description, a caption and possibly a header.

In order to establish that other elements are carrying information about the table or image, you must tie them together using ref attributes that point to the xml:id of the central element, as in the following example:

<hd ref="galapisle">Galapagos Islands</hd>

<object xml:id="galapisle" src="island.png" />

<caption ref="galapisle">The Galapagos islands lie approximately 970km off the shore of Ecuador.</caption>
        

If you were to omit the ref attributes, the information would only be loosely associated by its order in the document (i.e., a processing agent would not be able to handle the elements as a group).

Although all of the above elements are associated through references to the object element, their semantics are still only loosely defined (i.e., the linkage is established, but not what that linkage represents). A human can intuit they represent a figure by the collected items and their use, but not so a machine.

It can also be confusing to edit a document marked up with all content within a section as siblings, because document narrative could fall both immediately before and after the figure elements making it all appear connected. Without checking for ref attributes as you edit, it wouldn't be clear if a new non-structural heading were occuring or a figure were being inserted.

To begin to bind the elements more tightly and create a figure both humans and machines can understand, the block element can be wrapped as a container. A role attribute can then be attached to further specify that all of the children constitute a figure, as in the following example:

<block role="figure">
    
    <hd ref="galapisland">Galapagos Islands</hd>
    
    <object xml:id="galapisland" src="island.png" />
    
    <caption ref="galapisland">The Galapagos islands lie approximately 970km off the shore of Ecuador.</caption>
    
</block>
        

A common question at this point is why the ref elements are still necessary. The answer is because the block element is only a general container. The role attribute provides additional semantics, but those semantics only extend to what kind of content the block represents, not how it is interrelated (but more on this shortly).

Now that the content is grouped, however, we can begin to further simplify it. To avoid the extra work of linking the child elements, an associate attribute can be attached to the block (the attribute represents an automatic ref between all the children). The IDREF that you specify in the attribute implicitly makes the references that we have so far been carrying forward, so our markup can now be more minimally represented as in the following example:

<block role="figure" associate="galap-figure">
    
    <hd>Galapagos Islands</hd>
    
    <object xml:id="galap-figure" src="island.png" />
    
    <caption>The Galapagos islands lie approximately 970km off the shore of Ecuador.</caption>
    
</block>
        

Now, when a processing agent comes across this markup it will be able to determine both that the block constitutes a figure (from the role attribute) and that the child hd and caption elements are tied to the object (from the associate attribute). We've gained much more information about the figure than we started with, and the work required to reproduce the figure has been greatly simplified (there is also no worry about accidentally forgetting a ref on any of the children).

Now that we have a compact markup model for figures, we can briefly jump back to why we cannot assume associations. Consider the following example:

<block role="figure">
    
    <object xml:id="galap-isa" src="isabella.png" />
    
    <object xml:id="galap-fer" src="fernandina.png" />
    
    <object xml:id="galap-sc" src="santa-cruz.png" />
    
    <caption>The Galapagos islands lie approximately 970km off the shore of Ecuador.</caption>
    
</block>
        

We cannot make a simple association here that all the children of the figure are tied to an object, as the figure constitutes three images sharing a caption. We likewise cannot use the associate attribute, but have to revert back to explicitly linking the caption to each of the three images it describes:

<block role="figure">
    
    <object xml:id="isa" src="isabella.png" />
    
    <object xml:id="fer" src="fernandina.png" />
    
    <object xml:id="sc" src="santa-cruz.png" />
    
    <caption ref="isa fer sc">The Galapagos islands lie approximately 970km off the shore of Ecuador.</caption>
    
</block>
        

It's this potential for varation that requires at least some level of linking in all cases, and makes it impossible to state a simple rule that would hold true for all content grouped in a block.

Fortunately, most image and table figures are not this complicated, and the simpler process of grouping in a block with the associate attribute will work the majority of the time.

Table 122. The table element
Local name table
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Block.class
Default attribute model Block.attrib
Default content model ( col* | colgroup*), (( thead?, tbody+, tfoot?) | tr+)
Content model alterability The table element must allow the thead , tbody and tfoot elements and/or one or more tr elements. The order of the thead, tbody and tfoot elements must not be altered.
Optionality This element must not be omitted when activating this module.
2.3.21.2 The colgroup element

The colgroup element allows a set of properties to be defined for the cells in one or more table columns.

The colgroup can define a common set of properties for one or more columns using the span attribute, in which case it must be an empty element. To specify different properties for different columns, the colgroup must contain one or more col elements with the properties for those columns.

A colgroup must not contain both a span attribute and child col elements.

Table 123. The colgroup element
Local name colgroup
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context table
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib, span?
Attribute model alterability The attribute model must allow the span attribute.
Content model col*
Content model alterability This content model is fixed, and must not be altered when activating this module.
Optionality This element must not be omitted when activating this module.
2.3.21.3 The col element

The col element allows a set of properties to be defined for the cells in one or more table columns.

The optional span attribute indicates the number of adjoining columns to which the properties apply.

Table 124. The col element
Local name col
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context colgroup
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib, span
Attribute model alterability The attribute model must allow the span attribute.
Default content model empty
Optionality This element must not be omitted when activating this module.
2.3.21.4 The thead element

The thead element represents the collection of table header rows.

Table 125. The thead element
Local name thead
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context table
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib
Default content model tr+
Optionality This element must not be omitted when activating this module.
2.3.21.5 The tfoot element

The tfoot element represents the collection of table footer rows.

Note that contrary to the XHTML Modularization 1.1 tables module tfoot element, this element is placed following the tbody element.

Table 126. The tfoot element
Local name tfoot
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context table
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib
Default content model tr+
Optionality This element must not be omitted when activating this module.
2.3.21.6 The tbody element

The tbody element represents a collection of table body rows.

Multiple tbody elements are allowed to enable representation of sections of rows.

Table 127. The tbody element
Local name tbody
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context table
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib
Default content model tr+
Optionality This element must not be omitted when activating this module.
2.3.21.7 The tr element

The tr element represents a single table row of data.

Table 128. The tr element
Local name tr
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context table , thead , tbody and tfoot
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib
Default content model (z3998.table.th | z3998.table.td)+
Optionality This element must not be omitted when activating this module.
2.3.21.8 The th element

The th element represents a single table cell containing header information.

The optional scope attribute can be used to express the column(s) or row(s) to which the header applies.

Table 129. The th element
Local name th
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context tr
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib, abbr?, colspan?, headers?, rowspan?, scope?
Default content model (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.
2.3.21.9 The td element

The td element represents a single table cell.

The optional colspan and rowspan attributes can be used to specify that a column extends across or down more than one cell, respectively.

The optional scope attribute can be used to express that the current cell represents a header for columns(s) or row(s) defined by the attribute's value.

Table 130. The td element
Local name td
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context tr
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Block.attrib, colspan?, headers?, rowspan?, scope?
Default content model (z3998.Block.class)+ | (text | z3998.Text.class | z3998.Phrase.class)+
Optionality This element must not be omitted when activating this module.
2.3.21.10 The span attribute

The span attribute specifies the number of columns the properties defined in a colgroup or col apply to.

If a colgroup element contains child col elements, the span is determined automatically from the number of child col elements and any respective span values they define.

If omitted, the implicit value 1 is assumed.

Table 131. The span attribute
Local name span
Namespace None
Usage context colgroup
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Value(s) positiveInteger
Value alterability The defined value(s) or datatype(s) are fixed, and must not be altered when activating this module.
Optionality This attribute must not be omitted when activating this module.
2.3.21.11 The abbr attribute

The abbr attribute specifies an abbreviated header value.

Table 132. The abbr attribute
Local name abbr
Namespace None
Default usage context th
Default value(s) Characters
Optionality This attribute may be omitted when activating this module.
2.3.21.12 The colspan attribute

The colspan attribute specifies the number of columns spanned by the current cell.

The implicit value of this attribute is 1. The value 0 indicates that the cell spans all columns from the current column to the last column of the colgroup in which the cell is defined.

Table 133. The colspan attribute
Local name colspan
Namespace None
Usage context th and td
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Value(s) nonNegativeInteger
Value alterability The defined value(s) or datatype(s) are fixed, and must not be altered when activating this module.
Optionality This attribute must not be omitted when activating this module.
2.3.21.13 The rowspan attribute

The rowspan attribute specifies the number of rows spanned by the current cell.

The implicit value of this attribute is 1. The value 0 indicates that the cell spans all rows from the current row to the last row of the current table section (rowgroup) in which the cell is defined (where the thead , tbody , and tfoot elements are considered rowgroups).

Table 134. The rowspan attribute
Local name rowspan
Namespace None
Usage context th and td
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Value(s) nonNegativeInteger
Value alterability The defined value(s) or datatype(s) are fixed, and must not be altered when activating this module.
Optionality This attribute must not be omitted when activating this module.
2.3.21.14 The scope attribute

The scope attribute specifies the set of data cells for which the current header cell provides header information.

This attribute may be used in place of the headers attribute, especially for simple tables.

Table 135. The scope attribute
Local name scope
Namespace None
Usage context th and td
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Value(s) 'row' | 'col' | 'rowgroup' | 'colgroup'
Value alterability The defined value(s) or datatype(s) are fixed, and must not be altered when activating this module.
Optionality This attribute must not be omitted when activating this module.
2.3.21.15 The headers attribute

The headers attribute specifies the list of header cells that provide header information for the current data cell.

This attribute requires a space separated list of valid ID references that resolves to th elements.

Table 136. The headers attribute
Local name headers
Namespace None
Usage context th and td
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Value(s) IDREFS
Value alterability The defined value(s) or datatype(s) are fixed, and must not be altered when activating this module.
Optionality This attribute must not be omitted when activating this module.

The following model restrictions apply to this attribute:

  • The headers attribute must resolve to a th in the current table.

2.3.21.16 The table module - Implementations
Schema Language
z3998-table.rng RelaxNG

Activation of this module depends on the global-classes and datatypes modules also being activated.

2.4 Phrase layer

The Phrase layer modules define constructs that operate at the grammatical level.

2.4.1 The span module

This module defines the span element for grouping inline content.

Table 137. The span module: Element overview
Name Default attribute model Default content model Default usage context
span Phrase.attrib (text | Text.class | Phrase.class)+ Phrase.class
span Text.attrib (text | Text.class)+ Text.class
2.4.1.1 The span element (Phrase)

The span element represents an arbitrary phrase of text.

The span element is similar to the block element in that only acts a container for its child content. It is a semantically neutral element by default, but may express some other commonality between the elements such as formatting or language.

To convey a semantic connection between the child content, the optional role attribute must be attached.

Table 138. The span element (Phrase)
Local name span
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib
Default content model (text | Text.class | Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The span element must neither be empty nor contain only whitespace.

2.4.1.2 The span element (Text)

The span element represents an arbitrary phrase of text.

The span element is similar to the block element in that only acts a container for its child content. It is a semantically neutral element by default, but may express some other commonality between the elements such as formatting or language.

To convey a semantic connection between the child content, the optional role attribute must be attached.

Table 139. The span element (Text)
Local name span
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Text.class
Default attribute model Text.attrib
Default content model (text | Text.class)+
Optionality This element must not be omitted when activating this module.
2.4.1.3 The span module - Implementations
Schema Language
z3998-span.rng RelaxNG

Activation of this module depends on the global-classes, datatypes, Core, I18n and RDFa modules also being activated.

The name module depends on this module being activated.

2.4.2 The abbreviations module

This module defines the abbr and expansion elements for identifying and annotating abbreviations and acronyms.

Table 140. The abbreviations module: Element overview
Name Default attribute model Default content model Default usage context
abbr Phrase.attrib, ref? (text | Phrase.core.class | Text.core.class)+ Phrase.class
expansion Phrase.attrib (text | Text.class | Phrase.core.class | Phrase.extern.class)+ Phrase.class
2.4.2.1 The abbr element

The abbr element represents the abbreviated form of a phrase, term or name.

The role attribute optionally expresses whether the type of abbreviation.

The expansion and name elements provide a mechanism for associating an abbreviation with its uncontracted form. When including an expansion, the ref attribute on the abbr element links the abbreviation to an expansion or name.

The ref attribute can also be used to reference a definition element when an explanatory definition of the abbreviation is also needed.

Table 141. The abbr element
Local name abbr
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib, ref?
Attribute model alterability The attribute model must allow the role and ref attributes.
Default content model (text | Phrase.core.class | Text.core.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The ref attribute on an abbr element must resolve to an expansion, name or definition element.

  • The abbr element must neither be empty nor contain only whitespace.

2.4.2.2 The expansion element

The expansion element represents the fully expanded form of an abbreviation .

The expansion element requires an xml:id attribute with a unique identifier for linking from the associated abbreviation.

Expansions that are not part of the document content must be placed in the document head .

Table 142. The expansion element
Local name expansion
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib
Default content model (text | Text.class | Phrase.core.class | Phrase.extern.class)+
Optionality This element may be omitted when activating this module.

The following model restrictions apply to this element:

  • The expansion element must not contain descendant expansion elements.

  • The expansion element must neither be empty nor contain only whitespace.

2.4.2.3 The abbreviations module - Implementations
Schema Language
z3998-abbr.rng RelaxNG

Activation of this module depends on the global-classes and linking modules also being activated.

2.4.3 The dialogue module

This module defines the d element for marking sections of dialogue.

Table 143. The dialogue module: Element overview
Name Default attribute model Default content model Default usage context
d Phrase.attrib, ref? (text | Text.class | Phrase.class)+ Phrase.class
2.4.3.1 The d element

The d element represents an instance of dialogue in a book, play, article or other document.

Quotation marks should be included within the element if they must be retained in the file. The use of CSS for appending these characters is recommended, however, for the flexibility it allows to change the characters depending on the desired output.

The ref attribute can optionally be used to link an instance of dialogue to a character listed in a dramatis personae.

Table 144. The d element
Local name d
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib, ref?
Default content model (text | Text.class | Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The d element must not contain descendant d elements.

  • The d element must neither be empty nor contain only whitespace.

2.4.3.2 The dialogue module - Implementations
Schema Language
z3998-d.rng RelaxNG

Activation of this module depends on the global-classes and linking modules also being activated.

2.4.4 The emphasis module

This module defines the emph element for indicating the placement of emphasis on words or phrases.

Table 145. The emphasis module: Element overview
Name Default attribute model Default content model Default usage context
emph Phrase.attrib (text | Text.class | Phrase.core.class | Phrase.extern.class)+ Phrase.class
emph Text.attrib (text | Text.class)+ Text.class
2.4.4.1 The emph element (Phrase)

The emph element represents an author's emphasis.

Emphasis is not restricted to italicized text, but may constitute any of a variety of typographical or styling means used to distinguish text, such as bolding, underlining, coloring, etc.

Nested emph elements indicate extra emphasized segments within an emphasized segment.

Table 146. The emph element (Phrase)
Local name emph
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib
Default content model (text | Text.class | Phrase.core.class | Phrase.extern.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The emph element must neither be empty nor contain only whitespace.

2.4.4.2 The emph element (Text)

The emph element represents an author's emphasis.

Emphasis is not restricted to italicized text, but may constitute any of a variety of typographical or styling means used to distinguish text, such as bolding, underlining, coloring, etc.

Nested emph elements indicate extra emphasized segments within an emphasized segment.

Table 147. The emph element (Text)
Local name emph
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Text.class
Default attribute model Text.attrib
Default content model (text | Text.class)+
Optionality This element may be omitted when activating this module.
2.4.4.3 The emphasis module - Implementations
Schema Language
z3998-emph.rng RelaxNG

Activation of this module depends on the global-classes module also being activated.

2.4.5 The line module

This module defines the ln , lngroup and lnum elements for representing individual lines and line groupings.

Table 148. The line module: Element overview
Name Default attribute model Default content model Default usage context
ln Phrase.attrib (text | Text.class | Phrase.class)+ & lnum? Phrase.class
lnum Text.attrib (text | Text.class)+ ln
lngroup Block.attrib ln+ No default context.
2.4.5.1 The ln element

The ln element represents a single line of text.

The lnum element can be added to the start of the ln to represent numbered lines.

Table 149. The ln element
Local name ln
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib
Default content model (text | Text.class | Phrase.class)+ & lnum?
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The ln element must not contain descendant ln elements.

  • The ln element must neither be empty nor contain only whitespace.

2.4.5.2 The lnum element

The lnum element represents the line number of the parent ln .

Table 150. The lnum element
Local name lnum
Namespace http://www.daisy.org/ns/z3998/authoring/
Usage context ln
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default attribute model Text.attrib
Default content model (text | Text.class)+
Optionality This element may be omitted when activating this module.

The following model restrictions apply to this element:

  • The lnum element must neither be empty nor contain only whitespace.

2.4.5.3 The lngroup element

The lngroup element represents a group of lines.

Table 151. The lngroup element
Local name lngroup
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context No default context.
Default attribute model Block.attrib
Default content model ln+
Content model alterability The content model must allow ln elements.
Optionality This element may be omitted when activating this module.
2.4.5.4 The line module - Implementations
Schema Language
z3998-line.rng RelaxNG

Activation of this module depends on the global-classes module also being activated.

The address, code, code and verse modules depends on this module being activated.

2.4.6 The linking and embedding module

This module defines the ref element and the ref , src and srctype attributes that enable inter- and intra-document linking and content embedding. It also defines the continuation attribute that enables logical association of elements.

Table 152. The linking and embedding module: Element overview
Name Default attribute model Default content model Default usage context
ref ( xlink.attrib? | ref?), Phrase.attrib (text | Text.class | Phrase.core.class | Phrase.extern.class)+ Phrase.class
Table 153. The linking and embedding module: Attribute overview
Name Default values Default usage context
ref IDREFS No default context.
src URI No default context.
srctype 'image/png'|'image/jpeg'|'image/bmp' On elements where src is allowed.
continuation IDREFS No default context.
2.4.6.1 The ref element

The ref element represents a reference to an internal or external entity.

The referenced entity is not required to be resolvable or includable in a processing or rendering context: the ref element may point to conceptual or physical items.

The ref element may employ attributes from the xlink.attrib attributes collection to specify the nature of the hyperlink, including or excluding expressions of link activation behavior.

IDREF link relationships may also be established using the ref attribute, but not in conjunction with the xlink attributes collection.

Table 154. The ref element
Local name ref
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Attribute model ( xlink.attrib? | ref?), Phrase.attrib
Attribute model alterability This attribute model is fixed, and must not be altered when activating this module.
Default content model (text | Text.class | Phrase.core.class | Phrase.extern.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The ref element must neither be empty nor contain only whitespace.

2.4.6.1.1 The ref element: Examples

Example 1: The ref element: Example

<index>
    <entry>origin of fruit-trees, <ref ref="page29">29</ref>,  <ref ref="page39">39</ref>.</entry> 
</index>
    

2.4.6.2 The ref attribute

The ref attribute provides a generic mechanism to establish an association between the current element and one or more other elements in the document scope.

The ref attribute must contain one or more space separated references to the IDs of the associated elements.

Elements adopting the ref attribute may express constraints on the nature of the referenced elements.

Table 155. The ref attribute
Local name ref
Namespace None
Default usage context No default context.
Default value(s) IDREFS
Optionality This attribute may be omitted when activating this module.

The following model restrictions apply to this attribute:

  • The ref attribute must not reference the same ID multiple times.

  • Each IDREF in the ref attribute must reference the ID of another element in the document.

  • Elements carrying a ref attribute must not reference themselves.

2.4.6.3 The src attribute

The src attribute contains a URI reference to an external resource to embed in the document, in place of the current element.

Only references to resources that conform to one of the types in the srctype attribute enumeration are allowed.

Table 156. The src attribute
Local name src
Namespace None
Default usage context No default context.
Value(s) URI
Value alterability The defined value(s) or datatype(s) are fixed, and must not be altered when activating this module.
Optionality This attribute may be omitted when activating this module.
2.4.6.4 The srctype attribute

The srctype attribute contains a MediaType expression that identifies the type of resource referenced from the src attribute.

All Z39.98-AI profiles must allow the media types image/png , image/jpeg and image/bmp. These three image types are jointly referred to as the "core image types". Z39.98-AI features may extend this enumeration to support additional media types.

If the srctype attribute is not specified, processing agents must dereference the resource in the src attribute to identify its media type.

Table 157. The srctype attribute
Local name srctype
Namespace None
Default usage context On elements where src is allowed.
Value(s) 'image/png'|'image/jpeg'|'image/bmp'
Value alterability The defined value(s) or datatype(s) are fixed, and must not be altered when activating this module.
Optionality This attribute may be omitted when activating this module.
2.4.6.5 The continuation attribute

The continuation attribute provides a generic mechanism to establish a logical continuation of the current element cross one or more other elements in the document scope.

The continuation attribute must contain one or more space separated references to the IDs of the associated elements. Note that the element that carries the continuation attribute must not be referenced in this list.

The order in which the references appear in the attribute value is not significant (i.e., the reference order need not match the document order of the referenced elements). Only elements with the same QName as the parent element of the attribute can be referenced (e.g., a paragraph cannot list a table as a continuation). Additionally, only elements following the current element in the document order may be referenced as continuations. Elements that are referenced as continuations must not have continuation attributes themselves.

Logical connections allow for special formatting of elements when generating outputs (to establish the connection between emphasis that continues across multiple paragraphs for braille formatting, for example). When the continuation attribute has been attached to an element, all formatting instructions that apply to that element also apply to all the elements referenced in the attribute. Formatting instructions on the logical siblings, however, do not cascade.

A processing agent that does not recognize logical connections must be able to process each individual element in the continuation without requiring special knowledge of the elements that came before (i.e., inheritance of formatting cannot be assumed).

Table 158. The continuation attribute
Local name continuation
Namespace None
Default usage context No default context.
Value(s) IDREFS
Value alterability The defined value(s) or datatype(s) are fixed, and must not be altered when activating this module.
Optionality This attribute may be omitted when activating this module.

The following model restrictions apply to this attribute:

  • The continuation attribute must not reference the same ID multiple times.

  • Elements referenced by a continuation attribute must be located after the referencing element (i.e., in document order).

  • Elements referenced by a continuation attribute must have the same QName as the referencing element.

  • Elements carrying a continuation attribute must not reference themselves.

2.4.6.6 The linking and embedding module - Implementations
Schema Language
z3998-linking.rng RelaxNG

Activation of this module depends on the global-classes, xlink and datatypes modules also being activated.

The abbreviations, annotation, caption, citation, dialogue, object, headings, note, object, term and toc modules depends on this module being activated.

2.4.7 The name module

This module defines the name element for identifying proper names.

Table 159. The name module: Element overview
Name Default attribute model Default content model Default usage context
name Phrase.attrib (text | Text.class)+ Phrase.class
2.4.7.1 The name element

The name element represents particular instances of names, places and things (proper nouns).

The role attribute optionally expresses the semantic nature of the proper noun. No implicit value is associated with the name element.

Table 160. The name element
Local name name
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib
Default content model (text | Text.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The name element must neither be empty nor contain only whitespace.

2.4.7.2 The name module - Implementations
Schema Language
z3998-name.rng RelaxNG

Activation of this module depends on the datatypes, Core, I18n, RDFa, span and global-classes modules also being activated.

2.4.8 The num module

This module defines the num element for marking numbers that are not mathematical in nature.

Table 161. The num module: Element overview
Name Default attribute model Default content model Default usage context
num Phrase.attrib, value? (text | z3998.Text.class)+ Phrase.class
Table 162. The num module: Attribute overview
Name Default values Default usage context
value text num
2.4.8.1 The num element

The num element represents a set of Arabic or Roman numerals that taken together indicate a single value or represent a single number in a standardized format.

Examples of numbers include: cardinal and ordinal values, weights, measures, currency values, postal codes, telephone numbers, ISBN numbers, scores and results, etc. Where these values include units of measure or other symbols integral to their understanding, the units and symbols must be included as a part of the num element.

The role attribute optionally expresses the semantic nature of the number. If omitted, the implicit value cardinal is assumed.

If the value of the num element is not in a machine-readable format, the value attribute optionally allows the inclusion of an alternate representation.

The MathML feature is intended for marking proper mathematical statements within documents and should be used in preference over the num element whenever equations, formulae or other formal mathematic constructs or operators are being marked.

The num element must not be used to mark instances of dates and times. Refer to the time element for more information.

Table 163. The num element
Local name num
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib, value?
Attribute model alterability The attribute model must allow the value attribute.
Default content model (text | z3998.Text.class)+
Content model alterability The content model must not allow elements from MathML.
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The num element must neither be empty nor contain only whitespace.

2.4.8.2 The value attribute

The value attribute provides the value of the num element in a machine-readable form.

A processing agent's interpretation of the value depends on the specific type of numeral, as specified by the role attribute.

Table 164. The value attribute
Local name value
Namespace None
Usage context num
Usage context alterability This usage context is fixed, and must not be altered when activating this module.
Default value(s) text
Optionality This attribute may be omitted when activating this module.
2.4.8.3 The num module - Implementations
Schema Language
z3998-num.rng RelaxNG

Activation of this module depends on the datatypes, Core, I18n, RDFa and global-classes modules also being activated.

2.4.9 The sentence module

This module defines the s element for marking the component sentences that compose the document text.

Table 165. The sentence module: Element overview
Name Default attribute model Default content model Default usage context
s Phrase.attrib (text | Text.class | Phrase.class)+ Phrase.class
2.4.9.1 The s element

The s element represents a grammatical and/or lexical sentence.

Table 166. The s element
Local name s
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model Phrase.attrib
Default content model (text | Text.class | Phrase.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The s element must not contain descendant s elements.

  • The s element must neither be empty nor contain only whitespace.

2.4.9.2 The sentence module - Implementations
Schema Language
z3998-s.rng RelaxNG

Activation of this module depends on the global-classes module also being activated.

2.4.10 The term module

This module defines the term element for identifying words and phrases of semantic or lexical significance.

Table 167. The term module: Element overview
Name Default attribute model Default content model Default usage context
term ref ?, Phrase.attrib (text | z3998.Text.class)+ Phrase.class
2.4.10.1 The term element

The term element represents a word, or compound word, characterized by its particular use and context.

The addition of a ref attribute establishes a link to a definition. The value of the ref attribute must reference the xml:id of a definition element

Table 168. The term element
Local name term
Namespace http://www.daisy.org/ns/z3998/authoring/
Default usage context Phrase.class
Default attribute model ref ?, Phrase.attrib
Attribute model alterability The attribute model must allow the ref attribute.
Default content model (text | z3998.Text.class)+
Optionality This element must not be omitted when activating this module.

The following model restrictions apply to this element:

  • The term element must neither be empty nor contain only whitespace.

  • The ref attribute on a term element must resolve to a definition.

2.4.10.2 The term module - Implementations
Schema Language
z3998-term.rng RelaxNG

Activation of this module depends on the global-classes and linking modules also being activated.

2.4.11 The time module

This module defines the time element and the time attribute for including dates and times in human- and machine-readable forms.

Table 169. The time module: Element overview
Name Default attribute model Default content model Default usage context
time Phrase.attrib, time? (text | Text.class | Phrase.class)+ Phrase.class
Table 170. The time module: Attribute overview
Name Default values Default usage context
time Time