<!ELEMENT passolo_macrotemplate (header, code)>

<!ELEMENT header (name | info | string | parameter)*>

	<!ELEMENT name (#PCDATA)>
	<!ATTLIST name xml:lang NMTOKEN #IMPLIED>

	<!ELEMENT info (#PCDATA)>
	<!ATTLIST info xml:lang NMTOKEN #IMPLIED>

	<!ELEMENT string (text)*>
	<!ATTLIST string id CDATA #REQUIRED>

		<!ELEMENT text (#PCDATA)>
		<!ATTLIST text xml:lang NMTOKEN #IMPLIED>

	<!ELEMENT parameter (prompt+,parinfo*,value?)>
	<!ATTLIST parameter id CDATA #REQUIRED>
	<!ATTLIST parameter type ( bool | string ) #REQUIRED>

		<!ELEMENT prompt (#PCDATA)>
		<!ATTLIST prompt xml:lang NMTOKEN #IMPLIED>

		<!ELEMENT parinfo (#PCDATA)>
		<!ATTLIST parinfo xml:lang NMTOKEN #IMPLIED>

		<!ELEMENT value (#PCDATA)>

<!ELEMENT code (#PCDATA)>
<!ATTLIST code ext (bas | obm | cls) #IMPLIED>