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

<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
	<uri name="http://www.ibm.com/xmlns/dfdl/testData"
		uri="platform:/resource/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/tdml.xsd" />
	<uri name="http://www.ogf.org/dfdl/dfdl-1.0/"
		uri="platform:/resource/daffodil-lib/resource_managed/main/org/apache/daffodil/xsd/DFDL_part3_model.xsd" />
	<uri name="http://www.ogf.org/dfdl/dfdl-1.0/extensions"
		uri="platform:/resource/daffodil-lib/resource_managed/main/org/apache/daffodil/xsd/dfdlx.xsd" />
	<uri name="http://www.w3.org/2001/XMLSchema"
		uri="platform:/resource/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/XMLSchema_for_DFDL.xsd" />
	<public publicId="datatypes"
		uri="platform:/resource/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/datatypes.dtd" />
	<uri name="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext"
		uri="platform:/resource/daffodil-lib/resource_managed/main/org/apache/daffodil/xsd/dafext.xsd" />
	<uri name="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int"
		uri="platform:/resource/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/dafint.xsd" />
</catalog>
