Rebecca S. Guenther wrote:
> Generally number of illustrations and number of tables would go under
> <physicalDescription><extent>. The extent element is just a string at this
> point.
..
> We will also want to look at the definition of <extent> under <part>,
> which does have some structure (and an attribute "unit"). However,
> using <part> in your situation isn't appropriate, since you're talking
> about the whole and not a part.
>
> We will need to have a full discussion of this, which would result in a
> fairly extensive change to MODS. In the meantime, what you suggest won't
> work, since there is no unit attribute associated with <extent>, so it
> wouldn't validate. (You mentioned using <extend>, but that is not a valid
> MODS element. I think you must have meant <extent>.)
But in http://www.loc.gov/standards/mods/v3/mods-3-2-outline.html#part
it is noted that <extent> has a "unit" attribute. Letting <extent> have
a unit attribut in one place and no unit attribut at another is simply
bad design. You just have to change the definition of <extent> under
<physicalDescription> from
<xsd:element name="extent" type="xsd:string"/>
to
<xsd:element name="extent" type="extentType"/>
like it is defined under <part>.
An article of 12 pages in a journal of 90 pages should be expressed as:
<mods>
<titleInfo><title>ARTICLE</title></titleInfo>
<extent unit="page">
<number>12</number>
</extent>
<relatedItem type="host">
<titleInfo><title>JOURNAL</title></titleInfo>
<extent unit="page">
<number>90</number>
</extent>
</relatedItem>
</mods>
> So in the meantime, if you need this sort of thing you could put something
> structured in <extension> which allows for local elements. And someone
> could put forth a proposal to enhance <extent> for this sort of structure
> in the next version.
Well, until this is fixed in the next version of MODS I better use:
<physicalDescription>
<extent>12 p.</extent>
<extent>5 fig.</extent>
<extent>3 tab.</extent>
</physicalDescription>
You can transform the old syntax to the new with:
<xsl:template match="extent">
<xsl:variable name="unit"
select="substring(substring-after(normalize-space(.),' '),1,1)"/>
<xsl:variable name="value"
select="substring-before(normalize-space(.),' '))"/>
<extent>
<number>
<xsl:choose>
<xsl:when test="$unit = 'p'">
<xsl:attribute name="unit">page</xsl:attribute>
<xsl:value-of select="$value"/>
</xsl:when>
<xsl:when test="$unit = 't'">
<xsl:attribute name="unit">table</xsl:attribute>
<xsl:value-of select="$value"/>
</xsl:when>
<xsl:when test="$unit = 'f' or $unit = 'i'">
<xsl:attribute name="unit">figure</xsl:attribute>
<xsl:value-of select="$value"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>
</number>
</extent>
</xsl:template>
> And someone could put forth a proposal to enhance <extent> for this
> sort of structure in the next version.
Ok. Hereby I declare this a proposal to enhance <extent> in the next
version of MODS. :-)
Greetings,
Jakob
|