(default, alternate) support display of alternative visualisations, for example by displaying the preferred content, by displaying both in parallel, or by toggling between the two.
anchor
(id) create an identifiable anchor point in the output.
block
(content) create a block structure
body
(content) create the body of a document.
break
(type, label) create a line, column, or page break according to the value of type
cell
(content) create a table cell
cit
(content, source) show the content, with an indication of the source
document
(content) start a new output document
figure
(title) make a figure with the title as caption
glyph
(uri) show a character by looking up reference to a chardesc at the given URI
graphic
(url, width, height, scale, title) if url is present, uses it to display graphic, else display a placeholder image.
heading
(content, level) creates a heading.
index
(type) generate list according to type.
inline
(content, label) creates inline element out of content
link
(content, uri) create hyperlink
list
(content) create a list.
listItem
(content) create a list item.
metadata
(content) create metadata section
note
(content, place, label) create a note, often out of line, depending on the value of place; could be margin, footnote, endnote, inline
omit
do nothing, do not process children
paragraph
(content) create a paragraph out of content.
row
(content) create a table row
section
(content) create a new section of the output document
<elementSpec mode="change" ident="quote"> <model predicate="ancestor::p" behaviour="inline"> <desc versionDate="2015-08-21" xml:lang="en">If it's inside a paragraph then it's inline</desc> </model> <model predicate="not(ancestor::p)" behaviour="block"> <desc versionDate="2015-08-21" xml:lang="en">If it's not inside a paragraph then it is block level</desc> </model> </elementSpec>
<model predicate="parent::person" behaviour="inline"> <desc versionDate="2015-08-21" xml:lang="en">If it is a child of a person element, treat as inline</desc> </model>
It is ambigous to have 2 models that have both the same output and have no predicate (and thus select the same set of nodes).
<sch:rule context="tei:model[ not( parent::tei:modelSequence ) ][ not( @predicate ) ]"> <sch:let name="output" value="normalize-space( @output )"/> <sch:report test="following-sibling::tei:model [ not( @predicate )] [ normalize-space(
@output ) eq $output ]"> There are 2 (or more) 'model' elements in this '<sch:value-of select="local-name(..)"/>' that have no predicate, but are targeted to the same output ("<sch:value-of select="( $output, parent::modelGrp/@output, 'all')[1]"/>")</sch:report> </sch:rule>
Schematron
It is ambigous to have 2 models that have both the same output and the same predicate (and thus select the same set of nodes).
<sch:rule context="tei:model[ not( parent::tei:modelSequence ) ][ @predicate ]"> <sch:let name="predicate" value="normalize-space( @predicate )"/> <sch:let name="output" value="normalize-space( @output )"/> <sch:report test="following-sibling::tei:model [ normalize-space( @predicate ) eq $predicate
] [ normalize-space( @output ) eq $output ]"> There are 2 (or more) 'model' elements in this '<sch:value-of select="local-name(..)"/>' that have the same predicate, and are targeted to the same output ("<sch:value-of select="( $output, parent::modelGrp/@output, 'all')[1]"/>")</sch:report> </sch:rule>