<?xml version="1.0" encoding="UTF-8" ?>

<!--
   Name:NonISOKeywords.xsl   
   Author:  Matthew J. McCready
   Date:  20111012
   Description:  XSLT stylesheet that transforms the values stored in the Theme_Keyword and Place_Keyword MIF elements to the gmd:descriptiveKeywords element. This        stylesheet consists of three templates: NonISOKeywords, NonThemeISOKeywords and PlaceKeywords. The NonISOKeywords template is the template called by the               11_gmd:identificationInfo.xsl stylesheet. This template consists of two other templates: NonThemeISOKeywords and PlaceKeywords. The NonThemeISOKeywords template   takes all the values in the MIF/Theme_Keyword element that are not ISO Topic Category Keywords and transforms them into the                                            gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString ISO element. It also provides the correct value of 'theme' for the MD_KeywordTypeCode codelist. The PlaceKeywords template takes all the values in the MIF/Place_Keyword  element and transforms it into the                                                           gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString ISO element. It also provides the correct value of 'place' for the MD_KeywordTypeCode codelist
   Modification History:
      Initial   Date      Change Request ID   Description

-->

<xsl:stylesheet version = "1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:gmd="http://www.isotc211.org/2005/gmd"
   xmlns:gco="http://www.isotc211.org/2005/gco" 
>
<xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/>
<xsl:variable name ="MetDate"   select= "//metadata/metainfo/metd"/>
<!-- <xsl:variable name="SDTSPntVot" select="//metadata/spdoinfo/ptvctinf/sdtsterm/sdtstype"/> -->

<xsl:template name="NonISOKeywordsGID1">

<xsl:element name="gmd:descriptiveKeywords">
<xsl:element name="gmd:MD_Keywords">

<xsl:for-each select="/MIF/Place_Keyword[@gid1='1']">
<xsl:element name="gmd:keyword">
<xsl:element name="gco:CharacterString"><xsl:value-of select="."/> </xsl:element>
</xsl:element>
</xsl:for-each>

<xsl:element name="gmd:type">
<xsl:element name="gmd:MD_KeywordTypeCode">
<xsl:attribute name="codeList">http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_KeywordTypeCode</xsl:attribute>
<xsl:attribute name="codeListValue">place</xsl:attribute>
<xsl:attribute name="codeSpace">002</xsl:attribute>
place
</xsl:element> <!-- gmd:MD_KeywordTypeCode -->

</xsl:element> <!-- gmd:type -->

<xsl:element name="gmd:thesaurusName">
<xsl:element name="gmd:CI_Citation">
<xsl:element name="gmd:title">
<xsl:element name="gco:CharacterString"><xsl:value-of select="/MIF/Place_Keyword_Thesaurus[@gid1='1']"/> </xsl:element>

</xsl:element>
<xsl:element name="gmd:date">
<xsl:attribute name="gco:nilReason">unknown</xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:element>


</xsl:element> <!-- gmd:MD_Keywords -->
</xsl:element> <!-- gmd:descriptiveKeywords -->
</xsl:template>



<xsl:template name="NonISOKeywordsGID2">

<xsl:element name="gmd:descriptiveKeywords">
<xsl:element name="gmd:MD_Keywords">

<xsl:for-each select="/MIF/Place_Keyword[@gid1='2']">
<xsl:element name="gmd:keyword">
<xsl:element name="gco:CharacterString"><xsl:value-of select="."/> </xsl:element>
</xsl:element>
</xsl:for-each>

<xsl:element name="gmd:type">
<xsl:element name="gmd:MD_KeywordTypeCode">
<xsl:attribute name="codeList">http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_KeywordTypeCode</xsl:attribute>
<xsl:attribute name="codeListValue">place</xsl:attribute>
<xsl:attribute name="codeSpace">002</xsl:attribute>
place
</xsl:element> <!-- gmd:MD_KeywordTypeCode -->

</xsl:element> <!-- gmd:type -->

<xsl:element name="gmd:thesaurusName">
<xsl:element name="gmd:CI_Citation">
<xsl:element name="gmd:title">
<xsl:element name="gco:CharacterString"><xsl:value-of select="/MIF/Place_Keyword_Thesaurus[@gid1='2']"/> </xsl:element>

</xsl:element>
<xsl:element name="gmd:date">
<xsl:attribute name="gco:nilReason">unknown</xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:element>


</xsl:element> <!-- gmd:MD_Keywords -->
</xsl:element> <!-- gmd:descriptiveKeywords -->
</xsl:template>

<xsl:template name="NonISOKeywordsGID3">

<xsl:element name="gmd:descriptiveKeywords">
<xsl:element name="gmd:MD_Keywords">

<xsl:for-each select="/MIF/Place_Keyword[@gid1='3']">
<xsl:element name="gmd:keyword">
<xsl:element name="gco:CharacterString"><xsl:value-of select="."/> </xsl:element>
</xsl:element>
</xsl:for-each>

<xsl:element name="gmd:type">
<xsl:element name="gmd:MD_KeywordTypeCode">
<xsl:attribute name="codeList">http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_KeywordTypeCode</xsl:attribute>
<xsl:attribute name="codeListValue">place</xsl:attribute>
<xsl:attribute name="codeSpace">002</xsl:attribute>
place
</xsl:element> <!-- gmd:MD_KeywordTypeCode -->

</xsl:element> <!-- gmd:type -->

<xsl:element name="gmd:thesaurusName">
<xsl:element name="gmd:CI_Citation">
<xsl:element name="gmd:title">
<xsl:element name="gco:CharacterString"><xsl:value-of select="/MIF/Place_Keyword_Thesaurus[@gid1='3']"/> </xsl:element>

</xsl:element>

<xsl:element name="gmd:date">
<xsl:attribute name="gco:nilReason">unknown</xsl:attribute>
</xsl:element>

</xsl:element>
</xsl:element>


</xsl:element> <!-- gmd:MD_Keywords -->
</xsl:element> <!-- gmd:descriptiveKeywords -->
</xsl:template>


</xsl:stylesheet>
