programmingDomain.mod 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395
  1. <!-- ============================================================= -->
  2. <!-- HEADER -->
  3. <!-- ============================================================= -->
  4. <!-- MODULE: DITA DITA Programming Domain -->
  5. <!-- VERSION: 1.1 -->
  6. <!-- DATE: November 2006 -->
  7. <!-- -->
  8. <!-- ============================================================= -->
  9. <!-- ============================================================= -->
  10. <!-- PUBLIC DOCUMENT TYPE DEFINITION -->
  11. <!-- TYPICAL INVOCATION -->
  12. <!-- -->
  13. <!-- Refer to this file by the following public identifier or an
  14. appropriate system identifier
  15. PUBLIC "-//OASIS//ELEMENTS DITA Programming Domain//EN"
  16. Delivered as file "programmingDomain.mod" -->
  17. <!-- ============================================================= -->
  18. <!-- SYSTEM: Darwin Information Typing Architecture (DITA) -->
  19. <!-- -->
  20. <!-- PURPOSE: Declaring the elements and specialization -->
  21. <!-- attributes for the Programming Domain -->
  22. <!-- -->
  23. <!-- ORIGINAL CREATION DATE: -->
  24. <!-- March 2001 -->
  25. <!-- -->
  26. <!-- (C) Copyright OASIS Open 2005, 2006. -->
  27. <!-- (C) Copyright IBM Corporation 2001, 2004. -->
  28. <!-- All Rights Reserved. -->
  29. <!-- -->
  30. <!-- UPDATES: -->
  31. <!-- 2005.11.15 RDA: Updated these comments to match template -->
  32. <!-- 2005.11.15 RDA: Corrected Long Names for syntax groups, -->
  33. <!-- codeph, and kwd -->
  34. <!-- 2005.11.15 RDA: Corrected the "Delivered as" system ID -->
  35. <!-- 2006.06.07 RDA: Make universal attributes universal -->
  36. <!-- (DITA 1.1 proposal #12) -->
  37. <!-- 2006.11.30 RDA: Add -dita-use-conref-target to enumerated -->
  38. <!-- attributes -->
  39. <!-- ============================================================= -->
  40. <!-- ============================================================= -->
  41. <!-- ELEMENT NAME ENTITIES -->
  42. <!-- ============================================================= -->
  43. <!ENTITY % apiname "apiname" >
  44. <!ENTITY % codeblock "codeblock" >
  45. <!ENTITY % codeph "codeph" >
  46. <!ENTITY % delim "delim" >
  47. <!ENTITY % kwd "kwd" >
  48. <!ENTITY % oper "oper" >
  49. <!ENTITY % option "option" >
  50. <!ENTITY % parmname "parmname" >
  51. <!ENTITY % sep "sep" >
  52. <!ENTITY % synph "synph" >
  53. <!ENTITY % var "var" >
  54. <!ENTITY % parml "parml" >
  55. <!ENTITY % pd "pd" >
  56. <!ENTITY % plentry "plentry" >
  57. <!ENTITY % pt "pt" >
  58. <!ENTITY % fragment "fragment" >
  59. <!ENTITY % fragref "fragref" >
  60. <!ENTITY % groupchoice "groupchoice" >
  61. <!ENTITY % groupcomp "groupcomp" >
  62. <!ENTITY % groupseq "groupseq" >
  63. <!ENTITY % repsep "repsep" >
  64. <!ENTITY % synblk "synblk" >
  65. <!ENTITY % synnote "synnote" >
  66. <!ENTITY % synnoteref "synnoteref" >
  67. <!ENTITY % syntaxdiagram
  68. "syntaxdiagram" >
  69. <!-- ============================================================= -->
  70. <!-- ELEMENT DECLARATIONS -->
  71. <!-- ============================================================= -->
  72. <!-- LONG NAME: Universal Attributes Local
  73. Importance -->
  74. <!-- Povide an alternative set of univ-atts that
  75. allows importance to be redefined locally -->
  76. <!ENTITY % univ-atts-no-importance
  77. '%id-atts;
  78. %filter-atts;
  79. base CDATA #IMPLIED
  80. %base-attribute-extensions;
  81. rev CDATA #IMPLIED
  82. status (new | changed | deleted |
  83. unchanged |
  84. -dita-use-conref-target) #IMPLIED
  85. %localization-atts; ' >
  86. <!-- LONG NAME: Code Phrase -->
  87. <!ELEMENT codeph (#PCDATA | %basic.ph.notm; |
  88. %data.elements.incl; |
  89. %foreign.unknown.incl;)* >
  90. <!ATTLIST codeph
  91. %univ-atts;
  92. outputclass
  93. CDATA #IMPLIED >
  94. <!-- LONG NAME: Code Block -->
  95. <!ELEMENT codeblock (#PCDATA | %basic.ph.notm; | %txt.incl; |
  96. %data.elements.incl; |
  97. %foreign.unknown.incl;)* >
  98. <!ATTLIST codeblock
  99. %display-atts;
  100. spectitle CDATA #IMPLIED
  101. xml:space (preserve) #FIXED 'preserve'
  102. %univ-atts;
  103. outputclass
  104. CDATA #IMPLIED >
  105. <!-- LONG NAME: Option -->
  106. <!ELEMENT option (#PCDATA) >
  107. <!ATTLIST option keyref CDATA #IMPLIED
  108. %univ-atts;
  109. outputclass CDATA #IMPLIED >
  110. <!-- LONG NAME: Variable -->
  111. <!ELEMENT var (%words.cnt;)* >
  112. <!ATTLIST var
  113. importance (optional | required | default |
  114. -dita-use-conref-target) #IMPLIED
  115. %univ-atts-no-importance;
  116. outputclass
  117. CDATA #IMPLIED >
  118. <!-- LONG NAME: Parameter Name -->
  119. <!ELEMENT parmname (#PCDATA) >
  120. <!ATTLIST parmname
  121. keyref CDATA #IMPLIED
  122. %univ-atts;
  123. outputclass
  124. CDATA #IMPLIED >
  125. <!-- LONG NAME: Syntax Phrase -->
  126. <!ELEMENT synph (#PCDATA | %codeph; | %option; | %parmname; |
  127. %var; | %kwd; | %oper; | %delim; | %sep; |
  128. %synph;)* >
  129. <!ATTLIST synph
  130. %univ-atts;
  131. outputclass
  132. CDATA #IMPLIED >
  133. <!-- LONG NAME: Operator -->
  134. <!ELEMENT oper (%words.cnt;)* >
  135. <!ATTLIST oper
  136. importance (optional | required | default |
  137. -dita-use-conref-target) #IMPLIED
  138. %univ-atts-no-importance;
  139. outputclass
  140. CDATA #IMPLIED >
  141. <!-- LONG NAME: Delimiter -->
  142. <!ELEMENT delim (%words.cnt;)* >
  143. <!ATTLIST delim
  144. importance (optional | required |
  145. -dita-use-conref-target) #IMPLIED
  146. %univ-atts-no-importance;
  147. outputclass
  148. CDATA #IMPLIED >
  149. <!-- LONG NAME: Separator -->
  150. <!ELEMENT sep (%words.cnt;)* >
  151. <!ATTLIST sep
  152. importance (optional | required |
  153. -dita-use-conref-target) #IMPLIED
  154. %univ-atts-no-importance;
  155. outputclass
  156. CDATA #IMPLIED >
  157. <!-- LONG NAME: API Name -->
  158. <!ELEMENT apiname (#PCDATA) >
  159. <!ATTLIST apiname
  160. keyref CDATA #IMPLIED
  161. %univ-atts;
  162. outputclass
  163. CDATA #IMPLIED >
  164. <!-- LONG NAME: Parameter List -->
  165. <!ELEMENT parml (%plentry;)+ >
  166. <!ATTLIST parml
  167. compact (yes | no |
  168. -dita-use-conref-target) #IMPLIED
  169. spectitle CDATA #IMPLIED
  170. %univ-atts;
  171. outputclass
  172. CDATA #IMPLIED >
  173. <!-- LONG NAME: Parameter List Entry -->
  174. <!ELEMENT plentry ((%pt;)+, (%pd;)+) >
  175. <!ATTLIST plentry
  176. %univ-atts;
  177. outputclass
  178. CDATA #IMPLIED >
  179. <!-- LONG NAME: Parameter Term -->
  180. <!ELEMENT pt (%term.cnt;)* >
  181. <!ATTLIST pt
  182. keyref CDATA #IMPLIED
  183. %univ-atts;
  184. outputclass
  185. CDATA #IMPLIED >
  186. <!-- LONG NAME: Parameter Description -->
  187. <!ELEMENT pd (%defn.cnt;)* >
  188. <!ATTLIST pd
  189. %univ-atts;
  190. outputclass
  191. CDATA #IMPLIED >
  192. <!-- LONG NAME: Syntax Diagram -->
  193. <!ELEMENT syntaxdiagram ((%title;)?,
  194. (%groupseq; | %groupchoice; | %groupcomp; |
  195. %fragref; | %fragment; | %synblk; |
  196. %synnote; | %synnoteref;)* ) >
  197. <!ATTLIST syntaxdiagram
  198. %display-atts;
  199. %univ-atts;
  200. outputclass
  201. CDATA #IMPLIED >
  202. <!-- LONG NAME: Syntax Block -->
  203. <!ELEMENT synblk ((%title;)?,
  204. (%groupseq; | %groupchoice; | %groupcomp; |
  205. %fragref; | %fragment;| %synnote; |
  206. %synnoteref;)* ) >
  207. <!ATTLIST synblk
  208. %univ-atts;
  209. outputclass
  210. CDATA #IMPLIED >
  211. <!-- LONG NAME: Sequence Group -->
  212. <!ELEMENT groupseq ((%title;)?, (%repsep;)?,
  213. (%groupseq; | %groupchoice; | %groupcomp; |
  214. %fragref; | %kwd; | %var; | %delim; |
  215. %oper; | %sep; | %synnote; |
  216. %synnoteref;)* ) >
  217. <!ATTLIST groupseq
  218. importance (optional | required | default |
  219. -dita-use-conref-target)
  220. #IMPLIED
  221. %univ-atts-no-importance;
  222. outputclass
  223. CDATA #IMPLIED >
  224. <!-- LONG NAME: Choice Group -->
  225. <!ELEMENT groupchoice ((%title;)?, (%repsep;)?,
  226. (%groupseq; | %groupchoice; | %groupcomp; |
  227. %fragref;| %kwd; | %var; | %delim; |
  228. %oper; | %sep; | %synnote; |
  229. %synnoteref;)* ) >
  230. <!ATTLIST groupchoice
  231. importance (optional | required | default |
  232. -dita-use-conref-target) #IMPLIED
  233. %univ-atts-no-importance;
  234. outputclass
  235. CDATA #IMPLIED >
  236. <!-- LONG NAME: Composite group -->
  237. <!ELEMENT groupcomp ((%title;)?, (%repsep;)?,
  238. (%groupseq; | %groupchoice; | %groupcomp; |
  239. %fragref; | %kwd; | %var; | %delim; |
  240. %oper; | %sep; | %synnote; |
  241. %synnoteref;)* ) >
  242. <!ATTLIST groupcomp
  243. importance (optional | required | default |
  244. -dita-use-conref-target) #IMPLIED
  245. %univ-atts-no-importance;
  246. outputclass
  247. CDATA #IMPLIED >
  248. <!-- LONG NAME: Fragment -->
  249. <!ELEMENT fragment ((%title;)?,
  250. (%groupseq; | %groupchoice; | %groupcomp; |
  251. %fragref; | %synnote; | %synnoteref;)* ) >
  252. <!ATTLIST fragment
  253. %univ-atts;
  254. outputclass
  255. CDATA #IMPLIED >
  256. <!-- LONG NAME: Fragment Reference -->
  257. <!ELEMENT fragref (%xrefph.cnt;)*><!--xref-->
  258. <!ATTLIST fragref
  259. href CDATA #IMPLIED
  260. importance (optional | required |
  261. -dita-use-conref-target) #IMPLIED
  262. %univ-atts-no-importance;
  263. outputclass
  264. CDATA #IMPLIED >
  265. <!-- LONG NAME: Syntax Diagram Note -->
  266. <!ELEMENT synnote (#PCDATA | %basic.ph;)* >
  267. <!ATTLIST synnote
  268. callout CDATA #IMPLIED
  269. %univ-atts;
  270. outputclass
  271. CDATA #IMPLIED >
  272. <!-- LONG NAME: Syntax Note Reference -->
  273. <!ELEMENT synnoteref EMPTY >
  274. <!ATTLIST synnoteref
  275. href CDATA #IMPLIED
  276. %univ-atts;
  277. outputclass
  278. CDATA #IMPLIED >
  279. <!-- LONG NAME: Repeat Separator -->
  280. <!ELEMENT repsep (%words.cnt;)* >
  281. <!ATTLIST repsep
  282. importance (optional | required |
  283. -dita-use-conref-target) #IMPLIED
  284. %univ-atts-no-importance;
  285. outputclass
  286. CDATA #IMPLIED >
  287. <!-- LONG NAME: Syntax Keyword -->
  288. <!ELEMENT kwd (#PCDATA) >
  289. <!ATTLIST kwd
  290. keyref CDATA #IMPLIED
  291. importance (optional | required | default |
  292. -dita-use-conref-target) #IMPLIED
  293. %univ-atts-no-importance;
  294. outputclass
  295. CDATA #IMPLIED >
  296. <!-- ============================================================= -->
  297. <!-- SPECIALIZATION ATTRIBUTE DECLARATIONS -->
  298. <!-- ============================================================= -->
  299. <!ATTLIST apiname %global-atts; class CDATA "+ topic/keyword pr-d/apiname " >
  300. <!ATTLIST codeblock %global-atts; class CDATA "+ topic/pre pr-d/codeblock " >
  301. <!ATTLIST codeph %global-atts; class CDATA "+ topic/ph pr-d/codeph " >
  302. <!ATTLIST delim %global-atts; class CDATA "+ topic/ph pr-d/delim " >
  303. <!ATTLIST fragment %global-atts; class CDATA "+ topic/figgroup pr-d/fragment ">
  304. <!ATTLIST fragref %global-atts; class CDATA "+ topic/xref pr-d/fragref " >
  305. <!ATTLIST groupchoice
  306. %global-atts; class CDATA "+ topic/figgroup pr-d/groupchoice ">
  307. <!ATTLIST groupcomp %global-atts; class CDATA "+ topic/figgroup pr-d/groupcomp ">
  308. <!ATTLIST groupseq %global-atts; class CDATA "+ topic/figgroup pr-d/groupseq ">
  309. <!ATTLIST kwd %global-atts; class CDATA "+ topic/keyword pr-d/kwd " >
  310. <!ATTLIST oper %global-atts; class CDATA "+ topic/ph pr-d/oper " >
  311. <!ATTLIST option %global-atts; class CDATA "+ topic/keyword pr-d/option " >
  312. <!ATTLIST parml %global-atts; class CDATA "+ topic/dl pr-d/parml " >
  313. <!ATTLIST parmname %global-atts; class CDATA "+ topic/keyword pr-d/parmname " >
  314. <!ATTLIST pd %global-atts; class CDATA "+ topic/dd pr-d/pd " >
  315. <!ATTLIST plentry %global-atts; class CDATA "+ topic/dlentry pr-d/plentry " >
  316. <!ATTLIST pt %global-atts; class CDATA "+ topic/dt pr-d/pt " >
  317. <!ATTLIST repsep %global-atts; class CDATA "+ topic/ph pr-d/repsep " >
  318. <!ATTLIST sep %global-atts; class CDATA "+ topic/ph pr-d/sep " >
  319. <!ATTLIST synblk %global-atts; class CDATA "+ topic/figgroup pr-d/synblk " >
  320. <!ATTLIST synnote %global-atts; class CDATA "+ topic/fn pr-d/synnote " >
  321. <!ATTLIST synnoteref %global-atts; class CDATA "+ topic/xref pr-d/synnoteref " >
  322. <!ATTLIST synph %global-atts; class CDATA "+ topic/ph pr-d/synph " >
  323. <!ATTLIST syntaxdiagram
  324. %global-atts; class CDATA "+ topic/fig pr-d/syntaxdiagram ">
  325. <!ATTLIST var %global-atts; class CDATA "+ topic/ph pr-d/var " >
  326. <!-- ================== End Programming Domain ====================== -->