Hi, Have you tried defining $langCodes like... <xsl:variable name="langCodes" select="marc:subfield[@code='a'or @code='d' or @code='e' or @code='2']"/> <xsl:copy-of> generates a result tree fragment, which is not amenable to further processing in vanilla XSLT 1.0. Several processors have extensions to operate on result tree fragments; Saxon may, but I've never used its extensions so I wouldn't know for certain. --Andy >>> [log in to unmask] 2004-03-02 13:30:11 >>> 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/ ************************************************************************ **************