--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<xsl:stylesheet version="1.0" xmlns:marc="http://www.loc.gov/MARC21/slim" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="marc">\r
+ <xsl:import href="MARC21slimUtils.xsl"/>\r
+ <xsl:output method="xml" encoding="UTF-8" indent="yes"/>\r
+\r
+<xsl:template match="/">\r
+ <metadata>\r
+ <xsl:apply-templates/>\r
+ </metadata>\r
+</xsl:template>\r
+\r
+ <xsl:template match="marc:record">\r
+ <idinfo>\r
+ <citation>\r
+ <citeinfo>\r
+\r
+ <xsl:if test="marc:datafield[@tag=100]/marc:subfield[@code='a']!=''">\r
+ <origin><xsl:value-of select="marc:datafield[@tag=100]/marc:subfield[@code='a']" /></origin>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="marc:datafield[@tag=110]/marc:subfield[@code='a']!=''">\r
+ <origin><xsl:value-of select="marc:datafield[@tag=110]/marc:subfield[@code='a']" /></origin>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="marc:datafield[@tag=111]/marc:subfield[@code='a']!=''">\r
+ <origin><xsl:value-of select="marc:datafield[@tag=111]/marc:subfield[@code='a']" /></origin>\r
+ </xsl:if>\r
+\r
+ <pubdate><xsl:value-of select="marc:datafield[@tag=260]/marc:subfield[@code='c']" /></pubdate>\r
+ <pubtime><xsl:value-of select="marc:datafield[@tag=260]/marc:subfield[@code='c']" /></pubtime>\r
+\r
+ <title><xsl:value-of select="marc:datafield[@tag=245]/marc:subfield[@code='a']" /></title>\r
+\r
+ <edition><xsl:value-of select="marc:datafield[@tag=250]/marc:subfield[@code='a']" /></edition>\r
+\r
+ <pubinfo>\r
+ <pubplace><xsl:value-of select="marc:datafield[@tag=260]/marc:subfield[@code='a']" /></pubplace>\r
+ <publish><xsl:value-of select="marc:datafield[@tag=260]/marc:subfield[@code='b']" /></publish>\r
+ </pubinfo>\r
+\r
+ <xsl:for-each select="marc:datafield[@tag=500]">\r
+ <othercit><xsl:value-of select="marc:subfield[@code='a']" /></othercit>\r
+ </xsl:for-each>\r
+\r
+ <xsl:for-each select="marc:datafield[@tag=856]">\r
+ <onlink><xsl:value-of select="marc:subfield[@code='u']" /></onlink>\r
+ </xsl:for-each>\r
+\r
+ </citeinfo>\r
+ </citation>\r
+ <descript>\r
+ <xsl:for-each select="marc:datafield[@tag=520]">\r
+ <abstract><xsl:value-of select="marc:subfield[@code='a']" /></abstract>\r
+ </xsl:for-each>\r
+ </descript>\r
+ <timeperd>\r
+ </timeperd>\r
+ <status>\r
+ <update><xsl:value-of select="marc:datafield[@tag=310]/marc:subfield[@code='c']" /></update>\r
+\r
+ <xsl:for-each select="marc:datafield[@tag=583]">\r
+ <progress><xsl:value-of select="marc:subfield[@code='a']" /></progress>\r
+ </xsl:for-each>\r
+\r
+ </status>\r
+ <spdom>\r
+ <bounding>\r
+ <westbc><xsl:value-of select="marc:datafield[@tag=034]/marc:subfield[@code='d']" /></westbc>\r
+ <eastbc><xsl:value-of select="marc:datafield[@tag=034]/marc:subfield[@code='e']" /></eastbc>\r
+ <northbc><xsl:value-of select="marc:datafield[@tag=034]/marc:subfield[@code='f']" /></northbc>\r
+ <southbc><xsl:value-of select="marc:datafield[@tag=034]/marc:subfield[@code='g']" /></southbc>\r
+ </bounding>\r
+ <dsgpoly>\r
+ <dsgpolyo>\r
+ <grngpoin>\r
+ <gringlat><xsl:value-of select="marc:datafield[@tag=034]/marc:subfield[@code='s']" /></gringlat>\r
+ <gringlon><xsl:value-of select="marc:datafield[@tag=034]/marc:subfield[@code='t']" /></gringlon>\r
+ </grngpoin>\r
+ </dsgpolyo>\r
+ </dsgpoly>\r
+ </spdom>\r
+ <keywords>\r
+ <xsl:for-each select="marc:datafield[@tag=650]">\r
+ <theme>\r
+ <themekt><xsl:value-of select="marc:subfield[@code='2']" /></themekt>\r
+ <themekey><xsl:value-of select="marc:subfield[@code='a']" /></themekey>\r
+ </theme>\r
+ </xsl:for-each>\r
+\r
+ <xsl:for-each select="marc:datafield[@tag=651]">\r
+ <place>\r
+ <placekt><xsl:value-of select="marc:subfield[@code='2']" /></placekt>\r
+ <placekey><xsl:value-of select="marc:subfield[@code='a']" /></placekey>\r
+ </place>\r
+ </xsl:for-each>\r
+\r
+\r
+ </keywords>\r
+\r
+ <xsl:for-each select="marc:datafield[@tag=506]">\r
+ <acconst><xsl:value-of select="marc:subfield[@code='a']" /></acconst>\r
+ </xsl:for-each>\r
+\r
+ <xsl:for-each select="marc:datafield[@tag=540]">\r
+ <useconst><xsl:value-of select="marc:subfield[@code='a']" /></useconst>\r
+ </xsl:for-each>\r
+\r
+\r
+ <xsl:for-each select="marc:datafield[@tag=856]">\r
+ <browse>\r
+ <browsen><xsl:value-of select="marc:subfield[@code='f']" /></browsen>\r
+ <browsed><xsl:value-of select="marc:subfield[@code='z']" /></browsed>\r
+ </browse>\r
+ </xsl:for-each>\r
+\r
+ <xsl:for-each select="marc:datafield[@tag=700]|marc:datafield[@tag=710]|marc:datafield[@tag=711]">\r
+ <datacred><xsl:value-of select="marc:subfield[@code='a']" /></datacred>\r
+ </xsl:for-each>\r
+\r
+ <xsl:for-each select="marc:datafield[@tag=355]">\r
+ <secinfo>\r
+ <secsys><xsl:value-of select="marc:subfield[@code='e']" /></secsys>\r
+ <secclass><xsl:value-of select="marc:subfield[@code='a']" /></secclass>\r
+ <sechandl><xsl:value-of select="marc:subfield[@code='b']" /></sechandl>\r
+ </secinfo>\r
+ </xsl:for-each>\r
+\r
+ <xsl:for-each select="marc:datafield[@tag=538]">\r
+ <native><xsl:value-of select="marc:subfield[@code='a']" /></native>\r
+ </xsl:for-each>\r
+\r
+ <crossref>\r
+ </crossref>\r
+\r
+ </idinfo>\r
+\r
+ <dataqual>\r
+ <attracc>\r
+ <attraccr><xsl:value-of select="marc:datafield[@tag=514]/marc:subfield[@code='a']" /></attraccr>\r
+ <qattracc>\r
+ <attraccv><xsl:value-of select="marc:datafield[@tag=514]/marc:subfield[@code='b']" /></attraccv>\r
+ <attracce><xsl:value-of select="marc:datafield[@tag=514]/marc:subfield[@code='c']" /></attracce>\r
+ </qattracc>\r
+ </attracc>\r
+\r
+\r
+\r
+ <logic><xsl:value-of select="marc:datafield[@tag=514]/marc:subfield[@code='d']" /></logic>\r
+ <complete><xsl:value-of select="marc:datafield[@tag=514]/marc:subfield[@code='e']" /></complete>\r
+\r
+ <posacc>\r
+ <horizpa><xsl:value-of select="marc:datafield[@tag=514]/marc:subfield[@code='f']" /></horizpa>\r
+ <qhorizpa>\r
+ <horizpav><xsl:value-of select="marc:datafield[@tag=514]/marc:subfield[@code='g']" /></horizpav>\r
+ <horizpae><xsl:value-of select="marc:datafield[@tag=514]/marc:subfield[@code='h']" /></horizpae>\r
+ </qhorizpa>\r
+\r
+ <vertacc>\r
+ <vertaccr><xsl:value-of select="marc:datafield[@tag=514]/marc:subfield[@code='i']" /></vertaccr>\r
+ <qvertpa>\r
+ <vertaccv><xsl:value-of select="marc:datafield[@tag=514]/marc:subfield[@code='j']" /></vertaccv>\r
+ <vertacce><xsl:value-of select="marc:datafield[@tag=514]/marc:subfield[@code='k']" /></vertacce>\r
+ </qvertpa>\r
+ </vertacc>\r
+ </posacc>\r
+\r
+ <lineage>\r
+\r
+ <srcinfo>\r
+ <srcscale><xsl:value-of select="marc:datafield[@tag=786]/marc:subfield[@code='m']" /></srcscale>\r
+ <typesrc><xsl:value-of select="marc:datafield[@tag=786]/marc:subfield[@code='h']" /></typesrc>\r
+ <srctime>\r
+ <srccurr><xsl:value-of select="marc:datafield[@tag=786]/marc:subfield[@code='j']" /></srccurr>\r
+ </srctime>\r
+ <srccitea><xsl:value-of select="marc:datafield[@tag=786]/marc:subfield[@code='p']" /></srccitea>\r
+ <srccontr><xsl:value-of select="marc:datafield[@tag=786]/marc:subfield[@code='v']" /></srccontr>\r
+ </srcinfo>\r
+\r
+ <procstep>\r
+ <procdesc><xsl:value-of select="marc:datafield[@tag=583]/marc:subfield[@code='a']" /></procdesc>\r
+ <procdate><xsl:value-of select="marc:datafield[@tag=583]/marc:subfield[@code='c']" /></procdate>\r
+ <proctime><xsl:value-of select="marc:datafield[@tag=583]/marc:subfield[@code='c']" /></proctime>\r
+ <srcprod><xsl:value-of select="marc:datafield[@tag=583]/marc:subfield[@code='b']" /></srcprod>\r
+\r
+ </procstep>\r
+ </lineage>\r
+\r
+ <cloud><xsl:value-of select="marc:datafield[@tag=514]/marc:subfield[@code='m']" /></cloud>\r
+\r
+\r
+ </dataqual>\r
+\r
+ <spdoinfo>\r
+ <indspref><xsl:value-of select="marc:datafield[@tag=352]/marc:subfield[@code='i']" /></indspref>\r
+ <direct><xsl:value-of select="marc:datafield[@tag=352]/marc:subfield[@code='a']" /></direct>\r
+ <xsl:variable name="object" select="marc:datafield[@tag=352]/marc:subfield[@code='a']" />\r
+\r
+ <xsl:if test="contains(translate($object,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'raster')=false">\r
+\r
+ <ptvctinf>\r
+ <sdtsterm>\r
+ <sdtstype><xsl:value-of select="marc:datafield[@tag=352]/marc:subfield[@code='b']" /></sdtstype>\r
+ <ptvctcnt><xsl:value-of select="marc:datafield[@tag=352]/marc:subfield[@code='c']" /></ptvctcnt>\r
+ </sdtsterm>\r
+\r
+ <vpfterm>\r
+ <vpflevel><xsl:value-of select="marc:datafield[@tag=352]/marc:subfield[@code='g']" /></vpflevel>\r
+ <vpfinfo><xsl:value-of select="marc:datafield[@tag=352]/marc:subfield[@code='b']" /></vpfinfo>\r
+ </vpfterm>\r
+ </ptvctinf>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($object,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'raster')">\r
+ <rastinfo>\r
+ <rasttype><xsl:value-of select="marc:datafield[@tag=352]/marc:subfield[@code='b']" /></rasttype>\r
+ <rowcount><xsl:value-of select="marc:datafield[@tag=352]/marc:subfield[@code='d']" /></rowcount>\r
+ <colcount><xsl:value-of select="marc:datafield[@tag=352]/marc:subfield[@code='e']" /></colcount>\r
+ <vrtcount><xsl:value-of select="marc:datafield[@tag=352]/marc:subfield[@code='f']" /></vrtcount>\r
+ </rastinfo>\r
+ </xsl:if>\r
+ </spdoinfo>\r
+\r
+ <spref>\r
+ <xsl:for-each select="marc:datafield[@tag=342]">\r
+ <!--This is the branch for the horizontal grid system-->\r
+ <xsl:if test="@ind1=0">\r
+ <horizsys>\r
+ <geograph>\r
+ <latres><xsl:value-of select="marc:subfield[@code='c']" /></latres>\r
+ <longres><xsl:value-of select="marc:subfield[@code='d']" /></longres>\r
+ <geogunit><xsl:value-of select="marc:subfield[@code='b']" /></geogunit>\r
+ </geograph>\r
+\r
+ <xsl:if test="@ind2=3">\r
+ <!--Planar system-->\r
+ <planar>\r
+ <mapproj>\r
+\r
+ <mapprojn><xsl:value-of select="marc:subfield[@code='a']" /></mapprojn>\r
+ <xsl:variable name="mapproj" select="marc:subfield[@code='a']" />\r
+\r
+ <xsl:if test="contains(translate($mapproj,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'albers')">\r
+ <albers>\r
+ <mapprojp>\r
+ <stdparll><xsl:value-of select="marc:subfield[@code='e']" /></stdparll>\r
+ <longcm><xsl:value-of select="marc:subfield[@code='g']" /></longcm>\r
+ <latprjo><xsl:value-of select="marc:subfield[@code='h']" /></latprjo>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </albers>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($mapproj,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'azimuthal equidistant')">\r
+ <azimequi>\r
+ <mapprojp>\r
+ <longcm><xsl:value-of select="marc:subfield[@code='g']" /></longcm>\r
+ <latprjo><xsl:value-of select="marc:subfield[@code='h']" /></latprjo>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </azimequi>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($mapproj,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'equidistant conic')">\r
+ <equicon>\r
+ <mapprojp>\r
+ <stdparll><xsl:value-of select="marc:subfield[@code='e']" /></stdparll>\r
+ <longcm><xsl:value-of select="marc:subfield[@code='g']" /></longcm>\r
+ <latprjo><xsl:value-of select="marc:subfield[@code='h']" /></latprjo>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </equicon>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'equirectangular')">\r
+ <equirect>\r
+ <mapprojp>\r
+ <stdparll><xsl:value-of select="marc:subfield[@code='e']" /></stdparll>\r
+ <longcm><xsl:value-of select="marc:subfield[@code='g']" /></longcm>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </equirect>\r
+ </xsl:if>\r
+\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'general vertical near')">\r
+ <gvnsp>\r
+ <mapprojp>\r
+ <heightpt><xsl:value-of select="marc:subfield[@code='l']" /></heightpt>\r
+ <longpc><xsl:value-of select="marc:subfield[@code='g']" /></longpc>\r
+ <latprjc><xsl:value-of select="marc:subfield[@code='h']" /></latprjc>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </gvnsp>\r
+ </xsl:if>\r
+\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'gnomonic')">\r
+ <gnomonic>\r
+ <mapprojp>\r
+ <longpc><xsl:value-of select="marc:subfield[@code='g']" /></longpc>\r
+ <latprjc><xsl:value-of select="marc:subfield[@code='h']" /></latprjc>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </gnomonic>\r
+ </xsl:if>\r
+\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'lambert azimuthal')">\r
+ <lamberta>\r
+ <mapprojp>\r
+ <longpc><xsl:value-of select="marc:subfield[@code='g']" /></longpc>\r
+ <latprjc><xsl:value-of select="marc:subfield[@code='h']" /></latprjc>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </lamberta>\r
+ </xsl:if>\r
+\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'lambert conformal')">\r
+ <lambertc>\r
+ <mapprojp>\r
+ <stdparll><xsl:value-of select="marc:subfield[@code='e']" /></stdparll>\r
+ <longcm><xsl:value-of select="marc:subfield[@code='g']" /></longcm>\r
+ <latprjo><xsl:value-of select="marc:subfield[@code='h']" /></latprjo>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </lambertc>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="translate($mapproj,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='Mercator'">\r
+ <mercator>\r
+ <mapprojp>\r
+ <xsl:if test="@ind2=1">\r
+ <stdparll><xsl:value-of select="marc:subfield[@code='e']" /></stdparll>\r
+ </xsl:if>\r
+ <xsl:if test="@ind1=1">\r
+ <sfequat><xsl:value-of select="marc:subfield[@code='k']" /></sfequat>\r
+ </xsl:if>\r
+ <longcm><xsl:value-of select="marc:subfield[@code='g']" /></longcm>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </mercator>\r
+ </xsl:if>\r
+\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'alaska')">\r
+ <modsak>\r
+ <mapprojp>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </modsak>\r
+ </xsl:if>\r
+\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'miller cylindrical')">\r
+ <miller>\r
+ <mapprojp>\r
+ <longcm><xsl:value-of select="marc:subfield[@code='g']" /></longcm>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </miller>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'oblique mercator')">\r
+ <obqmerc>\r
+ <mapprojp>\r
+ <xsl:if test="@ind1=1">\r
+ <sfctrlin><xsl:value-of select="marc:subfield[@code='k']" /></sfctrlin>\r
+ <obqlazim>\r
+ <azimangl><xsl:value-of select="marc:subfield[@code='m']" /></azimangl>\r
+ <azimptl><xsl:value-of select="marc:subfield[@code='n']" /></azimptl>\r
+ </obqlazim>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="@ind2=1">\r
+ <!--This should repeat, but I haven't set this up-->\r
+ <obqlpt>\r
+ <obqllat><xsl:value-of select="marc:subfield[@code='e']" /></obqllat>\r
+ <obqllong><xsl:value-of select="marc:subfield[@code='f']" /></obqllong>\r
+ </obqlpt>\r
+ <latprjo><xsl:value-of select="marc:subfield[@code='h']" /></latprjo>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </xsl:if>\r
+\r
+ </mapprojp>\r
+ </obqmerc>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'orthographic')">\r
+ <orthogr>\r
+ <mapprojp>\r
+ <longpc><xsl:value-of select="marc:subfield[@code='g']" /></longpc>\r
+ <latprjc><xsl:value-of select="marc:subfield[@code='h']" /></latprjc>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </orthogr>\r
+ </xsl:if>\r
+\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'polar stereographic')">\r
+ <polarst>\r
+ <mapprojp>\r
+ <svlong><xsl:value-of select="marc:subfield[@code='n']" /></svlong>\r
+ <xsl:if test="@ind1=1">\r
+ <stdparll><xsl:value-of select="marc:subfield[@code='e']" /></stdparll>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="@ind2=1">\r
+ <sfprjorg><xsl:value-of select="marc:subfield[@code='k']" /></sfprjorg>\r
+ </xsl:if>\r
+\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </polarst>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'polyconic')">\r
+ <polycon>\r
+ <mapprojp>\r
+ <longcm><xsl:value-of select="marc:subfield[@code='g']" /></longcm>\r
+ <latprjo><xsl:value-of select="marc:subfield[@code='h']" /></latprjo>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </polycon>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'robinson')">\r
+ <robinson>\r
+ <mapprojp>\r
+ <longpc><xsl:value-of select="marc:subfield[@code='g']" /></longpc>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </robinson>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'sinusoidal')">\r
+ <sinusoid>\r
+ <mapprojp>\r
+ <longcm><xsl:value-of select="marc:subfield[@code='g']" /></longcm>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </sinusoid>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'space oblique mercator')">\r
+ <spaceobq>\r
+ <mapprojp>\r
+ <landsat><xsl:value-of select="marc:subfield[@code='o']" /></landsat>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </spaceobq>\r
+ </xsl:if>\r
+\r
+\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'stereographic')">\r
+ <stereo>\r
+ <mapprojp>\r
+ <longpc><xsl:value-of select="marc:subfield[@code='g']" /></longpc>\r
+ <latprjc><xsl:value-of select="marc:subfield[@code='h']" /></latprjc>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </stereo>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'transverse mercator')">\r
+ <transmer>\r
+ <mapprojp>\r
+ <sfctrmer><xsl:value-of select="marc:subfield[@code='k']" /></sfctrmer>\r
+ <longcm><xsl:value-of select="marc:subfield[@code='g']" /></longcm>\r
+ <latprjo><xsl:value-of select="marc:subfield[@code='h']" /></latprjo>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </transmer>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($mapproj, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'van der grinten')">\r
+ <vdgrin>\r
+ <mapprojp>\r
+ <longcm><xsl:value-of select="marc:subfield[@code='g']" /></longcm>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </vdgrin>\r
+ </xsl:if>\r
+\r
+\r
+ </mapproj>\r
+ </planar>\r
+ </xsl:if>\r
+ <xsl:if test="@ind2=2">\r
+ <!--Grid Coordinate system-->\r
+ <gridsys>\r
+ <gridsysn><xsl:value-of select="marc:subfield[@code='a']" /></gridsysn>\r
+ <xsl:variable name="gridname" select="marc:subfield[@code='a']" />\r
+ <xsl:if test="contains(translate($gridname,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'universal transverse mercator')">\r
+ <utm>\r
+ <utmzone><xsl:value-of select="marc:subfield[@code='p']" /></utmzone>\r
+ <mapprojp>\r
+ <sfctrmer><xsl:value-of select="marc:subfield[@code='k']" /></sfctrmer>\r
+ <longcm><xsl:value-of select="marc:subfield[@code='g']" /></longcm>\r
+ <latprjo><xsl:value-of select="marc:subfield[@code='h']" /></latprjo>\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </utm>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($gridname,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), 'universal polar stereographic')">\r
+ <ups>\r
+ <upszone><xsl:value-of select="marc:subfield[@code='p']" /></upszone>\r
+ <mapprojp>\r
+ <svlong><xsl:value-of select="marc:subfield[@code='n']" /></svlong>\r
+ <xsl:if test="@ind1=1">\r
+ <stdparll><xsl:value-of select="marc:subfield[@code='e']" /></stdparll>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="@ind2=1">\r
+ <sfprjorg><xsl:value-of select="marc:subfield[@code='k']" /></sfprjorg>\r
+ </xsl:if>\r
+\r
+ <feast><xsl:value-of select="marc:subfield[@code='i']" /></feast>\r
+ <fnorth><xsl:value-of select="marc:subfield[@code='j']" /></fnorth>\r
+ </mapprojp>\r
+ </ups>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($gridname,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'1927')">\r
+ <spcs>\r
+ <spcszone>1927</spcszone>\r
+ </spcs>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($gridname, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'1983')">\r
+ <spcs>\r
+ <spcszone>1983</spcszone>\r
+ </spcs>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="contains(translate($gridname,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'arc')">\r
+ <arcsys>\r
+ <arczone><xsl:value-of select="marc:subfield[@code='p']" /></arczone>\r
+ </arcsys>\r
+ </xsl:if>\r
+\r
+ <xsl:if test="translate(contains($gridname,'other'), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')">\r
+ <othergrd>\r
+ </othergrd>\r
+ </xsl:if>\r
+ </gridsys>\r
+ </xsl:if>\r
+\r
+ <planci>\r
+ <plance><xsl:value-of select="marc:datafield[@tag=343]/marc:subfield[@code='a']" /></plance>\r
+ <coordrep>\r
+ <absres><xsl:value-of select="marc:datafield[@tag=343]/marc:subfield[@code='c']" /></absres>\r
+ <ordres><xsl:value-of select="marc:datafield[@tag=343]/marc:subfield[@code='d']" /></ordres>\r
+ </coordrep>\r
+ <distbrep>\r
+ <distres><xsl:value-of select="marc:datafield[@tag=343]/marc:subfield[@code='e']" /></distres>\r
+ <bearres><xsl:value-of select="marc:datafield[@tag=343]/marc:subfield[@code='f']" /></bearres>\r
+ <bearunit><xsl:value-of select="marc:datafield[@tag=343]/marc:subfield[@code='a']" /></bearunit>\r
+ <bearrefd><xsl:value-of select="marc:datafield[@tag=343]/marc:subfield[@code='n']" /></bearrefd>\r
+ <bearrefm><xsl:value-of select="marc:datafield[@tag=343]/marc:subfield[@code='i']" /></bearrefm>\r
+ </distbrep>\r
+ </planci>\r
+\r
+\r
+ </horizsys>\r
+ </xsl:if>\r
+ <xsl:if test="@ind1=1">\r
+ <vertdef>\r
+ <altsys>\r
+ <altdatum><xsl:value-of select="marc:subfield[@code='a']" /></altdatum>\r
+ <altres><xsl:value-of select="marc:field[@code='t']" /></altres>\r
+ <altunits><xsl:value-of select="marc:subfield[@code='b']" /></altunits>\r
+ <altenc><xsl:value-of select="marc:subfield[@code='u']" /></altenc>\r
+ </altsys>\r
+\r
+\r
+ </vertdef>\r
+\r
+ </xsl:if>\r
+\r
+\r
+ </xsl:for-each>\r
+\r
+ </spref>\r
+\r
+\r
+ <eainfo>\r
+ <xsl:for-each select="marc:datafield[@tag=552]">\r
+ <detailed>\r
+\r
+ <enttype>\r
+ <enttypl><xsl:value-of select="marc:subfield[@code='a']" /></enttypl>\r
+ <enttypd><xsl:value-of select="marc:subfield[@code='b']" /></enttypd>\r
+ </enttype>\r
+\r
+ <attr>\r
+ <attrlabl><xsl:value-of select="marc:subfield[@code='c']" /></attrlabl>\r
+ <attrdef><xsl:value-of select="marc:subfield[@code='d']" /></attrdef>\r
+ <attrdomv>\r
+ <edom>\r
+ <edomv><xsl:value-of select="marc:subfield[@code='e']" /></edomv>\r
+ <edomvd><xsl:value-of select="marc:subfield[@code='f']" /></edomvd>\r
+ </edom>\r
+\r
+ <rdom>\r
+ <rdommin><xsl:value-of select="substring-before(marc:subfield[@code='g'],'-')" /></rdommin>\r
+ <rdommax><xsl:value-of select="substring-after(marc:subfield[@code='g'],'-')" /></rdommax>\r
+ </rdom>\r
+ <codesetd>\r
+ <codesets><xsl:value-of select="marc:subfield[@code='h']" /></codesets>\r
+ </codesetd>\r
+ <udom><xsl:value-of select="marc:subfield[@code='i']" /></udom>\r
+ </attrdomv>\r
+\r
+ <attrunit><xsl:value-of select="marc:subfield[@code='j']" /></attrunit>\r
+ <begdatea><xsl:value-of select="substring-before(marc:subfield[@code='k'],'-')" /></begdatea>\r
+ <enddatea><xsl:value-of select="substring-after(marc:subfield[@code='k'],'-')" /></enddatea>\r
+ <attrvai>\r
+ <attrva><xsl:value-of select="marc:subfield[@code='l']" /></attrva>\r
+ <attrvae><xsl:value-of select="marc:subfield[@code='m']" /></attrvae>\r
+ </attrvai>\r
+\r
+ <attrmfrq><xsl:value-of select="marc:subfield[@code='n']" /></attrmfrq>\r
+ </attr>\r
+\r
+ <overview>\r
+ <eaover><xsl:value-of select="marc:subfield[@code='o']" /></eaover>\r
+ <eadetcit><xsl:value-of select="marc:subfield[@code='p']" /></eadetcit>\r
+ </overview>\r
+\r
+ </detailed>\r
+ </xsl:for-each>\r
+\r
+ </eainfo>\r
+\r
+\r
+ <distinfo>\r
+ <xsl:for-each select="marc:datafield[@tag=037]">\r
+ <stdorder>\r
+ <nondig><xsl:value-of select="marc:subfield[@code='f']" /></nondig>\r
+ <digform>\r
+ <digtinfo>\r
+ <formname><xsl:value-of select="marc:subfield[@code='g']" /></formname>\r
+ <formspec><xsl:value-of select="marc:subfield[@code='h']" /></formspec>\r
+ <formcont><xsl:value-of select="marc:subfield[@code='n']" /></formcont>\r
+ </digtinfo>\r
+ <digtopt>\r
+ <onlinopt>\r
+ <computer>\r
+ <dialinst>\r
+ <lowbps><xsl:value-of select="substring-before(marc:datafield[@tag='856']/marc:subfield[@code='j'],'-')" /></lowbps>\r
+ <highbps><xsl:value-of select="substring-after(marc:datafield[@tag='856']/marc:subfield[@code='j'],'-')" /></highbps>\r
+ <numdata><xsl:value-of select="marc:datafield[@tag='856']/marc:subfield[@code='r']" /></numdata>\r
+ <compress><xsl:value-of select="marc:datafield[@tag='856']/marc:subfield[@code='c']" /></compress>\r
+ <dialtel><xsl:value-of select="marc:datafield[@tag='856']/marc:subfield[@code='b']" /></dialtel>\r
+ <dialfile><xsl:value-of select="marc:datafield[@tag='856']/marc:subfield[@code='f']" /></dialfile>\r
+ </dialinst>\r
+ <accinstr><xsl:value-of select="marc:datafield[@tag='856']/marc:subfield[@code='i']" /></accinstr>\r
+ </computer>\r
+ </onlinopt>\r
+ </digtopt>\r
+ </digform>\r
+ <custom><xsl:value-of select="marc:subfield[@code='c']" /></custom>\r
+ </stdorder>\r
+ <availabl>\r
+ <timeinfo>\r
+ <sngdate>\r
+ <caldate><xsl:value-of select="marc:datafield[@tag=045]/marc:subfield[@code='b']" /></caldate>\r
+ </sngdate>\r
+\r
+ </timeinfo>\r
+ </availabl>\r
+ </xsl:for-each>\r
+ </distinfo>\r
+\r
+ <metainfo>\r
+ <metd><xsl:value-of select="marc:datafield[@tag=583]/marc:subfield[@code='c']" /></metd>\r
+ <metrd><xsl:value-of select="marc:datafield[@tag=583]/marc:subfield[@code='z']" /></metrd>\r
+ <metc>\r
+ <cntinfo>\r
+ <cntperp>\r
+ <cntper><xsl:value-of select="marc:datafield[@tag=270]/marc:subfield[@code='p']" /></cntper>\r
+ <cntorg><xsl:value-of select="marc:datafield[@tag=270]/marc:subfield[@code='q']" /></cntorg>\r
+ </cntperp>\r
+ <cntaddr>\r
+ <addrtype><xsl:value-of select="marc:datafield[@tag=270]/marc:subfield[@code='i']" /></addrtype>\r
+ <address><xsl:value-of select="marc:datafield[@tag=270]/marc:subfield[@code='a']" /></address>\r
+ <city><xsl:value-of select="marc:datafield[@tag=270]/marc:subfield[@code='b']" /></city>\r
+ <state><xsl:value-of select="substring-before(marc:datafield[@tag=270]/marc:subfield[@code='c'],',')" /></state>\r
+ <postal><xsl:value-of select="substring-after(marc:datafield[@tag=270]/marc:subfield[@code='c'],',')" /></postal>\r
+ <country><xsl:value-of select="marc:datafield[@tag=270]/marc:subfield[@code='d']" /></country>\r
+ </cntaddr>\r
+ <cntvoice><xsl:value-of select="marc:datafield[@tag=270]/marc:subfield[@code='k']" /></cntvoice>\r
+ <cnttdd><xsl:value-of select="marc:datafield[@tag=270]/marc:subfield[@code='h']" /></cnttdd>\r
+ <cntemail><xsl:value-of select="marc:datafield[@tag=270]/marc:subfield[@code='m']" /></cntemail>\r
+ <hours><xsl:value-of select="marc:datafield[@tag=270]/marc:subfield[@code='r']" /></hours>\r
+ <cntinst><xsl:value-of select="marc:datafield[@tag=270]/marc:subfield[@code='z']" /></cntinst>\r
+ </cntinfo>\r
+ </metc>\r
+ <metstdn><xsl:value-of select="marc:datafield[@tag=583]/marc:subfield[@code='f']" /></metstdn>\r
+ <metac><xsl:value-of select="marc:datafield[@tag=506]/marc:subfield[@code='a']" /></metac>\r
+ </metainfo>\r
+\r
+\r
+\r
+ </xsl:template>\r
+</xsl:stylesheet>\r
+<!--http://creativecommons.org/licenses/zero/1.0/\r
+Creative Commons 1.0 Universal\r
+The person who associated a work with this document has dedicated this work to the \r
+Commons by waiving all of his or her rights to the work under copyright law and all \r
+related or neighboring legal rights he or she had in the work, to the extent allowable by law. \r
+-->\r