This module belongs to the Literature Markup Language Version 2.0
The elements listoffigures
, listoftables
, registry
, sources
and tableofcontents
are new in LML 2.0.
And there are several new elements for frequently asked questions and tasks.
Prose is in general text with no specific requirements for the presentation of rhythmic or rhymed content. On the contrary the presentation should not pronounce accidental rhythmic or rhymed fragments.
Type: Block
A generic container for prose with no specific requirements for the presentation of rhythmic or rhymed content.
Type: Block
A container for an address, this may include a postal address, fax, email, phone number ...
Depending on the origin or different traditions, there can be specific requirements,
how these data are ordered, what is not in the focus of this definition.
However, LML provides (mainly in version 2.0) some inline elements to identify several stereotype address substructures like
name
, forename
, surname
, naname
, street
, addrcode
, country
, email
, phone
, fax
, , homepage
.
Note, that in (X)HTML there is an element with the same name and a more specific meaning as a container for contact information to the author or editor, this is not the case here.
Type: Block
A container for mathematics or in general equations or similar structures from natural science, logic or related areas.
Often equations or such abstractions require some advanced presentation or markup from foreign namespaces to provide the functionality.
Similar to fig
beq
can contain the content itself
or link
s to external resources.
equation
math
(only not
accessible representations like raster images)formula
beq
Type: Block
Indicates that the content of the element is a bibliography, typically lists of external references with a relation to the content of the current document. Typically a bibliography is a specific type of prose, for the exotic case that this is not true, the author may add an additional role like poetry at the end of the role list to indicate this.
bibliography
biblStruct
Type: Block
A caption of a table
or fig
or beq
.
Obviously the order, the caption
is combined with other children of the parent, determines the position of the
caption
.
Usually for simple structures this is either before other children or behind, typically not between.
But if a parent contains more than one structure with a demand of an own , the caption
can appear more than once and
at different positions within the parent.
Type: Block
An element containing a conversation fragment for example in an interview or a stage play or a
'frequently asked questions' section.
Typically the content consists of the elements directive
,
sp
, l
,
p
.
speech
dialog
(only in early drafts, later obfuscated or removed)Type: Block
This is the same as directive
from
dialogue
, but appears within the
element conversation
.
It is related to non poetic content, for example in a stage play.
description
stage
performance
Type: Block
This is the same as sp
from
dialogue
, but appears within the
element conversation
.
It is related to non poetic content, for example in a stage play or an interview and
might be used too to indicate abstractions like 'question' and 'answer' in a
'frequently asked questions' section, even if this does not have real speakers.
The element contains information about the currently speaking person in a conversation fragment.
Typically it contains the name of the speaker as text and this element is directly followed by
l
or p
elements
containing the text message of this speaker. If an sp
element
follows directly on an sp
element, this indicates the previous
speaker to be speechless.
If there is no previous speaker for other content except directive in a conversation,
this means that the speaker is anonymous from the off, but this should be avoided by the author.
The words spoken by the speaking person can be marked up in a sibling element ds
for general direct speech, but within a dialogue this can be implicated as well from the sp
indicating a speaker.
speaker
speaker
Type: Block
A container for questions and answers of the type frequently asked questions.
The container can contain headings and paragraphs, the usual structures to explain the general task of the section.
Specific container elements for the questions and answer structure are elements faqg
containing questions and answers for one issue.
Usually a faq
contains mainly some amount of faqg
s.
qandaset
Type: Block
A container for one issue in a faq
.
Expected content are elements faqq
and faqa
.
Usually or often one starts with one questions inside faqq
followed by one answer in faqa
for one issue contained in faqg
, but is is not excluded, that there is more than one question for an answer or more than one answer to a question.
qandaentry
Type: Block
A container for the questions within a frequently asked question group faqg
.
Usually the next element after such a faqq
is an element faqa
with the related answer.
question
Type: Block
A container for the answer within a frequently asked question group faqg
.
Usually after a question faqq
there is an element faqa
with the related answer.
answer
faq
<faq> <h>About holes</h> <p> Holes are a difficult concept. Here are answers for frequently asked questions. </p> <faqg> <faqq>How do I create a hole?</faqq> <faqa>Start with something, that is of the surface type. Then remove a fragment of something in such a way, that some parts of something remain around the removed part.</faqa> <faqa>Start with nothing and put something of a surface type around.</faqa> </faqg> <faqg> <faqq>How do I create a hole in solid matter?</faqq> <faqa>This is almost the same as for the surface type. You mainly have to care, that the nothing is completely surrounded by something.</faqa> </faqg> </faq>
Type: Block
A container for a figure.
The content may be a caption
, more descriptive text, metadata about the figure, images, graphics or some other multimedia content (visual, audible, tactile, smellable, tactile etc) and a text alternative for all this non textual content, see
switch
for the method to provide alternatives.
link
can be used to reference external content
or the host language has to provide elements with the functionality of such content
or with the functionality to embed this multimedia content, for example
the SMIL
media object elements or the corresponding elements in SVG or
img
or object
in HTML4 or
img
in DAISY or
imagedata
or mediaobject
in DocBook.
fig
Type: Block
A container for a form. The functionality of the form is either provided by the host language or a specific language like XForms can be used.
form
Type: Block
A container for one line of prose text.
It is expected, that text within one line is identifiable to belong to this line. Especially for visual presentation within a limited space this requires some indication of an undesired line break, which appears under some circumstances within a finite view box.
Type: Block
A container for a list.
It is expected, that the content is only list related elements like list items
,
groups
or topics
,
meta
elements.
A list may have a heading with the element h
on top to provide a heading for the complete list.
The list
element can have a
list type indicator attribute.
list
list
dl
itemizedlist
orderedlist
variablelist
simplelist
segmentedlist
segmentedlist
ul
, ol
dl
enum
list
Type: attribute
The element list
indicates more a technical functionality,
not much about the semantic purpose of a list.
ltype
is a specific attribute of the
list
or lg
element.
It indicates the list type of a list.
If used with the role
approach, a predefined value can be used with the related CURIE.
For example HTML has specific elements for this purpose, ul
, ol
, dl
.
Often these elements are more related to styling than semantics and do not cover all types of possible lists.
Instead of completing this list of elements, an author can simply specify the list type with this attribute.
Obviously, if the host language does not provide the intended functionality, the author has to simulate it by styling, if possible. If not simulatable, the functionality cannot be used respectively it cannot be expected, that the functionality is available with a user-agent, that does not interpret LML itself. A typical approach might be styling.
Predefined values are:
lt
content is defined by the following
li
content. This can be used too, if only one object is defined, similar to
the element dfn
from HTML, what is pretty plurivalent about the question what
is defined and what is the explanation. This list type corresponds to the HTML definition list.lt
contains the paragraph identifier,
the li
the law text of the paragraph. Typically law paragraphs have to
be referenced, therefore the paragraph identifiers need to be hard-coded and not generated implicitly with the
types oi or od, additionally an author may add an identifier attribute like xml:id
to provide a possibility to reference each paragraph separately.lt
contains the amount of money, the
li
the product.lt
contains the amount or mass or volume,the
li
the ingredients.lt
are inside the li
,
one for the amount, one maybe for the price, the other content of the li
is the product to buy.lt
may indicate an identifier, name, number etc,
the li
the contact information.lt
contains a label for some form input elements inside li
.link
elements in a
meta
element for
alternative language variants, the language is indicated with the attribute
rlang
of the element
link
.
link
elements in a
meta
element for alternatives in another format
(MIME-type), the type is indicated with the attribute
type
of the element
link
.link
elements in a
meta
element for (alternative)
stylesheets (or timesheets)
applied to the meta
element target,
(*) is optional with * as a wildcard for an optional string.
The default style has no string, alternatives belonging together have the same string.
The cascade or the priorities follow the nesting of elements. If there is no style with no string,
no style is used as default.
The stylesheets are only applied, if the meta
element target
is inside the current document.
If the meta
element target
is another document, this list has no influence on the appearance of
the other document.Because this list is not exhaustive, it may be extended in the future. If an author wants to extend it with a currently not existing type, the value has to be a safe CURIE: '[' CURIE ']' pointing to a definition of the type.
none
Type: Block
A container for a list item. li
appears only in list
(or in lg
inside list
).
Type: Block or inline depending on the appearance
A container for a list topic. lt
appears only in
list
,
lg
or in a li
.
If it appears as direct children of a list
or
lg
, it is a block element, if it appears as direct children of a
li
, it is an inline element. Authors should not mix these two models.
If used inside the li
, it should be either before or after any other
content of the li
. Obviously in such a case the
li
itself
may only contain inline content, alternatively it can contain only block elements but not a mixture.
A list topic or list title or list term or list tag gives something like the heading for the following
li
elements, respectively the following
li
elements define or describe the topic.
In some types of lists the list topic may be inside the li
and it may be only a tag or symbol or number or marginal note like the numbering in law text paragraphs.
It may contain the amount of or for the list items in a recipe or bill. Authors may avoid that there
is no following list item. If there is no list item is following, it is assumed that the list item is empty.
Type: Block
A container for a group of listed containers. This can be used to group li
elements within a list
including lt
,
but can be used independently from list
without
li
elements inside. The second use case
works similarly to the list
element, but the children
are not explicitly mentioned li
or
lt
elements.
li
is replaced with another element, for example for a
list
of authors of the document a creator
element can be used with the element lg
inside with the corresponding number of elements providing the names of the authors.
This is a more weak list indication as the list
element.
The children can be inline elements too.
none, but several formats provide specific grouping elements for specific children.
Type: Block (meta)
Listing of figures in a work, not necessarily really a list.
Type: Block (meta)
Listing of tables in a work, not necessarily really a list.
Type: Block (meta)
List/table of contents.
Type: Block
A block container for text indicating a paragraph. A p
typically consists of a few sentences representing a completed train of thought. A paragraph has
no specific substructure and may not contain other block elements like
p
itself, but it can contain inline elements.
Authors are discouraged to use it as a container for poetry content and may not indicate
it as poetry as well.
Type: Block (meta)
Registry or index of items discussed in a work.
Type: Block (meta)
Source references of a work or parts of it, for example authors of supplemental content like graphics, maybe including license conditions for such supplemental content as well.
Type: Block
A container for tabular content. Note, that for advanced purposes, some specific attributes or styling might be required for tabular content, not defined here. In doubt it can be more useful, to use explicitly another language like XHTML to markup tables.
There are different models for the content of a table
,
common to all are a caption
,
colgroup
and col
.
The simplest model is to have only additional tr
elements.
The next model is to have thead
,
tfoot
, tbody
as children of table additionally and the tr
inside of them.
Type: attribute
The element table
indicates more a technical functionality,
not much about the semantic purpose of a table.
ttype
is a specific attribute of the table
element.
It indicates the type of a table.
If used with the role
approach, a predefined value can
be used with the related CURIE.
Predefined values are:
th
contains a label for some form input elements inside td
.Because this list is not exhaustive, it may be extended in the future. If an author wants to extend it with a currently not existing type, the value has to be a safe CURIE: '[' CURIE ']' pointing to a definition of the type.
Type: Block
A table row. Inside of tr
there are td
or th
.
Type: Block
A table data cell. Due to the complexity of tables, authors may avoid unnecessary complex content inside a
td
.
Type: Block
A table data cell containing header information.
Due to the complexity of tables, authors may avoid unnecessary complex content inside a
th
.
Type: Block
A grouping element for table rows tr
containing header information.
Type: Block
A grouping element for table rows tr
containing footer information.
Type: Block
A grouping element for table rows tr
containing table data.
Type: Block
A structure element to group table columns, see the HTML4 description for details.
Type: Block
A structure element for tables columns, see the HTML4 description for details.
Type: Block
A container for a task within a documentation or tutorial to explain how to do something.
Typical content is a heading and some general explanations or descriptions about the task, followed by an element taskq
containing the task question or challenge to solve. The answer is expected in the following taska
.
task
task
Type: Block
A container for a task question or challenge to solve.
The answer is expected in a following taska
.
taskbody
tasksummary
Type: Block
A container to mention or to reference information one needs to solve the task, the prerequisites.
prereq
taskprerequisites
Type: Block
A container for a task answer.
The content is either the usual flow content including lists.
Alternatively one can construct a specific list structure indicating steps to solve the task using an element tasks
for each step, if applicable followed by a taskr
for the result of the step.
steps
procedure
Type: Block
A container for a task answer step.
A tasks
may contain substeps as well, using more tasks
inside a tasks
.
step
supstep
step
Type: Block
A container for a choice between different possible task answer steps.
A taskc
contains the tasks
to chose between.
choice
Type: Block
A container for a task answer step result.
A taskr
may contain subresults as well, using more taskr
inside a taskr
.
stepresult
Type: Block
A container for a task postrequisites, suggestions what to do after solving the task.
postreq
taskrelated
Type: Block
A container for a task troubleshooting.
It is expected inside task
or task specific subelements
tasktroubleshooting
steptroubleshooting
taskrelated