I've copied your text below and inserted my comments. Thanks for getting this start-- we will work on developing this into a mapping that we can put up. I do think there are other DC qualified elements that MODS elements will map to. Perhaps for now we should stick to simple DC, since I didn't think this was complete in terms of qualified, i.e. dcterms: MODS to Dublin Core Mapping By Dublin Core Element, from MODS Element Title: //mods/titleInfo/title - A conditional IF statement is included to catch <titleInfo><subTitle> and append it to the title, separated by colon space (: ). RG: You need to deal with multiple titles and alternative titles. Karen has already mentioned this and I agree-they need to be kept in order and all be strung together in DC. I would also string together the other pieces (see below). Creator: //mods/name/namePart - when //mods/name/role[. = 'creator'] //mods/recordInfo/recordContentSource RG: DC does not deal with "metametadata" and the second one is not appropriate at all; this is creator of the record. Subject: //mods/subject/topic //mods/subject/name //mods/subject/titleInfo/title RG: MODS subject can have any number of subelements in any order, so the DC value should concatenate them all in one string retaining the order. Punctuation between them is an issue; if the authority is LCSH, then you can assume double dashes between each subelement. Description: //mods/abstract //mods/tableOfContents //mods/note //mods/subject/name<description> RG: I wouldn't include subject/name<description>. Description associated with subject/name cannot really exist on its own. I would probably drop it (and of course put the subject/name with Subject or just append it to subject name. Publisher: //mods/originInfo/publisher //mods/publicationInfo/publisher - to accommodate earlier encoding practices; this usage is outdated Contributor: //mods/name/namePart - when //mods/name/role/text[. = 'contributor'] RG: There are a few ways to do this; it's difficult to map because of the distinction in DC between Creator and Contributor. There has been much discussion (especially in the DC-Usage Board) about using only Contributor and not Creator, but some people got upset, so that was left open. One way to do this is to to use Contributor for any name/namePart with a role other than creator specified. The other way is to decide to map all name/nameParts to Creator and not use contributor. I would think that the role with value "contributor" would almost never be used, since it doesn't add anything. If this were done as you suggest, then there would be no place for anything that doesn't have role=creator or role=contributor in MODS. And most probably will have something other than these 2 (or nothing). Date: Mapped from: //mods/originInfo/dateIssued //mods/originInfo/dateCreated //mods/originInfo/dateCaptured //mods/originInfo/dateOther //mods/publicationInfo/dateIssued - to accommodate earlier encoding practices; this usage is outdated Type: //mods/typeOfResource //mods/genre Format: //mods/physicalDescription/extent //mods/physicalDescription/form //mods/physicalDescription/internetMediaType //mods/physicalDescription/digitalOrigin //mods/physicalDescription/note RG: I would put physicalDescription/note in Description. Not sure that there's a good place for digitalOrigin; could cram it in either here or note. Identifier: //mods/identifier - If @TYPE= '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&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. RG: Since MODS 3.0 now makes a distinction between identifier and location, <location><url> needs to map to DC identifier. URI usually doesn't precede the data, so I'm not sure that this helps as you specify above. Source: //mods/relatedItem[@TYPE='original'] Language: //mods/language Relation: //mods/relatedItem - except when relatedItem[(@TYPE='original') or (@TYPE='series')] Coverage: Mapped from: //mods/subject/geographic //mods/subject/temporal //mods/subject/hierarchicalGeographic //mods/subject/cartographic //mods/classification The hierarchicalGeographic and cartographic nodes are flattened so that repeating values as well as sub-elements (and their children) are strung into one element. RG: why classification?? Classification goes under Subject in DC. Rights: //mods/accessCondition DCTerms:Abstract: //mods/abstract - this data is also mapped (see above) into Description, so that data is not lost in Unqualified Dublin Core. DCTerms:Created //mods/recordInfo/recordCreationDate. This is also mapped to Date, so that data is not lost in Unqualified Dublin Core. RG: no, this is metadata about the record, and dc:created is about the resource. Same as mods:dateCreated DCTerms:Modified //mods/recordInfo/recordChangeDate. This is also mapped to Date, so that data is not lost in Unqualified Dublin Core. RG: same thing; dc:modified is the date the resource was modified, not the metadata. Same as mods:dateModified (v. 3) DCTerms:isPartOf //mods/relatedItem - when //mods/relatedItem[@TYPE='series']. This is also mapped to Relation, so that data is not lost in Unqualified Dublin Core. RG: Also, mods/relatedItem type=host There are other DC qualified elements that have mappings (especially under relation). By MODS Element, to Dublin Core Element ELEMENT MAPPED TO //mods/titleInfo/title title //mods/titleInfo/subTitle title //mods/titleInfo/partNumber ignored RG: I would concatenate with the rest of the title information. //mods/titleInfo/partName ignored RG: same as above. (Left off the rest, since already covered above.) Rebecca