Thanks for sticking with this Wendell! However, and maybe I'm being
dense, if I look at this:
On Sep 13, 2004, at 5:35 PM, Wendell Piez wrote:
Unless you have mods:titleInfo elements somewhere in your input
(either in the source file or in a configuration) ... no.
Select the config template and perform the mapping you want:
<xsl:template
match="cs:title[parent::reftype/@name='book' and
ancestor::bibliography/@author-as-sort-order='yes'>
<mods:titleInfo>
Creates whatever output you want for this kind of title here;
make generic, if you like, by including values of @after and
so forth in place of literals....
</mods:titleInfo>
</xsl:template>
I don't think this is what I'm looking for. I don't need to create the
mods:titleInfo output; I need to process the mods:titleInfo element
that is already there in my input source.
input --> file.xsl <-- config
|
|
v
output
So, you have the right config file structure below, but let me add an
additional element to illustrate.
where the node you are matching is in your config file:
<bibliography author-as-sort-order="yes">
<entry>
<reftype name="book">
<title font-style="italic" after=", "/>
<creator/>
</reftype>
</entry>
</bibliography>
A minimal input document then could be:
<doc>
<mods xmlns="http://www.loc.gov/mods/v3">
<name type="personal">
<namePart type="given">Jane</namePart>
<namePart type="family">Doe</namePart>
</name>
<titleInfo>
<title>Main Title</title>
<subTitle>Subtitle</subTitle>
</titleInfo>
</mods>
</doc>
Note, then, that order of elements in the input file is different than
that specified in the config file, which is saying output should be:
Main Title: Subtitle, Jane Doe
<xsl:template match="cs:title">
<xsl:apply-templates select="//mods:titleInfo" mode="bib"/>
</xsl:template>
...
<xsl:template match="mods:titleInfo" mode="bib">
<span class="title">
<xsl:apply-templates/>
</span>
</xsl:template>
This won't work because that second template is not a mods:titleInfo
element, and it won't ever be processed as such. It will only be
applied if a mods:titleInfo node somewhere is selected (in mode
'bib'). (You could select a node from the stylesheet itself for
processing, but any node addressed as "//mods:titleInfo" is going to
be in the primary source; plus it's got the wrong name.)
Why "wrong name"?
Bruce