<?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.
-->
<input>

   <group name="TokenNameListGroup">
     <scalar name="Delimeter">_</scalar>
     <vector name="TokenMetKeys">
    
     <!-- 
     [sourcename]_[tablename]_[productiondatetime].[ext]
     
     ex file name: datasource_tablename_20101129122700.txt
     -->
       <element>SourceName</element>
       <element>TableName</element>
       <element>ProductionDateTime</element>
     </vector>
  
   </group>


    <group name="SubstringOffsetGroup">
     <!--  the indices for the substring met key selection -->
     <!--  the first element is the starting index in the string -->
     <!--  NOTE: this assumes 1-indexed strings (and is internally converted to
           0-indexed.
      -->
     <!--  the second element is the length -->
     
     <!--  MissionName_Date_StartOrbitNumber_StopOrbitNumber.txt -->
     
      <vector name="MissionName">
        <element>1</element>
        <element>11</element>      
      </vector>
      
      <vector name="Date">
        <element>13</element>
        <element>4</element>
      </vector>
      
      <vector name="StartOrbitNumber">
        <element>18</element>
        <element>16</element>
      </vector>
      
      <vector name="StopOrbitNumber">
        <element>35</element>
        <element>15</element>
      </vector>
      
   </group>
   
   <group name="ProductionDateTimeGroup">
     <scalar name="DateTimeFormat">yyyyMMddHHmmss</scalar>
   </group>   
    
    <group name="CommonMetadata">
       <!--  can now use environment variable replacement in any of the values for 
             scalars or vectors, just use CAS bracket style [ENV VAR NAME]
         
             Also can use vector to indicate multiple values for a particular met field.
        -->
        <scalar name="DataVersion">1.0</scalar>
        <scalar name="CollectionName">Products extracted by the OODT Filename Met Extractor</scalar>
        <scalar name="DataProvider">OODT</scalar>
    </group>
</input>
