<?xml version="1.0" encoding="UTF-8"?>
<!--
  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.
-->
<!DOCTYPE test-suite [

<!ENTITY XMarkQueries SYSTEM "cat/XMarkQueries.xml">

]>
<test-suite xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            CatalogDesignDate="2014-04-01"
            version="0.0.1"
            SourceOffsetPath="./"
            ResultOffsetPath="ExpectedTestResults/"
            XQueryQueryOffsetPath="Queries/XQuery/"
            XQueryXQueryOffsetPath="Queries/XQueryX/"
            XQueryFileExtension=".xq"
            XQueryXFileExtension=".xqx"
            xsi:schemaLocation="http://www.w3.org/2005/02/query-test-XQTSCatalog XQTSCatalog.xsd">
   <test-suite-info>
      <title>VXQuery XMark Test Suite</title>
      <description>
         Test Suite for VXQuery XMark.
      </description>
   </test-suite-info>
   <source ID="VXQueryXMarkCatalog" FileName="VXQueryXMarkCatalog.xml" Creator="VXQuery team">
       <description last-mod="2015-03-25">VXQuery Test Suite Catalog</description>
   </source>
   <source ID="catgraph" FileName="TestSources/XMark/SplitFiles/catgraph" Creator="Shivani Mall">
       <description last-mod="2015-03-25">Collection of files</description>
   </source>
   <source ID="categories" FileName="TestSources/XMark/SplitFiles/categories" Creator="Shivani Mall">
       <description last-mod="2015-03-25">Collection of files</description>
   </source>
   <source ID="closed_auctions" FileName="TestSources/XMark/SplitFiles/closed_auctions" Creator="Shivani Mall">
       <description last-mod="2015-03-25">Collection of files</description>
   </source>
   <source ID="open_auctions" FileName="TestSources/XMark/SplitFiles/open_auctions" Creator="Shivani Mall">
       <description last-mod="2015-03-25">Collection of files</description>
   </source>
   <source ID="people" FileName="TestSources/XMark/SplitFiles/people" Creator="Shivani Mall">
       <description last-mod="2015-03-25">Collection of files</description>
   </source>
   <source ID="regions" FileName="TestSources/XMark/SplitFiles/regions" Creator="Shivani Mall">
       <description last-mod="2015-03-25">Collection of files</description>
   </source>
   <source ID="XMarkData" FileName="TestSources/XMark/SplitFiles/" Creator="Shivani Mall">
       <description last-mod="2015-03-25">Collection of files</description>
   </source>
   <test-group name="XMarkQueries" featureOwner="Shivani Mall">
      <GroupInfo>
         <title>XMark Queries</title>
         <description/>
      </GroupInfo>
   <test-group name="XMarkQueriesExecutionTests" featureOwner="Shivani Mall">
         <GroupInfo>
            <title>XMark Execution Tests</title>
            <description/>
         </GroupInfo>
          &XMarkQueries;
      </test-group>
   </test-group>
  </test-suite>
