<?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.
-->
!$

<testSuite suiteName="$name;format="Camel"$" description="$name;format="Camel"$ tests"
  xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" 
  xmlns:fn="http://www.w3.org/2005/xpath-functions"
  xmlns:tdml="http://www.ibm.com/xmlns/dfdl/testData"
  xmlns="http://www.ibm.com/xmlns/dfdl/testData"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  defaultRoundTrip="onePass">

  <parserTestCase name="test_$name;format="camel"$_01" root="$name;format="Camel"$" model="$if(namespaced.truthy)$$package;format="packaged"$/$name;format="camel"$/xsd/$endif$$name;format="camel"$.dfdl.xsd">
    <document>
      <documentPart type="file">test_01.$extension$</documentPart>
    </document>
    <infoset>
      <dfdlInfoset type="file">test_01.$extension$.xml</dfdlInfoset>
    </infoset>
  </parserTestCase>

</testSuite>
