<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"			xmlns:oaidc='http://www.openarchives.org/OAI/2.0/oai_dc/'	
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:vr="http://www.ivoa.net/xml/VOResource/v0.9"
          xmlns:vc="http://www.ivoa.net/xml/VOCommunity/v0.2"
          xmlns:vg="http://www.ivoa.net/xml/VORegistry/v0.2"
          xmlns:vs="http://www.ivoa.net/xml/VODataService/v0.4"
          xmlns:vt="http://www.ivoa.net/xml/VOTable/v0.1"
          xmlns:cs="http://www.ivoa.net/xml/ConeSearch/v0.2"
          xmlns:sia="http://www.ivoa.net/xml/SIA/v0.6"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		version="1.0">

<!-- Stylesheet for the Metadata Portion of OAI-DC GetRecord verb -->

<xsl:output
	method="xml"
	encoding="UTF-8"
	indent="yes"
	omit-xml-declaration="yes"
	/>


<xsl:template match="/">

<oaidc:dc xmlns:oaidc="http://www.openarchives.org/OAI/2.0/oai_dc/"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
	    <xsl:apply-templates select="vr:VOResource/*"  />
	    </oaidc:dc>
</xsl:template>

<xsl:template match="vr:VOResource/*"  >
    <xsl:apply-templates select="vr:Title" />
    <xsl:apply-templates select="vr:Curation/vr:Creator/Name" />
    <xsl:apply-templates select="vr:Subject" />
    <xsl:apply-templates select="vr:ContentLevel" />
    <xsl:apply-templates select="vr:Instrument" />
    <xsl:apply-templates select="vr:Facility" />
    <xsl:apply-templates select="vr:Summary/vr:Description" />
    <xsl:apply-templates select="vr:Summary/vr:Source" />
    <xsl:apply-templates select="vr:Curation/vr:Publisher" />
    <xsl:apply-templates select="vr:Curation/vr:Contributor/vr:Name" />
    <xsl:apply-templates select="vr:Curation/vr:Date" />
    <xsl:apply-templates select="vr:Type" />
    <xsl:apply-templates select="vs:Access/vs:Format" />
    <xsl:apply-templates select="vs:Access/vs:Rights" />
    <xsl:apply-templates select="vr:Identifier" />
    <xsl:apply-templates select="vs:Coverage/vs:Spatial" />
    <xsl:apply-templates select="vs:Coverage/vs:Spectral/vs:SpectralResolution" />
    <xsl:apply-templates select="vs:Coverage/vs:Spectral/vs:WaveBand" />
    <xsl:apply-templates select="vs:Coverage/vs:Spectral/vs:WavelengthRange" />
    <xsl:apply-templates select="vs:Coverage/vs:Temporal" />
</xsl:template>

<xsl:template match="vr:Title">
    <dc:Title>
        <xsl:apply-templates/>
    </dc:Title>
</xsl:template>
<xsl:template match="vr:Curation/vr:Creator/vr:Name">
    <dc:Creator>
        <xsl:apply-templates/>
    </dc:Creator>
</xsl:template>
<xsl:template match="vr:Facility">
    <dc:Subject.Instrument>
        <xsl:apply-templates/>
    </dc:Subject.Instrument>
</xsl:template>
<xsl:template match="vr:Instrument">
    <dc:Subject.Instrument>
        <xsl:apply-templates/>
    </dc:Subject.Instrument>
</xsl:template>
<xsl:template match="vr:ContentLevel">
    <dc:Subject.ContentLevel>
        <xsl:apply-templates/>
    </dc:Subject.ContentLevel>
</xsl:template>
<xsl:template match="vr:Subject">
    <dc:Subject>
        <xsl:apply-templates/>
    </dc:Subject>
</xsl:template>
<xsl:template match="vr:Summary/vr:Description">
    <dc:Description>
        <xsl:apply-templates/>
    </dc:Description>
</xsl:template>
<xsl:template match="vr:Summary/vr:Source">
    <dc:Source>
        <xsl:apply-templates/>
    </dc:Source>
</xsl:template>
<xsl:template match="vr:Curation/vr:Publisher">
    <dc:Publisher>
	<xsl:if test="AuthorityID">
        <xsl:text>Identifier: ivo://</xsl:text>
        <xsl:value-of select="vr:AuthorityID"/>
		<xsl:if test="ResourceKey">
            <xsl:text>:</xsl:text>
            <xsl:value-of select="vr:ResourceKey"/>
		 </xsl:if>
	 </xsl:if>
	 <xsl:if test="vr:Title">
        <xsl:text>, Title: </xsl:text>
        <xsl:value-of select="vr:Title"/>
	 </xsl:if>
     </dc:Publisher>
</xsl:template>
<xsl:template match="vr:Curation/vr:Contributor/vr:Name">
    <dc:Contributor>
        <xsl:apply-templates/>
    </dc:Contributor>
</xsl:template>
<xsl:template match="vr:Curation/vr:Date">
    <dc:Date>
        <xsl:apply-templates/>
    </dc:Date>
