<?xml version="1.0" encoding="iso-8859-1" ?>
<!--

    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.

-->
<!--

        =====================================
        The DTD for IzPack Installation Files
        =====================================
$Id$

-->

<!-- The root element -->
<!ELEMENT installation (info, packaging?, properties?, variables?,dynamicvariables?,conditions?,installerrequirements?,
                        guiprefs?, locale, resources?, panels,
                        listeners?, packs, jar*, native*)>
<!ATTLIST installation version CDATA #REQUIRED>

<!-- The info section (general information on an installation) -->
<!ELEMENT info (appname, appversion, appsubpath?, authors?, url?, javaversion?, requiresjdk? uninstaller?, webdir?, summarylogfilepath?,writeinstallationinformation?)>
    <!ELEMENT appname (#PCDATA)>
    <!ELEMENT appversion (#PCDATA)>
    <!ELEMENT appsubpath (#PCDATA)>
    <!ELEMENT authors (author*)>
    <!ELEMENT author EMPTY>
        <!ATTLIST author name CDATA #REQUIRED>
        <!ATTLIST author email CDATA #REQUIRED>
    <!ELEMENT url (#PCDATA)>
    <!ELEMENT javaversion (#PCDATA)>
    <!ELEMENT requiresjdk (#PCDATA)>
    <!ELEMENT uninstaller EMPTY>
        <!ATTLIST uninstaller write (yes|no) "yes">
        <!ATTLIST uninstaller name CDATA "uninstaller.jar">
        <!ATTLIST uninstaller condition CDATA #IMPLIED>
        <!ATTLIST uninstaller path CDATA #IMPLIED>
    <!ELEMENT webdir (#PCDATA)>
    <!ELEMENT summarylogfilepath (#PCDATA)>
	<!ELEMENT writeinstallationinformation (#PCDATA)>

<!ELEMENT packaging (packager, unpacker)>
<!ELEMENT packager (options)>
<!ATTLIST packager class CDATA #REQUIRED>
<!ELEMENT options EMPTY>
<!ATTLIST options volumesize CDATA #IMPLIED>
<!ATTLIST options firstvolumefreespace CDATA #IMPLIED>
<!ELEMENT unpacker EMPTY>
<!ATTLIST unpacker class CDATA #REQUIRED>

<!-- The properties markup (property declarations) -->
<!ELEMENT properties (property*)>
    <!ELEMENT property EMPTY>
        <!ATTLIST property name CDATA #IMPLIED>
        <!ATTLIST property value CDATA #IMPLIED>
        <!ATTLIST property file CDATA #IMPLIED>
        <!ATTLIST property environment CDATA #IMPLIED>
        <!ATTLIST property prefix CDATA #IMPLIED>

<!-- The variables markup (variable declarations) -->
<!ELEMENT variables (variable*)>
    <!ELEMENT variable EMPTY>
        <!ATTLIST variable name CDATA #REQUIRED>
        <!ATTLIST variable value CDATA #REQUIRED>
        <!ATTLIST variable condition CDATA #IMPLIED>

<!-- The conditions markup (condition declarations) -->
<!ELEMENT conditions (condition*)>
<!-- condition elements can have child elements depending on the specific type -->
<!ELEMENT condition EMPTY>
<!ATTLIST condition type CDATA #REQUIRED>
<!ATTLIST condition id CDATA #REQUIRED>

<!-- The installer requirements markup -->
<!ELEMENT installerrequirements (installerrequirement*)>
<!ELEMENT installerrequirement EMPTY>
<!ATTLIST installerrequirement condition CDATA #REQUIRED>
<!ATTLIST installerrequirement message CDATA #REQUIRED>

<!ELEMENT dynamicvariables (variables*)>
<!-- The guiprefs markup (customizes the installer in GUI mode) -->
<!ELEMENT guiprefs (laf*, modifier*)>
    <!ATTLIST guiprefs resizable (yes|no) #REQUIRED>
    <!ATTLIST guiprefs width CDATA #REQUIRED>
    <!ATTLIST guiprefs height CDATA #REQUIRED>
    <!ELEMENT laf (os+, param*)>
    <!ATTLIST laf name CDATA #REQUIRED>
    <!ELEMENT param EMPTY>
        <!ATTLIST param
            name  CDATA #REQUIRED
            value CDATA #REQUIRED>
    <!-- Well defined modifier for gui characteristics.
         Possible keys are "useButtonIcons" and
         "useLabelIcons" both with value "yes" or "no".
    -->
    <!ELEMENT modifier EMPTY>
        <!ATTLIST modifier key CDATA #REQUIRED>
        <!ATTLIST modifier value CDATA #REQUIRED>


<!-- The locale section (indicates which langpacks to include) -->
<!ELEMENT locale (langpack+)>
    <!ELEMENT langpack EMPTY>
        <!ATTLIST langpack iso3 CDATA #REQUIRED>

<!-- The resources section (resources for the panel's usings) -->
<!ELEMENT resources (bundle*, res*)>

<!ELEMENT bundle ( res+ ) >
  <!ATTLIST bundle default (true|false) #IMPLIED >
  <!ATTLIST bundle id NMTOKEN #REQUIRED >

<!ELEMENT res EMPTY>
    <!ATTLIST res src CDATA #REQUIRED>
    <!ATTLIST res id CDATA #REQUIRED>
    <!ATTLIST  res parse  (yes|no) "no">
    <!ATTLIST  res type CDATA "plain">
    <!ATTLIST  res encoding CDATA #IMPLIED>

<!-- The panels section (indicates the panels to use) -->
<!ELEMENT panels (panel+)>
    <!ELEMENT panel (os*)>
        <!ATTLIST panel os (unix|windows|mac) #IMPLIED>
        <!ATTLIST panel classname CDATA #REQUIRED>
        <!ATTLIST panel condition CDATA #IMPLIED>
        <!ATTLIST panel	id CDATA #IMPLIED>
        <!ATTLIST panel jar CDATA #IMPLIED>

<!-- The listener section (indicates which listener where to use) -->
<!ELEMENT listeners (listener*)>
    <!ELEMENT listener ( os*)>
        <!ATTLIST listener compiler CDATA #IMPLIED>
        <!ATTLIST listener installer CDATA #IMPLIED>
        <!ATTLIST listener uninstaller CDATA #IMPLIED>
        <!ATTLIST listener jar CDATA #IMPLIED>

<!-- The packs section (indicates the packs to create) -->
<!ELEMENT packs ((pack|refpack)+)>
    <!ELEMENT pack (description, os*, file*, singlefile*, fileset*, updatecheck?, parsable*, executable*, depends*)>
        <!ATTLIST pack name CDATA #REQUIRED>
        <!ATTLIST pack id CDATA #IMPLIED>
        <!ATTLIST pack condition CDATA #IMPLIED>
        <!ATTLIST pack packImgId IDREF #IMPLIED>
        <!ATTLIST pack required (yes|no) #REQUIRED>
        <!ATTLIST pack preselected (yes|no) "yes">
        <!ATTLIST pack os (unix|windows|mac) #IMPLIED>
        <!ATTLIST pack loose (true|false) "false">
        <!ATTLIST pack group CDATA #IMPLIED>
        <!ATTLIST pack installGroups CDATA #IMPLIED>
        <!ATTLIST pack excludeGroup CDATA #IMPLIED>
        <!ATTLIST pack uninstall (yes|no) "yes">
        <!ATTLIST pack parent CDATA #IMPLIED>
        <!ELEMENT description (#PCDATA)>
        <!ELEMENT file (os*, additionaldata*)>
            <!ATTLIST file src CDATA #REQUIRED>
            <!ATTLIST file targetdir CDATA #REQUIRED>
            <!ATTLIST file os (unix|windows|mac) #IMPLIED>
            <!ATTLIST file override (true|false|asktrue|askfalse|update) "update">
            <!ATTLIST file condition CDATA #IMPLIED>
        <!ELEMENT singlefile (os*, additionaldata*)>
            <!ATTLIST singlefile src CDATA #REQUIRED>
            <!ATTLIST singlefile target CDATA #REQUIRED>
            <!ATTLIST singlefile os (unix|windows|mac) #IMPLIED>
            <!ATTLIST singlefile override (true|false|asktrue|askfalse|update) "update">
            <!ATTLIST files condition CDATA #IMPLIED>
    <!ELEMENT fileset (include*, exclude*, os*, additionaldata*)>
          <!ATTLIST fileset dir CDATA #REQUIRED>
          <!ATTLIST fileset targetdir CDATA #REQUIRED>
          <!ATTLIST fileset casesensitive (yes|no) "yes">
          <!ATTLIST fileset defaultexcludes (yes|no) "yes">
          <!ATTLIST fileset os (unix|windows|mac) #IMPLIED>
          <!ATTLIST fileset override (true|false|asktrue|askfalse|update) "update">
          <!ATTLIST fileset includes CDATA #IMPLIED>
          <!ATTLIST fileset excludes CDATA #IMPLIED>
          <!ATTLIST fileset condition CDATA #IMPLIED>
      <!ELEMENT include EMPTY>
            <!ATTLIST include name CDATA #REQUIRED>
      <!ELEMENT exclude EMPTY>
            <!ATTLIST exclude name CDATA #REQUIRED>
      <!ELEMENT additionaldata EMPTY>
            <!ATTLIST additionaldata key CDATA #REQUIRED>
            <!ATTLIST additionaldata value CDATA #REQUIRED>
      <!ELEMENT parsable (os*)>
          <!ATTLIST parsable targetfile CDATA #REQUIRED>
          <!ATTLIST parsable type CDATA "plain">
          <!ATTLIST parsable encoding CDATA #IMPLIED>
          <!ATTLIST parsable os (unix|windows|mac) #IMPLIED>
          <!ATTLIST parsable condition CDATA #IMPLIED>
      <!ELEMENT executable (args?, os*)>
          <!ATTLIST executable targetfile CDATA #IMPLIED>
          <!ATTLIST executable class CDATA #IMPLIED>
          <!ATTLIST executable type (bin|jar) "bin">
          <!ATTLIST executable stage (postinstall|never|uninstall) "never">
          <!ATTLIST executable failure (abort|warn|ask) "ask">
          <!ATTLIST executable keep (true|false) "false">
          <!ATTLIST executable condition CDATA #IMPLIED>
          <!ELEMENT args (arg+)>
              <!ELEMENT arg EMPTY>
                  <!ATTLIST arg value CDATA #REQUIRED>
          <!ELEMENT os EMPTY>
                  <!ATTLIST os family (unix|windows|mac) #REQUIRED>
                  <!ATTLIST os name CDATA #IMPLIED>
                  <!ATTLIST os version CDATA #IMPLIED>
                  <!ATTLIST os arch CDATA #IMPLIED>
      <!ELEMENT updatecheck (include*, exclude*)>
      <!ELEMENT depends EMPTY>
          <!ATTLIST depends packname CDATA #REQUIRED>
    <!ELEMENT refpack EMPTY>
        <!ATTLIST refpack file CDATA #REQUIRED>

<!-- Allows the inclusion in the installer or uninstaller of a native library -->
<!ELEMENT native (os*)>
    <!ATTLIST native type (izpack|3rdparty) #REQUIRED>
    <!ATTLIST native name CDATA #REQUIRED>
    <!ATTLIST native stage (install|uninstall|both) "install">
    <!ATTLIST native src CDATA #IMPLIED>

<!-- Allows the inclusion in the installer of an additional jar file content -->
<!ELEMENT jar EMPTY>
    <!ATTLIST jar src CDATA #REQUIRED>
    <!ATTLIST jar stage (install|uninstall|both) "install">