I am new to this list and may have missed any previous discussions on this topic, so forgive me if I am rehashing old news.

We have been developing a MODS to Dublin Core mapping (using XSLT) to process our METS (in XML) records.  We will be using the resultant DC for indexing purposes.

My question is, has anyone else done a mapping like this?  I looked around and could not find any examples, so I ended up using the DC to MODS mapping as a foundation to build from.
I have pasted below an overview of the mapping for review.  How does it look?

Paul Fogel
California Digital Library
[log in to unmask]

MODS to Dublin Core Mapping Documentation
By Dublin Core Element, from MODS Element
This is mapped from the <titleInfo><title> field.  A conditional IF statement is included to catch <titleInfo><subTitle> and append it to the title, separated by colon space (: ).

This is mapped from <name><namePart> when <name><role>creator</role>.  A mapping is also made from the <recordInfo><recordContentSource> element

This is mapped for each occurrence of:
       <name><namePart> - A condition is included so that if <name> contains multiple <namePart> elements, they are concatenated using a space ( ) as a separator.

This is mapped for all occurrences from:

Mapped from:
       <publicationInfo><publisher> (to accommodate early UCPEE encoding practices - this usage is outdated)

Mapped from <name><namePart> only when <name><role><text>contributor</text>.

Mapped from:
       <publicationInfo><dateIssued> (as per Publisher above)

Mapped from <typeOfResource> and <genre>.

Mapped from:

Mapped from <identifier>.  If the element has a TYPE attribute equal to "isbn", "issn", "lccn", "doi" or "uri", then this value precedes the data, separated by colon space.  Example: 
<identifier>uri: http://www.ucpress.edu/books/pages/6178.html&amp;isbn=0520081994</identifier>
If there is no TYPE attribute, or if it is not set to one of these values, the data is mapped without qualification.

Mapped from <relatedItem> only when the attribute TYPE is equal to "original".

Mapped from <language>.

Mapped from <relatedItem> for all occurrences except for those in which the TYPE attribute is equal to "original" (Source, above) or "series" (isPartOf, below).

Mapped from:
The <hierarchicalGeographic> and <cartographic> nodes are flattened so that repeating values as well as sub-elements (and their children) are strung into one element.

Mapped from <accessCondition>.

Mapped from <abstract> - this data is also mapped (see above) into Description so that Unqualified Dublin Core can be extracted without loss.

Mapped from <recordInfo><recordCreationDate>.  This is also mapped to Date, so that data is not lost in Unqualified Dublin Core.

Mapped from <recordInfo><recordChangeDate>.  This is also mapped to Date, so that data is not lost in Unqualified Dublin Core.

Mapped from <relatedItem> only when the TYPE attribute is equal to "series".  This is also mapped to Relation, so that data is not lost in Unqualified Dublin Core.

By MODS Element, from Dublin Core Element

ELEMENT MAPPED TO               
<titleInfo><title>      Title
<titleInfo><subTitle>   Title, if occurs
<titleInfo><partNumber> ignored
<titleInfo><partName>   ignored
<titleInfo><nonSort>    ignored

<name><namePart>        Creator, Subject, Contributor
<name><displayForm>     ignored
<name><affiliation>     ignored
<name><role>    Used to assign Creator & Contributor, otherwise ignored.
<name><description>     Description

<typeOfResource>        Type

<genre> Type

<originInfo><place>     Coverage
<originInfo><publisher> Publisher
<originInfo><dateIssued>        Date
<originInfo><dateCreated>       Date, DCTerms:Created
<originInfo><dateCaptured>      Date
<originInfo><dateOther> Date
<originInfo><edition>   ignored
<originInfo><issuance>  ignored
<originInfo><frequency> ignored

<language>      Language

<physicalDescription><form>     Format
<physicalDescription><reformattingQuality>      ignored
<physicalDescription><internetMediaType>        Format
<physicalDescription><extent>   Format
<physicalDescription><digitalOrigin>    Format
<physicalDescription><note>     Format

<abstract>      Description, DCTerms:Absctract

<tableOfContents>       Description

<targetAudience ignored

<note>  Description

<subject><topic>        Subject
<subject><geographical> Coverage
<subject><temporal>     Coverage
<subject><titleInfo><title>     Subject
(other subelements for titleInfo ignored)
<subject><name><description>    Subject
(other subelements for name ignored)
<subject><hierarchicalGeographic>       Coverage
(subelements "flattened" to appear in one string)
<subject><cartographics>        Coverage
(subelements "flattened" to appear in one string)

<classification>        Coverage

<relatedItem>   Source (if type="original")
        DCTerms:IsPartOf (if type="series")
        Relation (for all other types)
(subelements "flattened" to appear in one string)

<identifier>    Identifier
(if type is issn, isbn, lccn, uri, or doi, it is applied at beginning of data string; otherwise data is applied as is)
Ex. <dc:identifier>isbn: 0123456789</dc:identifier>

<location>      Ignored

<accessCondition>       Rights

<extension>     Ignored

<recordInfo><recordContentSource>       Creator, Publisher
<recordInfo><recordCreationDate>        DCTerms:Created
<recordInfo><recordChangeDate>  DCTerms:Modified
<recordInfo><recordIdentifier>  Ignored
<recordInfo><languageOfCataloging>      Ignored