</xsl:template>
<xsl:template match="vr:Type">
    <dc:Type>
        <xsl:apply-templates/>
    </dc:Type>
</xsl:template>
<xsl:template match="vs:Access/vs:Format">
    <dc:Type>
        <xsl:text>Format: </xsl:text>
        <xsl:apply-templates/>
    </dc:Type>
</xsl:template>
<xsl:template match="vr:Identifier">
    <dc:Identifier>
          <xsl:text>ivo://</xsl:text>
          <xsl:value-of select="vr:AuthorityID"/>
		  <xsl:if test="vr:ResourceKey">
              <xsl:text>:</xsl:text>
              <xsl:value-of select="vr:ResourceKey"/>
		  </xsl:if>
    </dc:Identifier>
</xsl:template>
<xsl:template match="vs:Coverage/vs:Spatial">
    <dc:coverage>
		<xsl:text>Spatial: </xsl:text>
		  <xsl:if test="vs:AllSky">
	  	     <xsl:text>AllSky</xsl:text>
          </xsl:if>
		  <xsl:if test="vs:CircleRegion">
	  	     <xsl:text>Circle Region</xsl:text>
             <xsl:if test="vs:CoordFrame">
                 <xsl:text>, Coordinate Frame: </xsl:text>
                 <xsl:value-of select="vs:CoordFrame"/>
             </xsl:if>
             <xsl:if test="vs:CenterPosition/vs:long">
                 <xsl:text>, Center Position: long:</xsl:text>
                 <xsl:value-of select="vs:CenterPosition/vs:long"/>
                 <xsl:text>, lat:</xsl:text>
                 <xsl:value-of select="vs:CenterPosition/vs:lat"/>
             </xsl:if>
             <xsl:if test="vs:radius">
                 <xsl:text>, Radius: </xsl:text>
                 <xsl:value-of select="vs:radius"/>
             </xsl:if>
          </xsl:if>
		  <xsl:if test="vs:CoordRange">
	  	     <xsl:text>CoordRange</xsl:text>
             <xsl:if test="vs:CoordFrame">
                 <xsl:text>, Coordinate Frame: </xsl:text>
                 <xsl:value-of select="vs:CoordFrame"/>
             </xsl:if>
             <xsl:if test="vs:CoordRange/vs:long">
                 <xsl:text>, Longitude Range: min:</xsl:text>
                 <xsl:value-of select="vs:CenterPosition/vs:long/vs:min"/>
                 <xsl:text>, max:</xsl:text>
                 <xsl:value-of select="vs:CenterPosition/vs:long/vs:max"/>
                 <xsl:text>, Latitude Range: min:</xsl:text>
                 <xsl:value-of select="vs:CenterPosition/vs:lat/vs:min"/>
                 <xsl:text>, max:</xsl:text>
                 <xsl:value-of select="vs:CenterPosition/vs:lat/vs:max"/>
             </xsl:if>
          </xsl:if>
    </dc:coverage>
</xsl:template>
<xsl:template match="vs:Coverage/vs:Spectral/vs:SpectralResolution">
    <dc:coverage>
		<xsl:text>Spectral Resolution: </xsl:text>
        <xsl:apply-templates/>
    </dc:coverage>
</xsl:template>
<xsl:template match="vs:Coverage/vs:Spectral/vs:Waveband">
    <dc:coverage>
		<xsl:text>:Spectral WaveBand: </xsl:text>
        <xsl:apply-templates/>
    </dc:coverage>
</xsl:template>
<xsl:template match="vs:Coverage/vs:Spectral/vs:WavelengthRange">
    <dc:coverage>
		<xsl:text>:Spectral Wavelength Range: </xsl:text>
		       <xsl:value-of select="vs:min"/>
          <xsl:text> - </xsl:text>
		<xsl:if test="vs:max">
		      <xsl:value-of select="vs:max"/>
		</xsl:if>
    </dc:coverage>
</xsl:template>
<xsl:template match="vs:Coverage/vs:Temporal">
    <dc:coverage>
		<xsl:text>Temporal: </xsl:text>
           <xsl:value-of select="vs:StartTime"/>
          <xsl:text> - </xsl:text>
		<xsl:if test="vs:EndTime">
		      <xsl:value-of select="vs:EndTime"/>
		</xsl:if>
    </dc:coverage>
</xsl:template>
<xsl:template match="vs:Access/vs:Rights">
    <dc:Rights>
        <xsl:apply-templates/>
    </dc:Rights>
</xsl:template>

<!-- These do not seem to fit in Dublin Core
<xsl:template match="vor:ContentLevel/Item">
    <dc:contentlevel>
        <xsl:apply-templates/>
    </dc:contentlevel>
</xsl:template>
<xsl:template match="vor:Facility">
    <dc:facility>
        <xsl:apply-templates/>
    </dc:facility>
</xsl:template>
-->

</xsl:stylesheet>
