blob: 5edb5a9df443a13c2e227f5510c8dfdb34db0135 [file] [log] [blame]
<!ENTITY % entities 'internalEntityDecl|externalEntityDecl|unparsedEntityDecl'>
<!ENTITY % decls 'elementDecl|contentModel|attlist|notationDecl|%entities;'>
<!ENTITY % markup 'comment|processingInstruction|%decls;'>
<!ENTITY % cmodel 'any|empty|group'>
<!ENTITY % uri 'CDATA'>
<!ENTITY % pubid 'CDATA'>
<!ENTITY % boolean '(true|false)'>
<!ENTITY % token 'NMTOKEN'>
<!ENTITY % string 'CDATA'>
<!ENTITY % septype 'CDATA'> <!-- values: { ',' or '|' } -->
<!ENTITY % occurtype 'CDATA'> <!-- values: { '?' or '*' or '+' } -->
<!ELEMENT dtd ((parameterEntity|%markup;)*,externalSubset?)>
<!ATTLIST dtd sysid %uri; #IMPLIED>
<!ELEMENT externalSubset (parameterEntity|%markup;)*>
<!ATTLIST externalSubset sysid %uri; #IMPLIED>
<!ELEMENT internalEntityDecl EMPTY>
<!ATTLIST internalEntityDecl name %token; #REQUIRED
value %string; #REQUIRED>
<!ELEMENT externalEntityDecl EMPTY>
<!ATTLIST externalEntityDecl name %token; #REQUIRED
pubid %pubid; #IMPLIED
sysid %uri; #REQUIRED>
<!ELEMENT unparsedEntityDecl EMPTY>
<!ATTLIST unparsedEntityDecl name %token; #REQUIRED
pubid %pubid; #IMPLIED
sysid %uri; #IMPLIED
notation %token; #REQUIRED>
<!ELEMENT elementDecl EMPTY>
<!ATTLIST elementDecl ename %token; #REQUIRED
content %string; #REQUIRED>
<!ELEMENT contentModel (parameterEntity|%cmodel;)>
<!ELEMENT any EMPTY/>
<!ELEMENT empty EMPTY/>
<!ELEMENT group ((parameterEntity|(pcdata,separator))?,(parameterEntity|group|element|separator|occurrence)*>
<!ELEMENT pcdata EMPTY>
<!ELEMENT element EMPTY>
<!ATTLIST element name %token; #REQUIRED>
<!ELEMENT separator EMPTY>
<!ATTLIST separator type %septype; #REQUIRED>
<!ELEMENT occurrence EMPTY>
<!ATTLIST occurrence type %occurtype; #IMPLIED>
<!ELEMENT attlist (parameterEntity|attributeDecl)+>
<!ATTLIST attlist ename %token; #REQUIRED>
<!ELEMENT attributeDecl (parameterEntity|enumeration)*>
<!ATTLIST attributeDecl ename %token; #REQUIRED
aname %token; #REQUIRED
atype %string; #REQUIRED
required %boolean; #IMPLIED
fixed %boolean; #IMPLIED
default %string; #IMPLIED>
<!ELEMENT enumeration EMPTY>
<!ATTLIST enumeration value %string; #REQUIRED>
<!ELEMENT notationDecl EMPTY>
<!ATTLIST notationDecl name %token; #REQUIRED
pubid %pubid; #IMPLIED
sysid %uri; #REQUIRED>
<!ELEMENT parameterEntity ANY>
<!ATTLIST parameterEntity name %token; #REQUIRED
pubid %pubid; #IMPLIED
sysid %uri; #REQUIRED>
<!ELEMENT textDecl EMPTY>
<!ATTLIST textDecl version %string; #IMPLIED
encoding %string; #REQUIRED>
<!ELEMENT comment (#PCDATA)>
<!ELEMENT processingInstruction EMPTY>
<!ATTLIST processingInstruction target %token; #REQUIRED
data %string; #IMPLIED>