[osis-core] Proposed <index> syntax

Harry Plantinga osis-core@bibletechnologieswg.org
Wed, 3 Jul 2002 11:00:43 -0400


Sounds good to me.

-Harry

----- Original Message -----
From: "Patrick Durusau" <pdurusau@emory.edu>
To: "osis-core" <osis-core@bibletechnologieswg.org>
Sent: Wednesday, July 03, 2002 6:57 AM
Subject: [osis-core] Proposed <index> syntax


> Harry,
>
> After thinking about the <index> element some more, I think you are
> correct in saying that the intended semantics of TEI for:
>
> <index index="subject" level1="Job" level2="theodicy" level3="parallel
>  literature" level4="Babylonian sufferer">
>
> is:
>
> Job
>   theodicy
>     parallel literature
>       Babylonian sufferer [id]
>
> by careful use of the level1 - level4 terms, the index is essentially
> built before ever finishing the work, being mindful that some sorting
> would have to be done by the application in generating the final index.
>
> To have separate index entries (and I think we need to document this)
> one would simply make a separate <index> entry along side the first one.
>
> See and See also:
>
> Like the idea of the see attribute, that is a string that should (would
> not make much sense otherwise) correspond to a level1 entry (in a print
> index, could not find level2, etc., without knowing the level1), but
> that is a requirement we can make in prose.
>
> Have been going back and forth over more than one level of see and
> related issues. Think one see, attached to level1 is probably enough. If
> you need to make other see entries for other levels of the index, they
> are probably not related to a particular point in the text and can be
> inserted as part of the processing of the index itself.
>
> So, proposed syntax (for the release tonight!):
>
> <xs:element name="index">
> <xs:annotation>
> <xs:documentation>
> <p>The &lt;index&gt; element is an empty element that is used to mark
> index locations in a text. It follows the TEI Guidelines in most respects,
with the addition of a
> &quot;see&quot; attribute which is explained below. Note that the level
attributes (level1 - level4)
> correspond to a main entry (level1) and nested entries under that entry.
Thus, the levels link the
> attribute values together in hierarchy of topics. If you want a separate
index entry for a particular
> location, use another index element.</p>
>                                  <p>The &quot;see&quot: attribute was
added to the TEI syntax to enable
> the recording of a see or see also entry in the index. The value of that
attribute should be a level1
> entry that occurs in the document instance. Automatic processing should
generate a link to the appropriate
>  location in the text but use of the string provides a useful fallback to
the user by specifying the index
>  entry that should be a pointer to the appropriate location.</p>
>                           <p>If it is desired to have see or see also
entries at other levels of the
> index, separate index tags should be inserted with the appropriate see
attributes.</p>
>                                   <p>Examples:
> Standard usage of this element:
>
> &lt;index id=&quot;1234&quot; index=&quot;subject&quot;
key1=&quot;Job&quot; key2=&quot;theodicy&quot; key3=&quot;parallel
>  literature&quot; key4=&quot;Babylonian sufferer&quot;
see=&quot;Suffering - Theodicy&quot;/&gt;
>
> would result in an entry in the subject index that looks like this:
>
> Job
>   theodicy
>     parallel literature
>       Babylonian sufferer (pointer to location in text [id])
> see: Suffering - Theodicy</p>
> </xs:documentation>
> </xs:annotation>
>     <xs:complexType>
>                 <xs:attribute name="index" type="xs:string"
use="required"/>
>                 <xs:attribute name="level1" type="xs:string"
use="required"/>
>                 <xs:attribute name="level2" type="xs:string"
use="optional"/>
>                 <xs:attribute name="level3" type="xs:string"
use="optional"/>
>                 <xs:attribute name="level4" type="xs:string"
use="optional"/>
>                 <xs:attribute name="see" type="xs:string" use="optional"/>
> <xs:attributeGroup ref="globalAttributes"/>
> <xs:attribute name="TEIform" fixed="index"/>
>     </xs:complexType>
> </xs:element>
>
> Does this complete the index element discussion?
>
> Thanks!
>
> Patrick
>
> --
> Patrick Durusau
> Director of Research and Development
> Society of Biblical Literature
> pdurusau@emory.edu
>