I had a quick question regarding the use of the new MODS3 xslt with Microsoft's MSXML4 parser. I use the MODS format to store data in an internal SQL database, so when the v3 sheet was made available, I started looking to change the processing scripts. The problem that I'm running into though, is that the MSXML parser seems to believe that the following section is not valid (or at least, won't allow stylesheet to be set as long as this section is present). I've marked the affected section in red:
<xsl:for-each
select="marc:datafield[@tag=041]">
<xsl:variable name="langCodes">
<xsl:copy-of select="marc:subfield[@code='a'or @code='d' or @code='e'
or @code='2']"/>
</xsl:variable>
<xsl:choose>
<--XSL:WHEN TEST STOPPING THE MSXML TRANSFORMATION-->
<xsl:when test="$langCodes/child::*[@code='2']='rfc3066'">
....
</xsl:choose>
</xsl:for-each>
To get the stylesheet to work with the msxml4 parser, I simply had to do the following:
<xsl:for-each
select="marc:datafield[@tag=041]">
<xsl:variable name="langCodes">
<xsl:copy-of select="marc:subfield[@code='a'or @code='d' or @code='e'
or @code='2']"/>
</xsl:variable>
<xsl:choose>
<!--<xsl:when
test="$langCodes/child::*[@code='2']='rfc3066'">-->
<xsl:when
test="../marc:subfield[@code='2']='rfc3066'">
....
</xsl:choose>
</xsl:for-each>
Since the stylesheet has worked with SAXON, I'm assuming that this is a MSXML issue and just wanted to see if others may have had similar experiences.
--Terry
***************************************************************************************
Terry
Reese
Oregon State University Libraries
Cataloger for Networked Resources
Digital Production Unit Head
Oregon State University
Corvallis,
Or 97331
Phone: 541-737-6384
Fax:
541-737-8267
[log in to unmask]
http://oregonstate.edu/~reeset/
**************************************************************************************