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

<!-- -//NetBeans//DTD Filesystem 1.1//EN -->
<!-- XML representation of a fixed filesystem -->
<!-- as for example a module layer. -->
<!-- See: org.openide.filesystems.XMLFileSystem -->
<!ELEMENT filesystem   (file|folder|attr)*      >
<!ELEMENT folder       (folder|file|attr)*   >
<!ELEMENT file         (#PCDATA|attr)*>
<!ELEMENT attr    EMPTY               >
<!ATTLIST filesystem                       >
<!ATTLIST folder
          name         CDATA #REQUIRED     >
<!ATTLIST file
          name         CDATA #REQUIRED
          url          CDATA #IMPLIED      >
<!ATTLIST attr
          name         CDATA #REQUIRED
          bytevalue    CDATA #IMPLIED
          shortvalue   CDATA #IMPLIED
          intvalue     CDATA #IMPLIED
          longvalue    CDATA #IMPLIED
          floatvalue   CDATA #IMPLIED
          doublevalue  CDATA #IMPLIED
          boolvalue    CDATA #IMPLIED
          charvalue    CDATA #IMPLIED
          stringvalue  CDATA #IMPLIED
          urlvalue     CDATA #IMPLIED
          methodvalue  CDATA #IMPLIED
          newvalue     CDATA #IMPLIED
          serialvalue  CDATA #IMPLIED      >
