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

<!--
   Name:  13_gmd:distributionInfo.xsl
   Author:  Matthew J. McCready
   Date:  20110611
   Description:  XSLT stylesheet that transforms Section 6 of an
                 FGDC format file into the gmd:distributionInfo ISO file. This stylesheet is called by the master stylesheet.
                
   Modification History:
      Initial   Date      Change Request ID   Description
      MMC       07/07/2011                    Inserted a choose structure for the gmd:version element. This element relates to either the formname or formver
                                               element in the CSDGM. In the CSDGM, a user must choose from only one of the previously mentioned elements.     
-->

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

<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:template name="distributionInfo" match="/">

<xsl:element name="gmd:distributionInfo">
<xsl:element name="gmd:MD_Distribution">
<xsl:element name="gmd:distributionFormat">
<xsl:element name="gmd:MD_Format">

<xsl:element name="gmd:name">
<xsl:element name="gco:CharacterString"><xsl:value-of select="/metadata/distinfo/stdorder/digform/digtinfo/formname"/> </xsl:element><!-- gco:CharacterString -->
</xsl:element><!-- gmd:name -->


<xsl:choose>
<xsl:when test="/metadata/distinfo/stdorder/digform/digtinfo/formvern">
<xsl:element name="gmd:version">
<xsl:element name="gco:CharacterString"><xsl:value-of select="/metadata/distinfo/stdorder/digform/digtinfo/formvern"/></xsl:element><!-- gco:CharacterString -->
</xsl:element><!-- gmd:version -->
</xsl:when>

<xsl:when test="/metadata/distinfo/stdorder/digform/digtinfo/formverd">
<xsl:element name="gmd:version">
<xsl:element name="gco:CharacterString"><xsl:value-of select="/metadata/distinfo/stdorder/digform/digtinfo/formverd"/></xsl:element><!-- gco:CharacterString -->
</xsl:element><!-- gmd:amendmentNumber -->
</xsl:when>
</xsl:choose>

</xsl:element><!-- gmd:MD_Format -->
</xsl:element><!-- gmd:distributionFormat -->

<xsl:element name="gmd:distributor">
<xsl:element name="gmd:MD_Distributor">
<xsl:element name="gmd:distributorContact">

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

<xsl:element name="gmd:organisationName">
<xsl:element name="gco:CharacterString"><xsl:value-of select="/metadata/distinfo[1]/distrib[1]/cntinfo[1]/cntorgp/cntorg"/> </xsl:element><!-- gco:CharacterString -->
</xsl:element><!-- gmd:organisationName -->

<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/distinfo[1]/distrib/cntinfo/cntvoice"/></xsl:element><!-- gco:CharacterString -->
</xsl:element><!-- gmd:voice -->

<xsl:element name="gmd:facsimile">
<xsl:element name="gco:CharacterString"><xsl:value-of select="/metadata/distinfo[1]/distrib/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/distinfo/distrib/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/distinfo/distrib/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/distinfo/distrib/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/distinfo/distrib/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/distinfo/distrib/cntinfo/cntaddr/postal"/> </xsl:element><!-- gco:CharacterString -->
</xsl:element><!-- gmd:country -->

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


</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">distributor </xsl:attribute>
<xsl:attribute name="codeSpace">005 </xsl:attribute>distributor
</xsl:element><!-- gmd:CI_RoleCode -->
</xsl:element><!-- gmd:role -->

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

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

<xsl:element name="gmd:distributionOrderProcess">
<xsl:element name="gmd:MD_StandardOrderProcess">

<xsl:element name="gmd:fees">
<xsl:element name="gco:CharacterString"><xsl:value-of select="/metadata/distinfo/stdorder/fees"/> </xsl:element><!-- gco:CharacterString -->
</xsl:element><!-- gmd:fees -->

<xsl:element name="gmd:orderingInstructions">
<xsl:element name="gco:CharacterString"><xsl:value-of select="/metadata/distinfo/stdorder/ordering"/> </xsl:element><!-- gco:CharacterString -->
</xsl:element><!-- gmd:orderingInstructions -->

</xsl:element><!-- gmd:MD_StandardOrderProcess -->
</xsl:element><!-- gmd:distributionOrderProcess -->

</xsl:element><!-- gmd:MD_Distributor -->
</xsl:element><!-- gmd:distributor -->

<!-- online -->
<xsl:element name="gmd:transferOptions">
<xsl:element name="gmd:MD_DigitalTransferOptions">

<xsl:element name="gmd:onLine">
<xsl:element name="gmd:CI_OnlineResource">
<xsl:element name="gmd:linkage">
<xsl:element name="gmd:URL"><xsl:value-of select="/metadata/distinfo/stdorder/digform/digtopt/onlinopt/computer/networka/networkr"/></xsl:element><!-- gmd:URL --> 
</xsl:element><!-- gmd:linkage -->
</xsl:element><!-- gmd:CI_OnlineResource -->
</xsl:element><!-- gmd:onLine -->

</xsl:element><!-- gmd:MD_DigitalTransferOptions -->
</xsl:element><!-- gmd:transferOptions -->

<!-- offline -->

<xsl:element name="gmd:transferOptions">
<xsl:element name="gmd:MD_DigitalTransferOptions">

<xsl:element name="gmd:offLine">
<xsl:element name="gmd:MD_Medium">

<xsl:element name="gmd:name"> </xsl:element><!-- gmd:name -->

<xsl:if test="/metadata/distinfo/stdorder/digform/digtopt/offoptn/recfmt">
<xsl:call-template name="MD_MediumFormatCode"/> 
</xsl:if>


</xsl:element><!-- gmd:MD_Medium -->
</xsl:element><!-- gmd:offLine -->

</xsl:element><!-- gmd:MD_DigitalTransferOptions -->
</xsl:element><!-- gmd:transferOptions -->

<!-- ending the elements -->
</xsl:element><!-- gmd:MD_Distribution -->
</xsl:element><!-- gmd:distributionInfo -->

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

