This is an early access version, made available for early testing and evaluation.
The Content Selection
feature provides a mechanism with which publishers can
define alternate renderings of content fragments.
One core use-case for this feature is to vary the information set of output documents, based on criteria such as output content type, or target consumer group. Specific variations of portions of the document can be associated exclusively with the Braille and e-text content types. "Simplified" versions of complex passages can be provided to meet the needs of persons with certain cognitive disabilities.
In the Z39.86 Authoring and Interchange context, the feature may also be used to provide
feature fallbacks. While a publisher would normally be in a situation where
the feature support in used Processing Agents is known, this is not always the case,
especially in a content interchange scenario. As an example, not knowing whether a processing
chain has full support for the MathML feature, a publisher may choose to use the Content
Selection
feature to provide content fallback for MathML content.
The Content Selection
feature employs a conditional switch mechanism,
represented by 1-n when
elements appearing as children to the parent
select
element. There is an always-present default choice within the switch,
represented by the otherwise
element.
This feature is maintained by the ANSI/NISO Z39.86 advisory committee under the auspices of NISO.
The value of the expr
attribute on the when
element. A
conditional expression is syntactically a combination of one or more functions,
zero or
more operators, and zero or more balanced parentheses. The result of the evaluation of a
conditional expression must always be a boolean true or false.
The syntax of a conditional expression is normatively defined in EBNF Definition of the Conditional Expression.
A function is the core component of a conditional expression. The return value of a function must always be boolean true or false. A function can take zero or one parameters.
A function is always prefixed; the prefix defines which function set the function belongs to.
This feature allows the operators and
, or
and
not
.
TODO define meaning of operators
A Function set is a collection of 1-n functions. The set is defined by a canonical URI. When a function is used in a conditional expression, is uses a name prefix as a token for that URI. The association between prefixes and URIs is defined in the document head, and is thus static throughout the document scope.
The content selection feature provides a set of predefined function sets. Additional function sets may be defined.
The namespace of all members of the Content Selection
feature
element set is http://www.daisy.org/z3986/2010/auth/features/select/
.
The when
and otherwise
elements must not contain any descendants
in the http://www.daisy.org/z3986/2010/auth/features/select/
namespace.
TODO
TODO
TODO
TODO
select
elementFrom a document information set perspective, the result of the processing of a
select
element is that the select
element is replaced by
the content of exactly one of the select
element's when
or
otherwise
children.
Processing Agents must process select
elements in the following way:
when
child, starting with
the first when
child in document order.when
element results in true
, select the content of the current
when
element, and return.when
element results in false
, continue processing the next sibling in document
order (which is a when
or otherwise
element).when
or otherwise
element). Processing Agents should
issue a warning when encountering unrecognized or unsupported function sets. when
tests evaluate to true, select the content of the
otherwise
child, and return.Processing Agents must process conditional expressions
(the value of the
expr
attribute on the when
element) in the following way:
The canonical identity URI of this version of this feature is
http://www.daisy.org/z3986/2010/auth/features/select/0.0/
.
This feature is compliant with the Z3986-2010 Part A Specification.
The normative schema of this feature is z3986-feature-select.rng.
Note - this feature schema does not represent an entire document model; it is intended for inclusion in host profiles.
The normative schema includes a number of modules and/or subschemas, which are listed in Appendix 1.
The latest version of the normative schema is available at the canonical URI http://www.daisy.org/z3986/2010/schema/mod/z3986-feature-select.rng.
A listing of all public versions of this feature is available.
This section will contain references to transformation, validation etc software, once provisioning schemes are in place.
Note: the canonical base URI of these modules is http://www.daisy.org/z3986/2010/schema/mod/ , where the modules are available in their latest version.
The below list represents the modules at the time of version 0.0 of this feature.