You did it the way I would have expected it to be. Often the data in
displayForm is in 245$c, but that isn't something you can depend on, since
there is a lot of other information in 245$c (extra text that is, since
it's a transcription of what's on the piece). That's why we didn't use
245$c in the mappings (since it's not really part of the title and there
are fairly complex rules in cataloging rules for how you record what is
called statement of responsibility). If you use a controlled or structured
form of name in MODS name, you would record it as you suggested in
<name>. What you do with displayForm is up to you, since there isn't
really a one-to-one mapping, but what you did may be logical for your
situation.
Rebecca
On Mon, 22 Dec 2003, Andrew E Switala wrote:
> A question: How does <displayForm> fit into this? In the
> <modsCollection> I've been compiling, each person or organization has a
> record, which each work references, and the name as it appears in
> <displayForm>, as in the fictional example:
>
> <mods>
> <titleInfo>
> <title>Names are a pain in the butt</title>
> </titleInfo>
> <name xlink:href="#name.Robert.Smith">
> <role><roleTerm type="code">aut</roleTerm></role>
> <displayForm>Bob Smith</displayForm>
> </name>
> </mods>
> <!-- Somewhere else in the file: -->
> <mods ID="name.Robert.Smith">
> <name type="personal">
> <namePart type="family">Smith</namePart>
> <namePart type="given">Robert</namePart>
> </name>
> <note type="biographical">...</note>
> <!-- and so forth -->
> </mods>
>
> The MODS record with ID="name.Robert.Smith" would have the full <name>
> data and any biographical notes.
> Apparently a transformation would map the <name> element of the
> #name.Robert.Smith record into 100$a, and put Bob Smith in 245$c. Is
> this wrong, then; should my MODS database be restructured so Bob Smith
> goes in <namePart> instead of <displayForm>? (A simple enough task with
> XSLT, but I wanted a librarian's opinion.)
>
> >>> [log in to unmask] 2003-12-20 12:55:49 >>>
> You'll find it at:
>
> http://www.loc.gov/marc/bibliographic/ecbdmain.html
>
> There are plenty of examples that cover all kinds of common and
> obscure
> cases.
>
> The one thing that might need clarification is the $q, as in:
> 100 1#$aGresham, G. A.$q(Geoffrey Austin)
>
> The $q is part of the library cataloging rules and expands from the
> way
> an author's name appears on a title page to the full name. I don't
> think
> that any appliations other than library catalogs will carry the
> information that is in the $q so everyone else can probably ignore it.
>
> kc
>
> On Sat, 2003-12-20 at 08:39, Bruce D'Arcus wrote:
> > Since I'm big on parsing out data where possible, and MARC/MARCXML
> does
> > not parses names, I came up with the following XSLT 2 stylesheet to
> do
> > this. Currently it will only handle a name of the form "Family,
> > Given." Can someone give some more info on how coding of names is
> > handled in MARC? For example, what about terms of address, things
> like
> > Jr, II, etc.?
> >
> > <xsl:stylesheet version="1.0"
> > xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> > <xsl:strip-space elements="*"/>
> > <xsl:output method="xml" indent="yes"/>
> >
> > <xsl:template match="name">
> > <xsl:choose>
> > <xsl:when test="@type='personal'">
> > <name type="personal">
> > <xsl:apply-templates/>
> > </name>
> > </xsl:when>
> > <xsl:when test="@type='corporate'">
> > <name type="corporate">
> > <xsl:apply-templates/>
> > </name>
> > </xsl:when>
> > <xsl:when test="@type='conference'">
> > <name type="conference">
> > <xsl:apply-templates/>
> > </name>
> > </xsl:when>
> > <xsl:otherwise>
> > <name>
> > <xsl:apply-templates/>
> > </name>
> > </xsl:otherwise>
> > </xsl:choose>
> > </xsl:template>
> >
> > <xsl:template match="namePart">
> > <xsl:variable name="elValue" select="."/>
> >
> > <xsl:analyze-string select="$elValue"
> regex="\s*(.*)\s*,\s*(.*)\s*">
> >
> > <xsl:matching-substring>
> > <namePart type="given"><xsl:value-of
> > select="regex-group(2)"/></namePart>
> > <namePart type="family"><xsl:value-of
> > select="regex-group(1)"/></namePart>
> > </xsl:matching-substring>
> >
> > <xsl:non-matching-substring>
> > <namePart>
> > <xsl:value-of select="$elValue"/>
> > </namePart>
> > </xsl:non-matching-substring>
> >
> > </xsl:analyze-string>
> >
> > </xsl:template>
> > </xsl:stylesheet>
> --
> -------------------------------------
> Karen Coyle
> Digital Library Specialist
> http://www.kcoyle.net
> Ph: 510-540-7596 Fax: 510-848-3913
> --------------------------------------
>
|