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

<!--
   Name:  15_gmd:metadataMaintenance.xsl
   Author:  Matthew J. McCready
   Date:  20110706
   Description:This stylesheet transforms information from Chapter 7 of the FGDC standard into the gmd:metadataMaintenance section of the ISO metadata standard. This  section of the ISO standard provides information about the maintainance of the metadata. It calls the MD_MaintenanceFrequencyCodeMetMaint.xsl stylesheet. 
   Modification History:
      Initial   Date         Change Request ID   Description
      MMC       07122011                         Changed the template called from the gmd:MD_MaintenanceInformation element from MD_MaintenanceFrequencyCode to
                                                  MD_MaintenanceFrequencyCodeMetMaint. This was due to this section containing additional elements in the 
                                                  gmd:metadataMaintenance section that the identificationInfo section does not cover. 
-->

<!-- 
List of Related Templates and associated stylesheets
Template                                     Stylesheet/File
MD_MaintenanceFrequencyCodeMetMaint          MD_MaintenanceFrequencyCode.xsl
-->

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gfc="http://www.isotc211.org/2005/gfc"
   xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gmx="http://www.isotc211.org/2005/gmx"
   xmlns:gsr="http://www.isotc211.org/2005/gsr" xmlns:gss="http://www.isotc211.org/2005/gss"
   xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gml="http://www.opengis.net/gml/3.2"
   xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema"
   xmlns:fn="http://www.w3.org/2005/xpath-functions"
   xmlns:grp="http://www.altova.com/Mapforce/grouping" exclude-result-prefixes="fn grp xs xsi xsl"
   xmlns="http://www.isotc211.org/2005/gfc">

   <xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/>



   <xsl:template name="metadataMaintenance" match="/">
      <!-- <xsl:comment>Look Here!!!!!!!!!!!!!!!!!!!</xsl:comment> -->

      <xsl:element name="gmd:metadataMaintenance">
         <xsl:element name="gmd:MD_MaintenanceInformation">
            <!-- /metadata/idinfo[1]/status[1]/update[1] -->

            <xsl:call-template name="MD_MaintenanceFrequencyCodeMetMaint"/>

            <xsl:element name="gmd:maintenanceNote">
               <xsl:element name="gco:CharacterString">This metadata was automatically generated
                  from the FGDC Content Standards for Digital Geospatial Metadata standard version
                  FGDC-STD-001-1998 using the June 2011 version of the csdgm2iso19115-2_master.xslt
                  stylesheet, which is based on NOAA's FGDC CSDGM to ISO 19115-2 transform. This
                  stylesheet has been modified for Census use by separating the stylesheets into
                  various sections. The Spatial Reference Information is not currently mapped over
                  to ISO but will be mapped in future versions. </xsl:element>
               <!-- gco:CharacterString -->
            </xsl:element>
            <!-- gmd:maintenanceNote -->

            <xsl:element name="gmd:contact">
               <xsl:variable name="FullOrg" select="//metadata/metainfo/metc/cntinfo/cntorgp/cntorg"/>
               <xsl:variable name="postComma1" select="substring-after($FullOrg,',')"/>
               <xsl:variable name="division" select="substring-after($postComma1,',')"/>
               <xsl:variable name="FinalDivision" select="substring($division,2,3)"/>
               <xsl:variable name="fullBranch" select="substring-after($division,',')"/>
               <xsl:variable name="finalBranch" select="substring($fullBranch,2,3)"/>

               <!-- <xsl:comment>FullOrg:<xsl:value-of select="$FullOrg"/></xsl:comment>
               <xsl:comment>postComma1:<xsl:value-of select="$postComma1"/></xsl:comment>
               <xsl:comment>Division:<xsl:value-of select="$division"/></xsl:comment>
                  <xsl:comment>FinalDivision:<xsl:value-of select="$FinalDivision"/></xsl:comment> 
               <xsl:comment>fullBranch:<xsl:value-of select="$fullBranch"/></xsl:comment>
               <xsl:comment>finalBranch:<xsl:value-of select="$finalBranch"/></xsl:comment> -->

               <xsl:choose>
                  <xsl:when test="$finalBranch='Geo'">

                     <xsl:attribute name="xlink:href"
                        >https://www.ngdc.noaa.gov/docucomp/cf2b3bf2-5dd9-4fed-a495-1ddfb9a41de2</xsl:attribute>
                     <xsl:attribute name="xlink:title">originator - U.S. Department of Commerce,
                        U.S. Census Bureau, Geography Division</xsl:attribute>

                  </xsl:when>

                  <xsl:otherwise>
                     <xsl:element name="gmd:CI_ResponsibleParty">

                        <!-- /metadata/metainfo[1]/metc[1]/cntinfo[1]/cntorgp[1] 
