<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version = "1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/>

<xsl:template name="Metadata_Reference_Information" match="/">

      <!-- Metadata_Reference_Information CONTAINER -->
      <xsl:element name="metainfo">
         <!-- Metadata_Date: -->
         <xsl:element name="metd">
            <xsl:apply-templates select="//Metadata_Reference_Information/Metadata_Date" />
         </xsl:element>
         <!-- Metadata_Contact CONTAINER -->
         <xsl:element name="metc">
            <!-- Contact_Information- CONTAINER -->
            <xsl:element name="cntinfo">
               <!-- Contact_Organization_Primary- CONTAINER -->
               <xsl:element name="cntorgp">
                  <!-- Contact_Organization: -->
                  <xsl:element name="cntorg">
                     <xsl:apply-templates select="//Metadata_Reference_Information/Metadata_Contact/Contact_Organization" />
                  </xsl:element>
               </xsl:element>

               <!-- Contact_Address CONTAINER -->
               <xsl:element name="cntaddr">
                  <!-- Address_Type: -->
                  <xsl:element name="addrtype">
                     <xsl:apply-templates select="//Metadata_Reference_Information/Metadata_Contact/Contact_Address/Address_Type" />
                  </xsl:element>

                  <!-- Address:R -->
                  <!--
                     <xsl:apply-templates select="//Metadata_Reference_Information/Metadata_Contact/Contact_Address/Address" />
                     -->

                      <xsl:for-each select="//Metadata_Reference_Information/Metadata_Contact/Contact_Address/Address">
                        <xsl:call-template name="Address"/>
                      </xsl:for-each>
                  <!-- END OF LOOP -->

                  <!-- City: -->
                  <xsl:element name="city">
                     <xsl:apply-templates select="//Metadata_Reference_Information/Metadata_Contact/Contact_Address/City" />
                  </xsl:element>
                  <!-- State_or_Province: -->
                  <xsl:element name="state">
                     <xsl:apply-templates select="//Metadata_Reference_Information/Metadata_Contact/Contact_Address/State_or_Province" />
                  </xsl:element>
                  <!-- Postal_Code: -->
                  <xsl:element name="postal">
                     <xsl:apply-templates select="//Metadata_Reference_Information/Metadata_Contact/Contact_Address/Postal_Code" />
                  </xsl:element>
                  <!-- Country: -->
                  <xsl:element name="country">
                     <xsl:apply-templates select="//Metadata_Reference_Information/Metadata_Contact/Contact_Address/Country" />
                  </xsl:element>
               </xsl:element>

            <!-- Contact_Voice_Telephone:R -->
               <xsl:for-each select="//Metadata_Reference_Information/Metadata_Contact/Contact_Voice_Telephone">
                  <xsl:call-template name="Contact_Voice_Telephone"/>
               </xsl:for-each>
            <!-- END OF LOOP -->

            <!-- Contact_Facsimile_Telephone: -->
            <xsl:element name="cntfax">
               <xsl:apply-templates select="//Metadata_Reference_Information/Metadata_Contact/Contact_Facsimile_Telephone" />
            </xsl:element>
            <!-- Contact_Electronic_Mail_Address: -->
            <xsl:element name="cntemail">
               <xsl:apply-templates select="//Metadata_Reference_Information/Metadata_Contact/Contact_Electronic_Mail_Address" />
            </xsl:element>
            </xsl:element>
         </xsl:element>
         <!-- Metadata_Standard_Name: -->
         <xsl:element name="metstdn">
            <xsl:apply-templates select="//Metadata_Reference_Information/Metadata_Standard_Name" />
         </xsl:element>
         <!-- Metadata_Standard_Version: -->
         <xsl:element name="metstdv">
            <xsl:apply-templates select="//Metadata_Reference_Information/Metadata_Standard_Version" />
         </xsl:element>
      </xsl:element>

</xsl:template>

<!-- Address:R  match="Address" -->
<xsl:template name="Address">
   <xsl:element name="address">
      <xsl:value-of select="."/>
   </xsl:element>
</xsl:template>
<!-- Contact_Voice_Telephone:R match="Contact_Voice_Telephone" -->
<xsl:template name="Contact_Voice_Telephone">
   <xsl:element name="cntvoice">
      <xsl:value-of select="."/>
   </xsl:element>
</xsl:template>

</xsl:stylesheet>
<!-- -t -o test.txt testMetaInfoMRF.xml testMetaInfo.xsl -->