Well, uniqueness could be enforced by adding a <xsd:unique> or <xsd:key>
element to the definition of modsType in the schema.  Not to say it
would be a good idea (kind of an unnatural way of doing things), but it
would solve one of your problems while being partially
backwards-compatible.  The XPath expression matching a main title right
now looks like "titleInfo[not(@type)]".

As to whether every record should have a title, <name> and <subject>
can be XLinks.  These could point to MODS records themselves (under the
v3 schema) without <titleInfo> subelements.  If <titleInfo> were
required in <mods>, each <name> or <subject> would have to be in its own
document since a <modsCollection> can only have full MODS records and
not isolated top-level elements as children.  The minimum content model
of a MODS record could be tightened up (as you observed earlier if it
can contain only an empty <note> and be valid it might as well not
contain anything), but it could remain a bit looser than "main entry".


>>> [log in to unmask] 2004-01-22 11:55:45 >>>

I agree that adding "type=main" is not a great solution. I've got only
limited experience with XML schema, but my impression is that if you
have a element that you wish to control (i.e. give a specific
to) or link to, then it needs to be distinguished at the element level
and not at the attribute level.