<?xml version="1.0" encoding="UTF-8"?>
<!--
The contents of this file are subject to the terms of the Common Development
and Distribution License (the License). You may not use this file except in
compliance with the License.

You can obtain a copy of the License at https://netbeans.org/cddl.html
or https://netbeans.org/cddl.txt.

When distributing Covered Code, include this CDDL Header Notice in each file
and include the License file at https://netbeans.org/cddl.txt.
If applicable, add the following below the CDDL Header, with the fields
enclosed by brackets [] replaced by your own identifying information:
"Portions Copyrighted [year] [name of copyright owner]"

The Original Software is NetBeans. The Initial Developer of the Original
Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
Microsystems, Inc. All Rights Reserved.
-->

<!--- The root connection element. -->
<!ELEMENT connection (driver-class,driver-name,database-url,schema,user,password)>

<!--- The driver class. -->
<!ELEMENT driver-class EMPTY>
<!ATTLIST driver-class
    value CDATA #REQUIRED
>

<!--- The driver name. -->
<!ELEMENT driver-name EMPTY>
<!ATTLIST driver-name
    value CDATA #REQUIRED
>

<!--- The database URL. -->
<!ELEMENT database-url EMPTY>
<!ATTLIST database-url
    value CDATA #REQUIRED
>

<!--- The schema to which to connect by default. -->
<!ELEMENT schema EMPTY>
<!ATTLIST schema
    value CDATA #REQUIRED
>

<!--- The database user to connect as. -->
<!ELEMENT user EMPTY>
<!ATTLIST user 
    value CDATA #REQUIRED
>
<!--- The database password (hashed). -->
<!ELEMENT password EMPTY>
<!ATTLIST password 
    value CDATA #REQUIRED
>
