Hi MODS folks,

A related entry may have its own record in a MODS infoset, so that the
<relatedItem> element referring to it needs no content, or at most
<part> elements.  For example, a record for a journal article might have
the subelement...

<relatedItem type="host" xlink:href="#issn0000-0000">
        <detail type="volume">5</detail>
        <extent unit="pages">

...where the journal title, publication information, etc would be
understood to come from the <mods> record in the same file with
attribute ID="issn0000-0000".

Since <relatedItem> is derived from <mods>, however, the example is not
schema valid (because <mods> has to have at least one top-level
subelement).  I've been using an empty <note/> element as filler, but
perhaps the content model of <relatedItem> could be changed.  One way is
to put the content of <mods> in a group and define both <mods> and
<relatedItem> in terms of this group (example below), but then the
"is-a" relationship of <relatedItem> to <mods> is lost.  I'm not enough
of a schema hacker to know if there's a better approach.


        <xsd:group name="modsContent">
                        <xsd:element ref="titleInfo"/>
                        <xsd:element ref="name"/>
                        <xsd:element ref="typeOfResource"/>
                        <xsd:element ref="genre"/>
                        <xsd:element ref="originInfo"/>
                        <xsd:element ref="language"/>
                        <xsd:element ref="physicalDescription"/>
                        <xsd:element ref="abstract">
                        <xsd:element ref="tableOfContents">
                        <xsd:element ref="targetAudience"/>
                        <xsd:element ref="note"/>
                        <xsd:element ref="subject"/>
                        <xsd:element ref="classification"/>
                        <xsd:element ref="relatedItem"/>
                        <xsd:element ref="identifier"/>
                        <xsd:element ref="location">
                                        <xsd:documentation>852 $a $b $j
                        <xsd:element ref="accessCondition">
                        <xsd:element name="extension"
                        <xsd:element ref="recordInfo"/>

        <xsd:complexType name="modsType">
                <xsd:group ref="modsContent" maxOccurs="unbounded"/>
                <xsd:attribute name="ID" type="xsd:ID" use="optional"/>
                <xsd:attribute name="version">
                                <xsd:restriction base="xsd:string">
                                        <xsd:enumeration value="3.0"/>

        <xsd:complexType name="relatedItemType">
                        <xsd:group ref="modsContent" minOccurs="0"
                        <xsd:element name="part" type="partType"
minOccurs="0" maxOccurs="unbounded"/>
                <!-- Attributes omitted for clarity -->