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
--------------------------------------
|