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


<oor:component-data oor:name="Drivers" oor:package="org.openoffice.Office.DataAccess" xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <node oor:name="Installed">
    <node oor:name="sdbc:dbase:*" oor:op="replace">
      <prop oor:name="Driver">
        <value>com.sun.star.comp.sdbc.dbase.ODriver</value>
      </prop>
      <prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
        <value xml:lang="en-US">dBASE</value>
      </prop>
      <node oor:name="Properties">
        <node oor:name="CharSet" oor:op="replace">
          <prop oor:name="Value" oor:type="xs:string">
            <value></value>
          </prop>
        </node>
        <node oor:name="ShowDeleted" oor:op="replace">
          <prop oor:name="Value" oor:type="xs:boolean">
            <value>false</value>
          </prop>
        </node>
        <node oor:name="EnableSQL92Check" oor:op="replace">
          <prop oor:name="Value" oor:type="xs:boolean">
            <value>false</value>
          </prop>
        </node>
        <node oor:name="AddIndexAppendix" oor:op="replace">
          <prop oor:name="Value" oor:type="xs:boolean">
            <value>false</value>
          </prop>
        </node>
      </node>
      <node oor:name="Features">
        <node oor:name="UseSQL92NamingConstraints" oor:op="replace">
          <prop oor:name="Value" oor:type="xs:boolean">
            <value>true</value>
          </prop>
        </node>
        <node oor:name="UseDOSLineEnds" oor:op="replace">
          <prop oor:name="Value" oor:type="xs:boolean">
            <value>true</value>
          </prop>
        </node>
        <node oor:name="EscapeDateTime" oor:op="replace">
          <prop oor:name="Value" oor:type="xs:boolean">
            <value>true</value>
          </prop>
        </node>
      </node>
      <node oor:name="MetaData">
        <node oor:name="SupportsTableCreation" oor:op="replace">
          <prop oor:name="Value" oor:type="xs:boolean">
            <value>true</value>
          </prop>
        </node>
        <node oor:name="SupportsBrowsing" oor:op="replace">
          <prop oor:name="Value" oor:type="xs:boolean">
            <value>true</value>
          </prop>
        </node>
        <node oor:name="FileSystemBased" oor:op="replace">
          <prop oor:name="Value" oor:type="xs:boolean">
            <value>true</value>
          </prop>
        </node>
        <node oor:name="MediaType" oor:op="replace">
          <prop oor:name="Value" oor:type="xs:string">
            <value>application/dbase</value>
          </prop>
        </node>
      </node>
    </node>
  </node>
</oor:component-data>
