Data File DTD: Difference between revisions

From HLKitWiki
Jump to navigationJump to search
Created page with '{{context|Kit Reference|Data File Reference}} This is the XML DTD for Hero Lab data files (i.e. files ending in .dat). <pre><?xml version="1.0" standalone="yes"?> <!DOCTYPE doc...'
 
No edit summary
 
Line 1: Line 1:
{{context|Kit Reference|Data File Reference}}
{{context|Kit Reference|Data File Reference}}


This is the XML DTD for Hero Lab data files (i.e. files ending in .dat).
This is the XML DTD for Hero Lab data files (files ending in .dat) and user files (files ending in .user).


<pre><?xml version="1.0" standalone="yes"?>
<pre><?xml version="1.0" standalone="yes"?>

Latest revision as of 22:32, 23 June 2010

Context: HL Kit &#133; Kit Reference &#133; Data File Reference 

This is the XML DTD for Hero Lab data files (files ending in .dat) and user files (files ending in .user).

<?xml version="1.0" standalone="yes"?>
<!DOCTYPE document [
<!ELEMENT document (procedure*, thing*, portal*, template*, layout*, form*, panel*, sheet*, dossier*, hidden*, preclude*, editthing*, string*, faq*)>
<!ATTLIST document signature CDATA #FIXED "Hero Lab Data">

<!ELEMENT procedure (#PCDATA)>
<!ATTLIST procedure id CDATA #REQUIRED>
<!ATTLIST procedure context CDATA #IMPLIED "unknown">
<!ATTLIST procedure scripttype CDATA #IMPLIED "unknown">

<!ELEMENT thing (comment?, fieldval*, arrayval*, usesource*, tag*, bootstrap*, containerreq?, holdlimit?, gear?, link*, eval*, evalrule*, pickreq*, exprreq*, prereq*, child?, minion?)>
<!ATTLIST thing id CDATA #REQUIRED>
<!ATTLIST thing name CDATA #REQUIRED>
<!ATTLIST thing description CDATA #IMPLIED>
<!ATTLIST thing compset CDATA #REQUIRED>
<!ATTLIST thing summary CDATA #IMPLIED>
<!ATTLIST thing maxlimit CDATA #IMPLIED "0">
<!ATTLIST thing buytemplate CDATA #IMPLIED>
<!ATTLIST thing xactspecial CDATA #IMPLIED "0">
<!ATTLIST thing panellink CDATA #IMPLIED>
<!ATTLIST thing replaces CDATA #IMPLIED>
<!ATTLIST thing lotsize CDATA #IMPLIED "1">
<!ATTLIST thing stacking (solo | new | merge | never) "solo">
<!ATTLIST thing uniqueness (none | unique | useronce) "none">
<!ATTLIST thing holdable (yes | no) "yes">
<!ATTLIST thing isshowonly (yes | no) "no">

<!ELEMENT comment (#PCDATA)>

<!ELEMENT fieldval EMPTY>
<!ATTLIST fieldval field CDATA #REQUIRED>
<!ATTLIST fieldval value CDATA #REQUIRED>

<!ELEMENT arrayval EMPTY>
<!ATTLIST arrayval field CDATA #REQUIRED>
<!ATTLIST arrayval index CDATA #REQUIRED>
<!ATTLIST arrayval column CDATA #IMPLIED "0">
<!ATTLIST arrayval value CDATA #REQUIRED>

<!ELEMENT usesource EMPTY>
<!ATTLIST usesource source CDATA #IMPLIED>
<!ATTLIST usesource id CDATA #IMPLIED>
<!ATTLIST usesource parent CDATA #IMPLIED>
<!ATTLIST usesource name CDATA #IMPLIED>

<!ELEMENT tag EMPTY>
<!ATTLIST tag group CDATA #REQUIRED>
<!ATTLIST tag tag CDATA #REQUIRED>
<!ATTLIST tag name CDATA #IMPLIED>
<!ATTLIST tag abbrev CDATA #IMPLIED>

<!ELEMENT bootstrap (#PCDATA, match?, containerreq?, autotag*, assignval*)>
<!ATTLIST bootstrap thing CDATA #REQUIRED>
<!ATTLIST bootstrap index CDATA #IMPLIED "1">

<!ELEMENT match (#PCDATA)>

<!ELEMENT containerreq (#PCDATA, match?, before*, after*)>
<!ATTLIST containerreq phase CDATA #REQUIRED>
<!ATTLIST containerreq priority CDATA #REQUIRED>
<!ATTLIST containerreq name CDATA #IMPLIED>
<!ATTLIST containerreq isprimary (yes | no) "yes">

<!ELEMENT before EMPTY>
<!ATTLIST before name CDATA #REQUIRED>

<!ELEMENT after EMPTY>
<!ATTLIST after name CDATA #REQUIRED>

<!ELEMENT autotag EMPTY>
<!ATTLIST autotag group CDATA #REQUIRED>
<!ATTLIST autotag tag CDATA #REQUIRED>

<!ELEMENT assignval EMPTY>
<!ATTLIST assignval field CDATA #REQUIRED>
<!ATTLIST assignval value CDATA #REQUIRED>
<!ATTLIST assignval behavior (assign | minimum | maximum) "assign">

<!ELEMENT holdlimit (#PCDATA)>

<!ELEMENT gear (#PCDATA)>

<!ELEMENT link EMPTY>
<!ATTLIST link linkage CDATA #REQUIRED>
<!ATTLIST link thing CDATA #REQUIRED>

<!ELEMENT eval (#PCDATA, match?, before*, after*)>
<!ATTLIST eval phase CDATA #REQUIRED>
<!ATTLIST eval priority CDATA #IMPLIED "100">
<!ATTLIST eval index CDATA #IMPLIED "1">
<!ATTLIST eval runlimit CDATA #IMPLIED "0">
<!ATTLIST eval sortas CDATA #IMPLIED>
<!ATTLIST eval name CDATA #IMPLIED>
<!ATTLIST eval isprimary (yes | no) "yes">
<!ATTLIST eval iseach (yes | no) "yes">

<!ELEMENT evalrule (#PCDATA, match?, before*, after*)>
<!ATTLIST evalrule phase CDATA #REQUIRED>
<!ATTLIST evalrule priority CDATA #IMPLIED "100">
<!ATTLIST evalrule index CDATA #IMPLIED "1">
<!ATTLIST evalrule runlimit CDATA #IMPLIED "0">
<!ATTLIST evalrule sortas CDATA #IMPLIED>
<!ATTLIST evalrule name CDATA #IMPLIED>
<!ATTLIST evalrule isprimary (yes | no) "yes">
<!ATTLIST evalrule iseach (yes | no) "yes">
<!ATTLIST evalrule message CDATA #REQUIRED>
<!ATTLIST evalrule summary CDATA #IMPLIED>
<!ATTLIST evalrule severity (error | warning) "error">
<!ATTLIST evalrule reportlimit CDATA #IMPLIED "0">
<!ATTLIST evalrule issilent (yes | no) "no">

<!ELEMENT pickreq EMPTY>
<!ATTLIST pickreq thing CDATA #REQUIRED>
<!ATTLIST pickreq iserror (yes | no) "yes">
<!ATTLIST pickreq onlyonce (yes | no) "no">
<!ATTLIST pickreq issilent (yes | no) "no">
<!ATTLIST pickreq ispreclude (yes | no) "no">
<!ATTLIST pickreq ispanelhighlight (yes | no) "yes">

<!ELEMENT exprreq (#PCDATA)>
<!ATTLIST exprreq message CDATA #REQUIRED>
<!ATTLIST exprreq iserror (yes | no) "yes">
<!ATTLIST exprreq onlyonce (yes | no) "no">
<!ATTLIST exprreq issilent (yes | no) "no">
<!ATTLIST exprreq ispanelhighlight (yes | no) "yes">

<!ELEMENT prereq (match?, test?, validate?)>
<!ATTLIST prereq message CDATA #REQUIRED>
<!ATTLIST prereq iserror (yes | no) "yes">
<!ATTLIST prereq onlyonce (yes | no) "no">
<!ATTLIST prereq issilent (yes | no) "no">
<!ATTLIST prereq ispanelhighlight (yes | no) "yes">

<!ELEMENT test (#PCDATA)>

<!ELEMENT validate (#PCDATA)>

<!ELEMENT child (tag*, bootstrap*)>
<!ATTLIST child entity CDATA #REQUIRED>

<!ELEMENT minion (tag*, bootstrap*)>
<!ATTLIST minion id CDATA #REQUIRED>
<!ATTLIST minion ownmode (yes | no) "yes">
<!ATTLIST minion isinherit (yes | no) "yes">
<!ATTLIST minion livefield CDATA #IMPLIED>

<!ELEMENT portal (label?, image_field?, image_user?, image_literal?, image_reference?, incrementer?, edit?, edit_date?, checkbox?, menu_things?, menu_literal?, menu_array?, chooser_table?, action?, region?, table_fixed?, table_dynamic?, table_auto?, alliance?, separator?, output_label?, output_dots?, output_image?, output_table?, output_separator?, live?, mouseinfo?)>
<!ATTLIST portal id CDATA #REQUIRED>
<!ATTLIST portal style CDATA #REQUIRED>
<!ATTLIST portal width CDATA #IMPLIED "0">
<!ATTLIST portal height CDATA #IMPLIED "0">
<!ATTLIST portal tiptext CDATA #IMPLIED>
<!ATTLIST portal isheader (yes | no) "no">
<!ATTLIST portal showinvalid (yes | no) "no">
<!ATTLIST portal showdisabled (yes | no) "yes">

<!ELEMENT label (labeltext?)>
<!ATTLIST label text CDATA #IMPLIED>
<!ATTLIST label field CDATA #IMPLIED>
<!ATTLIST label ismultiline (yes | no) "no">
<!ATTLIST label scrollable (yes | no) "no">
<!ATTLIST label istitle (yes | no) "no">

<!ELEMENT labeltext (#PCDATA)>

<!ELEMENT image_field EMPTY>
<!ATTLIST image_field field CDATA #REQUIRED>
<!ATTLIST image_field istransparent (yes | no) "no">

<!ELEMENT image_user EMPTY>
<!ATTLIST image_user field CDATA #REQUIRED>

<!ELEMENT image_literal EMPTY>
<!ATTLIST image_literal image CDATA #REQUIRED>
<!ATTLIST image_literal isbuiltin (yes | no) "no">
<!ATTLIST image_literal istransparent (yes | no) "no">

<!ELEMENT image_reference EMPTY>
<!ATTLIST image_reference field CDATA #REQUIRED>

<!ELEMENT incrementer EMPTY>
<!ATTLIST incrementer field CDATA #REQUIRED>
<!ATTLIST incrementer interval CDATA #IMPLIED "1">

<!ELEMENT edit EMPTY>
<!ATTLIST edit field CDATA #REQUIRED>
<!ATTLIST edit maxlength CDATA #IMPLIED "0">
<!ATTLIST edit ismultiline (yes | no) "no">
<!ATTLIST edit readonly (yes | no) "no">
<!ATTLIST edit format (any | integer | float) "any">
<!ATTLIST edit signed (yes | no) "no">

<!ELEMENT edit_date EMPTY>
<!ATTLIST edit_date field CDATA #REQUIRED>
<!ATTLIST edit_date format (realdate | gamedate | realtime | gametime) "realdate">
<!ATTLIST edit_date readonly (yes | no) "no">

<!ELEMENT checkbox EMPTY>
<!ATTLIST checkbox field CDATA #REQUIRED>
<!ATTLIST checkbox message CDATA #IMPLIED>
<!ATTLIST checkbox dynamicfield CDATA #IMPLIED>
<!ATTLIST checkbox readonly (yes | no) "no">

<!ELEMENT menu_things (candidate?, change?)>
<!ATTLIST menu_things field CDATA #REQUIRED>
<!ATTLIST menu_things component CDATA #REQUIRED>
<!ATTLIST menu_things defthing CDATA #IMPLIED>
<!ATTLIST menu_things maxvisible CDATA #IMPLIED "5">
<!ATTLIST menu_things usepicks (thing | container | hero | lead | minion | actor | miniontree | no | yes) "thing">
<!ATTLIST menu_things sortset CDATA #IMPLIED "_NameSeq_">
<!ATTLIST menu_things usepicksfield CDATA #IMPLIED>
<!ATTLIST menu_things candidatefield CDATA #IMPLIED>
<!ATTLIST menu_things namefield CDATA #IMPLIED>

<!ELEMENT candidate (#PCDATA)>
<!ATTLIST candidate inheritlist (yes | no) "no">

<!ELEMENT change (#PCDATA)>

<!ELEMENT menu_literal (choice+, change?)>
<!ATTLIST menu_literal field CDATA #REQUIRED>
<!ATTLIST menu_literal maxvisible CDATA #IMPLIED "5">
<!ATTLIST menu_literal allowuservalue (yes | no) "no">

<!ELEMENT choice EMPTY>
<!ATTLIST choice display CDATA #REQUIRED>
<!ATTLIST choice value CDATA #IMPLIED>

<!ELEMENT menu_array (change?)>
<!ATTLIST menu_array field CDATA #REQUIRED>
<!ATTLIST menu_array array CDATA #REQUIRED>
<!ATTLIST menu_array maxvisible CDATA #IMPLIED "5">

<!ELEMENT chooser_table (candidate?, needtag*, denytag*, xacttag*, secondary?, existence?, autotag*, chosen, titlebar?, description?, change?)>
<!ATTLIST chooser_table component CDATA #REQUIRED>
<!ATTLIST chooser_table choosetemplate CDATA #REQUIRED>
<!ATTLIST chooser_table choosepicks (thing | container | hero | lead | minion | actor | miniontree | no | yes) "thing">
<!ATTLIST chooser_table choosesortset CDATA #IMPLIED>
<!ATTLIST chooser_table descwidth CDATA #IMPLIED "250">
<!ATTLIST chooser_table choosegaphorz CDATA #IMPLIED "0">
<!ATTLIST chooser_table choosegapvert CDATA #IMPLIED "0">
<!ATTLIST chooser_table buytemplate CDATA #IMPLIED>
<!ATTLIST chooser_table xactspecial CDATA #IMPLIED "0">
<!ATTLIST chooser_table linkage CDATA #IMPLIED>
<!ATTLIST chooser_table candidatepick CDATA #IMPLIED>
<!ATTLIST chooser_table candidatefield CDATA #IMPLIED>
<!ATTLIST chooser_table showupdate (yes | no) "no">
<!ATTLIST chooser_table prereqtarget (container | hero | parent) "container">
<!ATTLIST chooser_table selectnone (yes | no) "no">
<!ATTLIST chooser_table empty CDATA #IMPLIED>
<!ATTLIST chooser_table useagentcandidate (yes | no) "no">
<!ATTLIST chooser_table useagentlinkage (yes | no) "no">
<!ATTLIST chooser_table agentautotag CDATA #IMPLIED>

<!ELEMENT needtag EMPTY>
<!ATTLIST needtag container CDATA #REQUIRED>
<!ATTLIST needtag thing CDATA #REQUIRED>
<!ATTLIST needtag usehero (yes | no) "no">

<!ELEMENT denytag EMPTY>
<!ATTLIST denytag container CDATA #REQUIRED>
<!ATTLIST denytag thing CDATA #REQUIRED>
<!ATTLIST denytag usehero (yes | no) "no">

<!ELEMENT xacttag EMPTY>
<!ATTLIST xacttag tag CDATA #REQUIRED>

<!ELEMENT secondary (#PCDATA)>
<!ATTLIST secondary phase CDATA #IMPLIED>
<!ATTLIST secondary priority CDATA #IMPLIED>

<!ELEMENT existence (#PCDATA)>
<!ATTLIST existence phase CDATA #IMPLIED>
<!ATTLIST existence priority CDATA #IMPLIED>

<!ELEMENT chosen (#PCDATA)>

<!ELEMENT titlebar (#PCDATA)>

<!ELEMENT description (#PCDATA)>

<!ELEMENT action (trigger?)>
<!ATTLIST action action (delete | info | edit | form | trigger | gear | notes | name | load | lock | unlock | master | minion | getgear | combatstart | combatend | newturn | newpass | initchange | integrate | dashsort | initreroll) "delete">
<!ATTLIST action buttontext CDATA #IMPLIED>
<!ATTLIST action panel CDATA #IMPLIED>
<!ATTLIST action form CDATA #IMPLIED>
<!ATTLIST action field CDATA #IMPLIED>
<!ATTLIST action confirm CDATA #IMPLIED>
<!ATTLIST action minion CDATA #IMPLIED>

<!ELEMENT trigger (#PCDATA)>

<!ELEMENT region EMPTY>

<!ELEMENT table_fixed (list?, headertitle?)>
<!ATTLIST table_fixed component CDATA #REQUIRED>
<!ATTLIST table_fixed showtemplate CDATA #IMPLIED>
<!ATTLIST table_fixed showpicks (thing | container | hero | lead | minion | actor | miniontree | no | yes) "container">
<!ATTLIST table_fixed allowuserorder (yes | no) "no">
<!ATTLIST table_fixed alwaysupdate (yes | no) "no">
<!ATTLIST table_fixed scrollable (yes | no) "yes">
<!ATTLIST table_fixed headertemplate CDATA #IMPLIED>
<!ATTLIST table_fixed headerpick CDATA #IMPLIED>
<!ATTLIST table_fixed footertemplate CDATA #IMPLIED>
<!ATTLIST table_fixed showsortset CDATA #IMPLIED>
<!ATTLIST table_fixed ordercomponent CDATA #IMPLIED>
<!ATTLIST table_fixed columns CDATA #IMPLIED "1">
<!ATTLIST table_fixed showfixedlast (yes | no) "no">
<!ATTLIST table_fixed showgapx CDATA #IMPLIED "0">
<!ATTLIST table_fixed showgapy CDATA #IMPLIED "0">
<!ATTLIST table_fixed agentlist CDATA #IMPLIED>

<!ELEMENT list (#PCDATA)>

<!ELEMENT headertitle (#PCDATA)>

<!ELEMENT table_dynamic (list?, candidate?, restriction?, needtag*, denytag*, xacttag*, secondary?, existence?, autotag*, titlebar?, description?, headertitle?, additem?)>
<!ATTLIST table_dynamic component CDATA #REQUIRED>
<!ATTLIST table_dynamic showtemplate CDATA #REQUIRED>
<!ATTLIST table_dynamic choosetemplate CDATA #REQUIRED>
<!ATTLIST table_dynamic addtemplate CDATA #IMPLIED>
<!ATTLIST table_dynamic addthing CDATA #IMPLIED>
<!ATTLIST table_dynamic addpick CDATA #IMPLIED>
<!ATTLIST table_dynamic addspace CDATA #IMPLIED "2">
<!ATTLIST table_dynamic choosepicks (thing | container | hero | lead | minion | actor | miniontree | no | yes) "thing">
<!ATTLIST table_dynamic ismultiadd (yes | no) "yes">
<!ATTLIST table_dynamic showsortset CDATA #IMPLIED>
<!ATTLIST table_dynamic choosesortset CDATA #IMPLIED>
<!ATTLIST table_dynamic descwidth CDATA #IMPLIED "250">
<!ATTLIST table_dynamic showgapx CDATA #IMPLIED "0">
<!ATTLIST table_dynamic showgapy CDATA #IMPLIED "0">
<!ATTLIST table_dynamic choosegapx CDATA #IMPLIED "0">
<!ATTLIST table_dynamic choosegapy CDATA #IMPLIED "0">
<!ATTLIST table_dynamic headertemplate CDATA #IMPLIED>
<!ATTLIST table_dynamic headerpick CDATA #IMPLIED>
<!ATTLIST table_dynamic allowuserorder (yes | no) "no">
<!ATTLIST table_dynamic ordercomponent CDATA #IMPLIED>
<!ATTLIST table_dynamic alwaysupdate (yes | no) "no">
<!ATTLIST table_dynamic scrollable (yes | no) "yes">
<!ATTLIST table_dynamic showfrozenfixed (yes | no) "no">
<!ATTLIST table_dynamic buytemplate CDATA #IMPLIED>
<!ATTLIST table_dynamic selltemplate CDATA #IMPLIED>
<!ATTLIST table_dynamic xactspecial CDATA #IMPLIED "0">
<!ATTLIST table_dynamic linkage CDATA #IMPLIED>
<!ATTLIST table_dynamic allowstack (yes | no) "yes">
<!ATTLIST table_dynamic candidatepick CDATA #IMPLIED>
<!ATTLIST table_dynamic candidatefield CDATA #IMPLIED>
<!ATTLIST table_dynamic prereqtarget (container | hero | parent) "container">
<!ATTLIST table_dynamic columns CDATA #IMPLIED "1">
<!ATTLIST table_dynamic showfixedlast (yes | no) "no">
<!ATTLIST table_dynamic empty CDATA #IMPLIED>
<!ATTLIST table_dynamic agentlist CDATA #IMPLIED>
<!ATTLIST table_dynamic useagentcandidate (yes | no) "no">
<!ATTLIST table_dynamic useagentadd (yes | no) "no">
<!ATTLIST table_dynamic useagentlinkage (yes | no) "no">
<!ATTLIST table_dynamic agentautotag CDATA #IMPLIED>

<!ELEMENT restriction (#PCDATA)>

<!ELEMENT additem (#PCDATA)>

<!ELEMENT table_auto (list?, secondary?, existence?, autotag*, headertitle?, additem?)>
<!ATTLIST table_auto component CDATA #REQUIRED>
<!ATTLIST table_auto showtemplate CDATA #IMPLIED>
<!ATTLIST table_auto autothing CDATA #REQUIRED>
<!ATTLIST table_auto addtemplate CDATA #IMPLIED>
<!ATTLIST table_auto addthing CDATA #IMPLIED>
<!ATTLIST table_auto addpick CDATA #IMPLIED>
<!ATTLIST table_auto addspace CDATA #IMPLIED "2">
<!ATTLIST table_auto showgapx CDATA #IMPLIED "0">
<!ATTLIST table_auto showgapy CDATA #IMPLIED "0">
<!ATTLIST table_auto headertemplate CDATA #IMPLIED>
<!ATTLIST table_auto headerpick CDATA #IMPLIED>
<!ATTLIST table_auto allowuserorder (yes | no) "no">
<!ATTLIST table_auto alwaysupdate (yes | no) "no">
<!ATTLIST table_auto scrollable (yes | no) "yes">
<!ATTLIST table_auto showfrozenfixed (yes | no) "no">
<!ATTLIST table_auto showsortset CDATA #IMPLIED>
<!ATTLIST table_auto ordercomponent CDATA #IMPLIED>
<!ATTLIST table_auto linkage CDATA #IMPLIED>
<!ATTLIST table_auto prereqtarget (container | hero | parent) "container">
<!ATTLIST table_auto columns CDATA #IMPLIED "1">
<!ATTLIST table_auto gap CDATA #IMPLIED "0">
<!ATTLIST table_auto agentlist CDATA #IMPLIED>
<!ATTLIST table_auto useagentadd (yes | no) "no">
<!ATTLIST table_auto useagentlinkage (yes | no) "no">
<!ATTLIST table_auto agentautotag CDATA #IMPLIED>

<!ELEMENT alliance EMPTY>

<!ELEMENT separator EMPTY>
<!ATTLIST separator isvertical (yes | no) "no">

<!ELEMENT output_label (labeltext?)>
<!ATTLIST output_label text CDATA #IMPLIED>
<!ATTLIST output_label field CDATA #IMPLIED>
<!ATTLIST output_label ismultiline (yes | no) "yes">

<!ELEMENT output_dots EMPTY>

<!ELEMENT output_image EMPTY>
<!ATTLIST output_image image CDATA #IMPLIED>
<!ATTLIST output_image field CDATA #IMPLIED>
<!ATTLIST output_image istransparent (yes | no) "no">

<!ELEMENT output_table (list?, headertitle?)>
<!ATTLIST output_table component CDATA #REQUIRED>
<!ATTLIST output_table showtemplate CDATA #REQUIRED>
<!ATTLIST output_table showpicks (thing | container | hero | lead | minion | actor | miniontree | no | yes) "container">
<!ATTLIST output_table varyheight (yes | no) "no">
<!ATTLIST output_table showsortset CDATA #IMPLIED>
<!ATTLIST output_table headertemplate CDATA #IMPLIED>
<!ATTLIST output_table headerpick CDATA #IMPLIED>
<!ATTLIST output_table showgapx CDATA #IMPLIED "0">
<!ATTLIST output_table showgapy CDATA #IMPLIED "0">
<!ATTLIST output_table columns CDATA #IMPLIED "1">

<!ELEMENT output_separator EMPTY>
<!ATTLIST output_separator isvertical (yes | no) "no">

<!ELEMENT live (#PCDATA)>

<!ELEMENT mouseinfo (#PCDATA)>
<!ATTLIST mouseinfo mousepos (summary | left+above | left+center | left+below | middle+above | middle+below | right+above | right+center | right+below) "middle+above">

<!ELEMENT template (live?, portal+, position?, header?)>
<!ATTLIST template id CDATA #REQUIRED>
<!ATTLIST template name CDATA #REQUIRED>
<!ATTLIST template compset CDATA #REQUIRED>
<!ATTLIST template width CDATA #IMPLIED>
<!ATTLIST template height CDATA #IMPLIED "100">
<!ATTLIST template marginhorz CDATA #IMPLIED "0">
<!ATTLIST template marginvert CDATA #IMPLIED "0">
<!ATTLIST template istransaction (yes | no) "no">

<!ELEMENT position (#PCDATA)>

<!ELEMENT header (#PCDATA)>

<!ELEMENT layout (comment?, live?, portalref*, templateref*, position?)>
<!ATTLIST layout id CDATA #REQUIRED>
<!ATTLIST layout marginhorz CDATA #IMPLIED "0">
<!ATTLIST layout marginvert CDATA #IMPLIED "0">

<!ELEMENT portalref EMPTY>
<!ATTLIST portalref portal CDATA #REQUIRED>
<!ATTLIST portalref reference CDATA #IMPLIED>
<!ATTLIST portalref taborder CDATA #IMPLIED "0">

<!ELEMENT templateref EMPTY>
<!ATTLIST templateref template CDATA #REQUIRED>
<!ATTLIST templateref reference CDATA #IMPLIED>
<!ATTLIST templateref thing CDATA #IMPLIED>
<!ATTLIST templateref ispick (yes | no) "yes">
<!ATTLIST templateref dynamic (yes | no) "no">
<!ATTLIST templateref useagent (yes | no) "no">
<!ATTLIST templateref taborder CDATA #IMPLIED "0">

<!ELEMENT form (live?, layoutref+, position?)>
<!ATTLIST form id CDATA #REQUIRED>
<!ATTLIST form name CDATA #REQUIRED>
<!ATTLIST form order CDATA #IMPLIED "0">
<!ATTLIST form issummary (yes | no) "no">
<!ATTLIST form underlay CDATA #IMPLIED>
<!ATTLIST form defwidth CDATA #IMPLIED "300">
<!ATTLIST form defheight CDATA #IMPLIED "300">
<!ATTLIST form minwidth CDATA #IMPLIED "0">
<!ATTLIST form minheight CDATA #IMPLIED "0">
<!ATTLIST form maxwidth CDATA #IMPLIED "0">
<!ATTLIST form maxheight CDATA #IMPLIED "0">
<!ATTLIST form marginhorz CDATA #IMPLIED "0">
<!ATTLIST form marginvert CDATA #IMPLIED "0">
<!ATTLIST form agentpick CDATA #IMPLIED>
<!ATTLIST form agentlive CDATA #IMPLIED>
<!ATTLIST form agentcompset CDATA #IMPLIED>
<!ATTLIST form agentname CDATA #IMPLIED "name">

<!ELEMENT layoutref EMPTY>
<!ATTLIST layoutref layout CDATA #REQUIRED>
<!ATTLIST layoutref reference CDATA #IMPLIED>

<!ELEMENT panel (live?, layoutref+, position?)>
<!ATTLIST panel id CDATA #REQUIRED>
<!ATTLIST panel name CDATA #REQUIRED>
<!ATTLIST panel order CDATA #IMPLIED "0">
<!ATTLIST panel issummary (yes | no) "no">
<!ATTLIST panel underlay CDATA #IMPLIED>
<!ATTLIST panel defwidth CDATA #IMPLIED "300">
<!ATTLIST panel defheight CDATA #IMPLIED "300">
<!ATTLIST panel minwidth CDATA #IMPLIED "0">
<!ATTLIST panel minheight CDATA #IMPLIED "0">
<!ATTLIST panel maxwidth CDATA #IMPLIED "0">
<!ATTLIST panel maxheight CDATA #IMPLIED "0">
<!ATTLIST panel marginhorz CDATA #IMPLIED "0">
<!ATTLIST panel marginvert CDATA #IMPLIED "0">
<!ATTLIST panel agentpick CDATA #IMPLIED>
<!ATTLIST panel agentlive CDATA #IMPLIED>
<!ATTLIST panel agentcompset CDATA #IMPLIED>
<!ATTLIST panel agentname CDATA #IMPLIED "name">

<!ELEMENT sheet (live?, layoutref+, position?)>
<!ATTLIST sheet id CDATA #REQUIRED>
<!ATTLIST sheet name CDATA #REQUIRED>
<!ATTLIST sheet landscape (yes | no) "no">
<!ATTLIST sheet spillover (yes | no) "no">

<!ELEMENT dossier ANY>
<!ATTLIST dossier id CDATA #REQUIRED>
<!ATTLIST dossier name CDATA #REQUIRED>

<!ELEMENT dossier_sheet (live?, sheetref*)>
<!ATTLIST dossier_sheet grouping CDATA #REQUIRED>
<!ATTLIST dossier_sheet default (yes | no) "no">

<!ELEMENT sheetref EMPTY>
<!ATTLIST sheetref sheet CDATA #REQUIRED>

<!ELEMENT dossier_text (live?, synthesize*)>
<!ATTLIST dossier_text grouping CDATA #REQUIRED>
<!ATTLIST dossier_text styles CDATA #IMPLIED>
<!ATTLIST dossier_text default (yes | no) "no">

<!ELEMENT synthesize (#PCDATA)>

<!ELEMENT dossier_export (synthesize*)>
<!ATTLIST dossier_export filename CDATA #IMPLIED>
<!ATTLIST dossier_export location CDATA #IMPLIED>

<!ELEMENT hidden EMPTY>
<!ATTLIST hidden id CDATA #REQUIRED>
<!ATTLIST hidden type (thing) "thing">

<!ELEMENT preclude EMPTY>
<!ATTLIST preclude id CDATA #REQUIRED>
<!ATTLIST preclude source CDATA #REQUIRED>

<!ELEMENT editthing (inputthing*, prereq*)>
<!ATTLIST editthing compset CDATA #REQUIRED>
<!ATTLIST editthing name CDATA #REQUIRED>
<!ATTLIST editthing summary CDATA #REQUIRED>
<!ATTLIST editthing description CDATA #REQUIRED>
<!ATTLIST editthing prefix CDATA #IMPLIED>
<!ATTLIST editthing defunique (none | unique | useronce) "none">

<!ELEMENT inputthing (it_field?, it_tagcheck?, it_tagpick?, it_taglist?, it_bootstrap?, it_bootlist?, it_bootcustom?, it_linkage?, it_separator?)>
<!ATTLIST inputthing name CDATA #REQUIRED>
<!ATTLIST inputthing helptext CDATA #IMPLIED>

<!ELEMENT it_field EMPTY>
<!ATTLIST it_field field CDATA #REQUIRED>
<!ATTLIST it_field ismultiline (yes | no) "no">

<!ELEMENT it_tagcheck EMPTY>
<!ATTLIST it_tagcheck group CDATA #REQUIRED>
<!ATTLIST it_tagcheck tag CDATA #REQUIRED>
<!ATTLIST it_tagcheck default (yes | no) "no">

<!ELEMENT it_tagpick (extratag*)>
<!ATTLIST it_tagpick group CDATA #REQUIRED>
<!ATTLIST it_tagpick tag CDATA #REQUIRED>
<!ATTLIST it_tagpick deftag CDATA #IMPLIED>
<!ATTLIST it_tagpick require (yes | no) "no">
<!ATTLIST it_tagpick dynamic (yes | no) "no">
<!ATTLIST it_tagpick title CDATA #IMPLIED>
<!ATTLIST it_tagpick addtitle CDATA #IMPLIED>

<!ELEMENT extratag EMPTY>
<!ATTLIST extratag group CDATA #REQUIRED>
<!ATTLIST extratag tag CDATA #REQUIRED>
<!ATTLIST extratag title CDATA #IMPLIED>

<!ELEMENT it_taglist (extratag*)>
<!ATTLIST it_taglist group CDATA #REQUIRED>
<!ATTLIST it_taglist tag CDATA #REQUIRED>
<!ATTLIST it_taglist deftag CDATA #IMPLIED>
<!ATTLIST it_taglist require (yes | no) "no">
<!ATTLIST it_taglist dynamic (yes | no) "no">
<!ATTLIST it_taglist title CDATA #IMPLIED>
<!ATTLIST it_taglist addtitle CDATA #IMPLIED>

<!ELEMENT it_bootstrap (match?)>
<!ATTLIST it_bootstrap compset CDATA #REQUIRED>

<!ELEMENT it_bootlist (match?)>
<!ATTLIST it_bootlist compset CDATA #REQUIRED>

<!ELEMENT it_bootcustom (match?, inputthing*)>
<!ATTLIST it_bootcustom compset CDATA #REQUIRED>

<!ELEMENT it_linkage (match?)>
<!ATTLIST it_linkage compset CDATA #REQUIRED>
<!ATTLIST it_linkage linkage CDATA #REQUIRED>

<!ELEMENT it_separator EMPTY>

<!ELEMENT string (#PCDATA, comment?)>
<!ATTLIST string id CDATA #REQUIRED>
<!ATTLIST string text CDATA #IMPLIED>

<!ELEMENT faq (#PCDATA, comment?)>
<!ATTLIST faq id CDATA #REQUIRED>
<!ATTLIST faq order CDATA #IMPLIED "100">
<!ATTLIST faq topic CDATA #REQUIRED>
<!ATTLIST faq description CDATA #IMPLIED>

]>