<?xml version="1.0" encoding="UTF-8"?>
<!--
	Parameter file for model version 6
	This is the DTD for the SORTIE parameter file.  This is the main file that 
	the complete parameter files are based on.  This file holds the general 
	parameters that can be expected to be needed by data objects or by multiple 
	behaviors.  In addition, all the individual behavior DTDs are collected 
	into this one.  This allows each behavior to define the types of data it 
	needs and manage that data itself.  All behavior DTDs will be listed here, 
	whether they are used or not by the parameter file.  Behavior DTDs should 
	each be enclosed in their own tag.

	All data that is species-specific must be in the form of:
	
		<speciesSpecificData>
			<dataVal species="species1name">val</dataVal>
			<dataVal species="species2name">val2</dataVal>
		</speciesSpecificData>
	
	where each species piece is identified by an attribute of type IDREF named 
	"species". 
-->

<!--Root
	The order of the following elements has been carefully constructed to put
	things which depend on each other in order in such a way as to allow for 
	successful SAX parsing with validation.
-->
<!ELEMENT paramFile (plot, 
trees, allometry, grid*, behaviorList, storm?, gliLight?, quadratlight?, sailLight?, gliMap?, lightFilter?, growth?, mortality?, substrate?,
disperse?, funcResponsePredation, germination?, establishment?, harvest?, plant?, disturbance?, analysis?, output?, shortoutput?)>
<!--Version Code - 8 digit code-->
<!ATTLIST paramFile fileCode CDATA #REQUIRED>
<!--Behavior Selection-->
<!ELEMENT behaviorList (behavior*)>
<!ELEMENT behavior (behaviorName, version, applyTo*)>
<!--behaviorName must match the namestring defined in the behavior object-->
<!ELEMENT behaviorName (#PCDATA)>
<!--version is the version number of the behavior that this file expects to run on.-->
<!ELEMENT version (#PCDATA)>
<!--applyTo represents species and type combinations to which this behavior will act on.  
The only true function of this is to control the addition of tree data members.  It can
be used by the behavior to control trees to which it will apply itself, but nothing is
stopping it from acting on whatever it wants.  The species should match the species list 
below.  Types are "seed," "seedling," "sapling," "adult," "snag", and "woody_debris".-->
<!ELEMENT applyTo EMPTY>
<!ATTLIST applyTo
	species IDREF #REQUIRED
	type (seed | seedling | sapling | adult | snag | woody_debris | stump) #REQUIRED
>

<!--Plot parameters - inlude Plot.dtd-->
<!ENTITY % plot SYSTEM "plot.dtd">
%plot;

<!--Tree parameters-->
<!ENTITY % trees SYSTEM "Trees.dtd">
%trees;

<!--Allometry parameters-->
<!ENTITY % allometry SYSTEM "Allometry.dtd">
%allometry;

<!--Grid parameters-->
<!--There could be any number of these, including zero-->
<!ENTITY % grids SYSTEM "Grid.dtd">
%grids;

<!--Storms - optional - include Storm.dtd-->
<!ENTITY % storm SYSTEM "storm.dtd">
%storm;

<!--GLI-based light parameters - optional - include GLILight.dtd-->
<!ENTITY % glilight SYSTEM "glilight.dtd">
%glilight;

<!--Quadrat GLI light - optional - include QuadratGliLight.dtd-->
<!ENTITY % quadratlight SYSTEM "quadratglilight.dtd">
%quadratlight;

<!--GLI map - optional - include GLIMap.dtd-->
<!ENTITY % gliMap SYSTEM "GLIMap.dtd">
%gliMap;

<!--GLI point - optional - include GLIPoint.dtd-->
<!ENTITY % gliPoint SYSTEM "GLIPoint.dtd">
%gliPoint;

<!--Sail light parameters - optional - include SailLight.dtd-->
<!ENTITY % saillight SYSTEM "saillight.dtd">
%saillight;

<!--Light parameters (other) - optional - include LightOther.dtd-->
<!ENTITY % lightOther SYSTEM "lightother.dtd">
%lightOther;

<!--Growth Parameters - include Growth.dtd-->
<!ENTITY % growth SYSTEM "Growth.dtd">
%growth;

<!--Mortality Parameters - include Mortality.dtd-->
<!ENTITY % mortality SYSTEM "Mortality.dtd">
%mortality;

<!--Substrate Parameters - include Substrate.dtd-->
<!ENTITY % substrate SYSTEM "Substrate.dtd">
%substrate;

<!--Dispersal Parameters - include Disperse.dtd-->
<!ENTITY % disperse SYSTEM "Disperse.dtd">
%disperse;

<!--Functional response predation parameters - include FuncResponsePredation.dtd-->
<!ENTITY % funcResponsePredation SYSTEM "FuncResponsePredation.dtd">
%funcResponsePredation;

<!--Establishment Parameters - include Establishment.dtd-->
<!ENTITY % establishment SYSTEM "Establishment.dtd">
%establishment;

<!--Harvest Parameters - include Harvest.dtd-->
<!ENTITY % harvest SYSTEM "Harvest.dtd">
%harvest;

<!--Disturbance Parameters - include Disturbance.dtd-->
<!ENTITY % disturbance SYSTEM "Disturbance.dtd">
%disturbance;

<!--Planting Parameters - include Plant.dtd-->
<!ENTITY % plant SYSTEM "Plant.dtd">
%plant;

<!--Analysis Parameters - include Analysis.dtd-->
<!ENTITY % analysis SYSTEM "Analysis.dtd">
%plant;

<!--Output Parameters - include Output.dtd-->
<!ENTITY % output SYSTEM "output.dtd">
%output;

<!--Short Output Parameters - include OutputShort.dtd-->
<!ENTITY % shortoutput SYSTEM "outputshort.dtd">