/metadata/metainfo[1]/metc[1]/cntinfo[1]/cntorgp[1]/cntorg[1]
-->
                        <xsl:if test="/metadata/metainfo[1]/metc[1]/cntinfo[1]/cntperp/cpersn">
                           <xsl:element name="gmd:individualName">
                              <xsl:element name="gco:CharacterString">
                                 <xsl:value-of select="/metadata/metainfo/metc/cntinfo/cntorgp"/>
                              </xsl:element>
                              <!-- gco:CharacterString -->
                           </xsl:element>
                           <!-- gmd:individualName -->
                        </xsl:if>

                        <xsl:if test="/metadata/metainfo/metc/cntinfo/cntorgp/cntorg">
                           <xsl:element name="gmd:organisationName">
                              <xsl:element name="gco:CharacterString">
                                 <xsl:value-of
                                    select="/metadata/metainfo/metc/cntinfo/cntorgp/cntorg"/>
                              </xsl:element>
                              <!-- gco:CharacterString -->
                           </xsl:element>
                           <!-- gmd:organisationName -->
                        </xsl:if>

                        <xsl:element name="gmd:contactInfo">
                           <xsl:element name="gmd:CI_Contact">

                              <xsl:element name="gmd:phone">
                                 <xsl:element name="gmd:CI_Telephone">

                                    <xsl:element name="gmd:voice">
                                       <xsl:element name="gco:CharacterString">
                                          <xsl:value-of
                                             select="/metadata/metainfo/metc/cntinfo/cntvoice"/>
                                       </xsl:element>
                                       <!-- gco:CharacterString -->
                                    </xsl:element>
                                    <!-- gmd:voice -->

                                    <xsl:if test="/metadata/metainfo/metc/cntinfo/cnttdd">
                                       <xsl:element name="gmd:voice">
                                          <xsl:element name="gco:CharacterString">TDD/TTY
                                                Number:<xsl:value-of
                                                select="/metadata/metainfo/metc/cntinfo/cnttdd"/>
                                          </xsl:element>
                                          <!-- gco:CharacterString -->
                                       </xsl:element>
                                       <!-- gmd:voice -->
                                    </xsl:if>

                                    <xsl:element name="gmd:facsimile">
                                       <xsl:element name="gco:CharacterString">
                                          <xsl:value-of
                                             select="/metadata/metainfo/metc/cntinfo/cntfax"/>
                                       </xsl:element>
                                       <!-- gco:CharacterString -->
                                    </xsl:element>
                                    <!-- gmd:facsimile -->

                                 </xsl:element>
                                 <!-- gmd:CI_Telephone -->
                              </xsl:element>
                              <!--gmd:phone -->

                              <xsl:element name="gmd:address">
                                 <xsl:element name="gmd:CI_Address">

                                    <xsl:element name="gmd:deliveryPoint">
                                       <xsl:element name="gco:CharacterString">
                                          <xsl:value-of
                                             select="/metadata/metainfo/metc/cntinfo/cntaddr/address"
                                          />
                                       </xsl:element>
                                       <!-- gco:CharacterString -->
                                    </xsl:element>
                                    <!-- gmd:deliveryPoint -->

                                    <xsl:element name="gmd:city">
                                       <xsl:element name="gco:CharacterString">
                                          <xsl:value-of
                                             select="/metadata/metainfo/metc/cntinfo/cntaddr/city"/>
                                       </xsl:element>
                                       <!-- gco:CharacterString -->
                                    </xsl:element>
                                    <!-- gmd:city -->

                                    <xsl:element name="gmd:administrativeArea">
                                       <xsl:element name="gco:CharacterString">
                                          <xsl:value-of
                                             select="/metadata/metainfo/metc/cntinfo/cntaddr/state"
                                          />
                                       </xsl:element>
                                       <!-- gco:CharacterString -->
                                    </xsl:element>
                                    <!-- gmd:administrativeArea -->

                                    <xsl:element name="gmd:postalCode">
                                       <xsl:element name="gco:CharacterString">
                                          <xsl:value-of
                                             select="/metadata/metainfo/metc/cntinfo/cntaddr/postal"
                                          />
                                       </xsl:element>
                                       <!-- gco:CharacterString -->
                                    </xsl:element>
                                    <!-- gmd:postalCode -->

                                    <xsl:element name="gmd:country">
                                       <xsl:element name="gco:CharacterString">
                                          <xsl:value-of
                                             select="/metadata/metainfo/metc/cntinfo/cntaddr/country"
                                          />
                                       </xsl:element>
                                       <!-- gco:CharacterString -->
                                    </xsl:element>
                                    <!-- gmd:country -->

                                    <xsl:element name="gmd:electronicMailAddress">
                                       <xsl:element name="gco:CharacterString">
                                          <xsl:value-of
                                             select="/metadata/metainfo/metc/cntinfo/cntemail"/>
                                       </xsl:element>
                                       <!-- gco:CharacterString -->
                                    </xsl:element>
                                    <!-- gmd:electronicMailAddress -->

                                 </xsl:element>
                                 <!-- gmd:CI_Address -->
                              </xsl:element>
                              <!-- gmd:address -->

                           </xsl:element>
                           <!-- gmd:CI_Contact -->
                        </xsl:element>
                        <!--gmd:contactInfo -->

                        <xsl:element name="gmd:role">

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

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

                     </xsl:element>
                     <!-- gmd:CI_ResponsibleParty -->
                  </xsl:otherwise>
               </xsl:choose>
            </xsl:element>
            <!-- gmd:contact -->

         </xsl:element>
         <!-- gmd:MD_MaintenanceInformation -->
      </xsl:element>
      <!-- gmd:metadataMaintenance -->

   </xsl:template>
</xsl:stylesheet>
