<!ELEMENT hrhmacro EMPTY>
<!ATTLIST hrhmacro
	exclude CDATA #IMPLIED
	include CDATA #IMPLIED
	infeaturesetiby CDATA #IMPLIED>
	
<!ELEMENT hfileheader (#PCDATA)>
<!ATTLIST hfileheader
	interfacestatus CDATA #REQUIRED
	interfacevisibility CDATA #REQUIRED>
	
<!ELEMENT featureset ((hfileheader?, (featureoverride|feature)+))>
<!ATTLIST featureset
	hfilename CDATA #IMPLIED
	ibyname CDATA #IMPLIED
	namespace CDATA #IMPLIED>
	
<!ELEMENT featuredatabase ((featureset+, defaultfeaturerange*))>
<!ELEMENT feature ((hrhmacro?, comment?))>
<!ATTLIST feature
	name CDATA #REQUIRED
	statusflags CDATA #REQUIRED
	uid CDATA #REQUIRED
	userdata CDATA #IMPLIED>

<!ELEMENT featureoverride ((hrhmacro?, comment?))>
<!ATTLIST featureoverride
	name CDATA #REQUIRED
	statusflags CDATA #IMPLIED
	uid CDATA #REQUIRED
	userdata CDATA #IMPLIED>	
	
<!ELEMENT defaultfeaturerange ((comment?))>
<!ATTLIST defaultfeaturerange
	higheruid CDATA #REQUIRED
	loweruid CDATA #REQUIRED>
	
<!ELEMENT comment (#PCDATA)>
