Blob Blame History Raw
<!ENTITY  % inline.class  "pre|p|ul|li">

<!ELEMENT policy (layer+,(tunable|boolean)*)>
<!ELEMENT layer (summary,module+)>
<!ATTLIST layer
      name CDATA #REQUIRED>
<!ELEMENT module (summary,desc?,required?,(interface|template)*)>
<!ATTLIST module 
      name CDATA #REQUIRED>
<!ELEMENT required (#PCDATA)>
<!ATTLIST required
      val (true|false) "false">
<!ELEMENT tunable (#PCDATA)>
<!ATTLIST tunable
      name CDATA #REQUIRED
      dftval CDATA #REQUIRED>
<!ELEMENT boolean (#PCDATA)>
<!ATTLIST boolean
      name CDATA #REQUIRED
      dftval CDATA #REQUIRED>
<!ELEMENT summary (#PCDATA)>
<!ELEMENT interface (summary?,desc?,secdesc?,param+,infoflow?)>
<!ATTLIST interface name CDATA #REQUIRED>
<!ELEMENT template (summary,desc?,secdesc?,param+)>
<!ATTLIST template name CDATA #REQUIRED>
<!ELEMENT desc (#PCDATA|%inline.class;)*>
<!ELEMENT secdesc (#PCDATA|%inline.class;)*>
<!ELEMENT param (#PCDATA)>
<!ATTLIST param 
      name CDATA #REQUIRED
      optional (true|false) "false">
<!ELEMENT infoflow EMPTY>
<!ATTLIST infoflow 
      type CDATA #REQUIRED
      weight CDATA #IMPLIED>

<!ATTLIST pre caption CDATA #IMPLIED>
<!ELEMENT p (#PCDATA|%inline.class;)*>
<!ELEMENT ul (li+)>
<!ELEMENT li (#PCDATA|%inline.class;|ul|ol)*>