<?xml version="1.0" encoding="UTF-8"?>
<!-- DTD for Fusebox 4.1 fusebox.xml file (http://www.fusebox.org), version 4.1.0 -->
<!-- $Id: fusebox.dtd,v 1.3 2005/01/08 05:46:17 johnq Exp $ -->
<!ELEMENT fusebox (circuits, classes, lexicons, parameters, globalfuseactions, plugins)>

<!ELEMENT circuits (circuit+)>
<!ELEMENT circuit EMPTY>
<!ATTLIST circuit
	alias CDATA #REQUIRED
	path CDATA #REQUIRED
	parent CDATA #REQUIRED
>

<!ELEMENT classes (class*)>
<!ELEMENT class EMPTY>
<!ATTLIST class
	alias CDATA #REQUIRED
	type (component | java) #FIXED "component"
	classpath CDATA #REQUIRED
	constructor CDATA #IMPLIED
>

<!ELEMENT lexicons (lexicon*)>
<!ELEMENT lexicon EMPTY>
<!ATTLIST lexicon
	namespace CDATA #REQUIRED
	path CDATA #REQUIRED
>

<!ELEMENT parameters (parameter+)>
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
	name CDATA #REQUIRED
	value CDATA #REQUIRED
>

<!ELEMENT globalfuseactions (preprocess, postprocess)>
<!ELEMENT preprocess ((do | fuseaction)*)>
<!ELEMENT postprocess ((do | fuseaction)*)>
<!ELEMENT do EMPTY>
<!ATTLIST do
	action CDATA #REQUIRED
	contentvariable CDATA #IMPLIED
	append (true | false) #FIXED "false"
	overwrite (true | false) #FIXED "true"
>
<!ELEMENT fuseaction EMPTY>
<!ATTLIST fuseaction
	action CDATA #REQUIRED
>

<!ELEMENT plugins (phase+)>
<!ELEMENT phase (plugin*)>
<!ATTLIST phase
	name (fuseactionException | postFuseaction | postProcess | preFuseaction | preProcess | processError) #REQUIRED
>
<!ELEMENT plugin (parameter*)>
<!ATTLIST plugin
	name CDATA #REQUIRED
	template CDATA #REQUIRED
	path CDATA #REQUIRED
>
