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.