<fsIndexCollection xmlns="http://uima.apache.org/resourceSpecifier">
	
        <!--
	 ***************************************************************
	 * Licensed to the Apache Software Foundation (ASF) under one
	 * or more contributor license agreements.  See the NOTICE 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.
	 ***************************************************************
   -->


<name>FsIndexCollectionImportedFromDataPath</name>
<description>This is for testing the import mechanism.</description>
<version>0.1</version>
<vendor>The Apache Software Foundation</vendor>
<fsIndexes>
<fsIndexDescription>
<label>TestIndex</label>
<typeName>TestType1</typeName>
<kind>sorted</kind>
<keys>
<fsIndexKey>
<featureName>Foo</featureName>
<comparator>standard</comparator>
</fsIndexKey>
</keys>
</fsIndexDescription>
</fsIndexes>
</fsIndexCollection>
