<?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.
-->
<?NLS TYPE="org.eclipse.help.toc"?>

<toc label="Derby Plug-ins User Guide"> 
    <topic label="Getting Started" href="topics/start_toc.html">
    <topic label="Creating a Java Project" href="topics/java_project.html" />
    <topic label="The Derby Nature" href="topics/nature_toc.html" >
        <topic label="Adding the Derby Nature to a Java project" href="topics/nature.html"/>
        <topic label="Removing the Derby Nature from a Java project" href="topics/remove_nature.html"/>
    </topic>
    <topic label="Starting and Stopping the Derby Network Server" href="topics/server_toc.html">
        <topic label="Starting the Derby Network Server" href="topics/start_server.html"/>
        <topic label="Stopping the Derby Network Server" href="topics/stop_server.html"/>
    </topic>
    <topic label="Setting Derby properties for a project" href="topics/properties.html"/>
    <topic label="Using ij" href="topics/ij_toc.html">
      <topic label="Using ij to issue SQL Commands" href="topics/ij.html" />
      <topic label="Using ij to run SQL scripts" href="topics/ij2.html" />
    </topic>
    <topic label="Creating a Java Application" href="topics/derby_app.html" />
    <topic label="Running sysinfo for environment information" href="topics/sysinfo.html"/>
    <topic label="Derby Documentation" href="topics/resources.html" />
   </topic>
</toc>
