6.8. Index terms

Creating index terms by hand (other than copying an index term to paste it elsewhere) is tedious and error prone. It's strongly recommended to use the specialized dialog box of XMLmind XHTML Editor (or its superset, XMLmind XML Editor) to do that.

Figure 6-1. The "Edit index term" dialog box of XMLmind XML Editor
The "Edit index term" dialog box of XMLmind XML Editor

An index term is represented by a a element having attribute class="role-index-term" containing text —the primary word or phrase in an index term— and possibly nested span elements having the following roles: "role-term", "role-see", "role-see-also".

index_term -> end_of_range | term

end_of_range -> <a class="role-index-term" data-end-range="range_name"/>

term -> <a class="role-index-term" term_attributes>term_content</a>

term_attributes -> [ data-sort-as="text" ]? 
                   [ data-start-range="range_name" ]?

term_content -> rich_text term_childs

term_childs -> [ sub_term ]? | [ see ]* | [ see_also ]*

sub_term -> <span class="role-term" term_attributes>term_content</span>

see -> <span class="role-see">see_content</span>

see_also -> <span class="role-see-also">see_content</span>

see_content -> rich_text see_child

see_child -> [ <span class="role-term">rich_text see_child</span> ]?

In the above grammar: