Hi Bruce,
At 03:30 PM 9/15/2004, you wrote:
MODS doesn't really have explicit typing, so the function does the
typing. It says, in really simplistic terms, if the record has two titles
and is issued once, it's a chapter; if only one title, it's a book. That
way, even those things that aren't technically chapters or books but have
the same characteristics get formatted fairly accurately.
This strikes me as strange, since I'd hardly think machine heuristics could
be trusted to decide what a thing "is"; but if that's the way MODS works
and if formatting is in actuality more an expression of the structure of
the record than of the ontological status of what it refers to, I suppose
I'm not one to complain.... :->
I'm not really sure the implications of that for the templates; it sounds
like you're suggesting it'd be easiest to have a fixed list of "types" and
have a bunch of templates like the below, where mods:type is created in
the temporary tree?
<xsl:template match="mods:mods[mods:type='book']">
If your mods data is created in a temporary tree and you can provide this,
yes certainly, it would do nicely.
(Of course in the XSLT you might just match on mods:mods, and that @type
would be used only for the dynamic delegation of logic to the appropriate
configuration node.)
As for a fixed list of types, I think that's more or less inevitable,
though certainly the list can and should be extensible, and a fallback
"catchall" type should also be available for when data coming in
corresponds to no known type at all.
Regards,
Wendell
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================