[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [DITA 1.2] Feature request: generic collation element
Allow any element to override its collation value
Longer description
The index-sort-as element gives indexterms the ability
to override how the index term is treated when alphabetically sorting the
generated index. This is useful for non-alphabetic terms:
<indexterm>1927<index-sort-as>Nineteen
Twenty-Seven</index-sort-as></indexterm>
It is also crucial for languages such as Japanese where
there is not a one-to-one relationship between orthography and pronunciation.
This proposal suggests a similar mechanism for elements
other than indexterm, for other situations when a processor performs sorting
or indexing or collation. The suggested name for the element is collate-as.
Examples of markup:
Trivial. Can be done as a specialization of data, which is in almost every elements' content model. May benefit from a DITA 1.2 proposal which limits specializations to certain elements.
Use Case
Any case where processing auto-generates or re-orders items based on those items' string values. Here are two examples.
Alphabetization of glossary entries
Glossaries are usually sorted based on their title. When
the title cannot indicate where the entry should appear in the glossary,
use collate-as:
<glossentry>
<title>100 Years' War<collate-as>Hundred Years War</collate-as></title>
<glossdef>A conflict between England and France in the Middle
Ages.</glossdef>
</glossentry>
Sorting lists and tables
When a list or table is long, authors may want to keep
its entries in alphabetical order. This is easy until the list or table
contains items brought in by conref. A specialized processor could handle
the sorting, with collate-as indicating how the item is to be alphabetized:
<ul-sorted>
<li>Pink Floyd</li>
<li>U2</li>
<li conref="sometopic.xml#topicid/someartist"/>
<li>Alan Parsons<collate-as>Parsons, Alan</collate-as></li>
<li>The Alan Parsons Project<collate-as>Parsons, Alan</collate-as></li>
<li conref="someothertopic.xml#topicid/someotherartist"/>
<!-- Hundreds more here. -->
</ul-sorted>
Technical Requirements
If implemented as a specialization, new DTD/Schema files and alterations to the topic shells. Toolkit implementations need to ignore the collate-as element (which they do for data anyway) except where they are looking for the collation value of an element.
Costs
Toolkits which use strings for collation purposes need to compare the contents of collate-as instead of its container element where it exists. XSLT for this is a simple change.
Benefits
Toolkits will be able to correctly sort glossaries with unusual titles. Japanese users will get more benefit from this feature than others. The index-sort-as element may be unifiable with collate-as.
Time Required
1 day to create specialization. 1 day to document.
--
Deborah Pickett
Deborah_Pickett@moldflow.com
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]