<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements.  See the NOTICE.txt file distributed with this work for
additional information regarding copyright ownership.  The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License.  You may obtain a copy of
the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
License for the specific language governing permissions and limitations under
the License.
-->
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cas="http://oodt.jpl.nasa.gov/1.0/cas">

    <xsl:output method="text"/>    

    <xsl:variable name="delimiter"><xsl:text>,</xsl:text></xsl:variable>
    <xsl:variable name="equalTo"><xsl:text>=</xsl:text></xsl:variable>    
    <xsl:variable name="newline"><xsl:text>&#x0A;</xsl:text></xsl:variable>
        
    <xsl:template match="/">
        <xsl:apply-templates/>
    </xsl:template>

    <xsl:template match="metadata/keyval">
        <xsl:value-of select="key"/>
        <xsl:value-of select="$equalTo"/>
        <xsl:for-each select="val">
            <xsl:value-of select="."/>
            <xsl:if test="not(position() = last())">
                <xsl:value-of select="$delimiter"/>
            </xsl:if>
        </xsl:for-each>
        <xsl:value-of select="$newline"/>
    </xsl:template>
            
</xsl:stylesheet>
