Technical problem: attribute value normalization.  Runs of whitespace
inside a string are collapsed into a single space, and leading and
trailing spaces are truncated.  In your first example, by the time the
attribute value reaches your application it would be "The" not "The ".
You *might* be able to make it work with

<mainTitle nonSort="The&x20;">Best of times</mainTitle>

Ugly, and error-prone when entering data by hand.

>>> [log in to unmask] 2004-01-22 18:46:47 >>>

As for nonSort, just to be contrary, THAT I would like to see as an
attribute. I'm uneasy with nonSort just floating around amid a bunch
other elements. My definition would limit it to the beginning of the
string. So:

    <mainTitle nonSort="The ">Best of times</mainTitle>
    <subTitle nonSort="an ">essay on entertaining</subTitle>