Sorting
Processors can be configured to sort elements. Typical processing includes sorting glossary entries, index entries, list items, and tables based on the contents of cells in specific columns or rows.
Each element to be sorted must have some inherent text on which it will be sorted. This text is
the base sort phrase for the element. For elements that have titles, the base sort
phrase usually is the content of the <title>
element. For elements that do
not have titles, the base sort phrase might be literal content in the DITA source, or it might be
generated or constructed based on the semantics of the element involved; for example, it could be
constructed from various attribute or metadata values.
Processors that perform sorting SHOULD explicitly document how the base sort phrase is determined for a given element.
The <sort-as>
element can be used to specify an effective sort phrase
when the base sort phrase is not appropriate for sorting. For index terms, the
<sort-as>
element specifies the effective sort phrase for an index
entry.
The details of sorting and grouping are implementation specific.
Processors might provide different mechanisms for defining or
configuring collation and grouping details. Even where the
<sort-as>
element is specified, two
processors might produce different sorted and grouped results because
they might use different collation and grouping rules. For example,
one processor might be configured to sort English terms before
non-English terms, while another might be configured to sort them
after.
When a <sort-as>
element is specified, processors
that sort the containing element MUST construct the
effective sort phrase by prepending the content of the <sort-as>
element to the base sort phrase. This ensures that two items with the same
<sort-as>
element but different base sort phrases will sort in
the appropriate order.
For example, if a processor uses the content of the
<title>
element as the base sort phrase, and the title of a topic
is "24 Hour Support Hotline" and the value of the <sort-as>
element
is "twenty-four hour", then the effective sort phrase would be "twenty-four hour24 Hour
Support Hotline".