lw-topic.mod 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492
  1. <!-- ============================================================= -->
  2. <!-- HEADER -->
  3. <!-- ============================================================= -->
  4. <!-- MODULE: Lightweight DITA Topic -->
  5. <!-- VERSION: 1.0 -->
  6. <!-- DATE: XXX -->
  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 LIGHTWEIGHT DITA Topic//EN"
  16. Delivered as file "lw-topic.mod" -->
  17. <!-- ============================================================= -->
  18. <!-- SYSTEM: Lightweight DITA -->
  19. <!-- -->
  20. <!-- PURPOSE: Declaring the elements and specialization -->
  21. <!-- attributes for Lightweight DITA topics -->
  22. <!-- -->
  23. <!-- ORIGINAL CREATION DATE: -->
  24. <!-- XXXX -->
  25. <!-- -->
  26. <!-- (C) OASIS -->
  27. <!-- All Rights Reserved. -->
  28. <!-- -->
  29. <!-- UPDATES: -->
  30. <!-- 25 Nov 2014 KJE: Upload files to DITA TC SVN repo -->
  31. <!-- 13 Jul 2015 MG: Made <shortdesc> and <prolog> optional; -->
  32. <!-- disabled nested topics -->
  33. <!-- 16 May 2016 MG: Upload files to GitHub repo -->
  34. <!-- 10 Jul 2016 MG: Removed object element, renamed -->
  35. <!-- table-blocks to simple-blocks, added fn -->
  36. <!-- 26 Aug 2016 MG: Added template specialization markup; -->
  37. <!-- added @outputclass; added @href to <data> -->
  38. <!-- 19 Mar 2017 MG: Allow PCDATA in <data> -->
  39. <!-- 27 Mar 2017 CE: Added <data> to block entities -->
  40. <!-- 28 Mar 2017 MG: Touch up <data> additions -->
  41. <!-- 31 Mar 2017 MG: Made <body> optional -->
  42. <!-- 09 May 2017 CE: Added @width and @height to <video> and -->
  43. <!-- <audio> -->
  44. <!-- 10 May 2017 CE: Added @iframe to <video> -->
  45. <!-- 11 May 2017 CE: Removed <fnref> -->
  46. <!-- 16 May 2017 CE: Removed @width and @height from <audio> -->
  47. <!-- 29 May 2017 MG: Added fn-blocks entity; removed <param>, -->
  48. <!-- <specmeta>,<specatt>; removed %spec-atts -->
  49. <!-- 11 Jun 2017 KJE: Added headers and update logs -->
  50. <!-- 13 Jun 2017 CE: Removed filtering from <dt> and <dd> -->
  51. <!-- 13 Jun 2017 CE: Removed <image> from <pre> -->
  52. <!-- 13 Jun 2017 CE: Modified <stentry>, <strow>, <dlentry>, -->
  53. <!-- and <li> to allow one-or-more -->
  54. <!-- 14 Jun 2017 CE: Removed <fn> from <body> -->
  55. <!-- 14 Jun 2017 RDA: Corrected use of @outputclass, -->
  56. <!-- make localization attributes universal, -->
  57. <!-- add scope/format where needed -->
  58. <!-- 20 Jun 2017 CE: Added prefix lw- to filename -->
  59. <!-- 27 Jun 2017 CE: Added <footnotes> -->
  60. <!-- 25 Jul 2017 CE: Changed public identifier to LIGHTWEIGHT -->
  61. <!-- DITA -->
  62. <!-- 17 Aug 2017 CE: Deleted <footnotes> and added <fn> to the -->
  63. <!-- <body> content model -->
  64. <!-- 17 Aug 2017 CE: Renamed multimedia elements after 2.0 -->
  65. <!-- multimedia domain proposal -->
  66. <!-- 18 Sep 2017 RDA: Add value attributes to media control -->
  67. <!-- elements, matching main TC proposal -->
  68. <!-- 18 Sep 2017 RDA: Adjust media class atts to match main TC -->
  69. <!-- 16 Oct 2017 CE: Added @props to elements that allow it -->
  70. <!-- in DITA 1.3 -->
  71. <!-- 14 Sep 2018 CE: Added @reuse to <shortdesc> -->
  72. <!-- ============================================================= -->
  73. <!-- ============================================================= -->
  74. <!-- DOMAINS ATTRIBUTE OVERRIDE -->
  75. <!-- ============================================================= -->
  76. <!ENTITY included-domains "">
  77. <!ENTITY xdita-constraint "(topic xdita-c)">
  78. <!ENTITY excluded-attributes "">
  79. <!-- ============================================================= -->
  80. <!-- EXTENSION POINTS -->
  81. <!-- ============================================================= -->
  82. <!ENTITY % ph "ph">
  83. <!ENTITY % data "data">
  84. <!ENTITY % fig "fig">
  85. <!ENTITY % filter-adds " ">
  86. <!-- ============================================================= -->
  87. <!-- COMMON DECLARATIONS -->
  88. <!-- ============================================================= -->
  89. <!-- common content models -->
  90. <!ENTITY % common-inline "#PCDATA|%ph;|image|%data;">
  91. <!ENTITY % all-inline "#PCDATA|%ph;|image|xref|%data;">
  92. <!ENTITY % simple-blocks "p|ul|ol|dl|pre|audio|video|fn|note|%data;">
  93. <!ENTITY % fn-blocks "p|ul|ol|dl|%data;">
  94. <!ENTITY % all-blocks "p|ul|ol|dl|pre|audio|video|simpletable|fig|fn|note|%data;">
  95. <!ENTITY % list-blocks "p|ul|ol|dl|pre|audio|video|simpletable|fig|note|%data;">
  96. <!ENTITY % fig-blocks "p|ul|ol|dl|pre|audio|video|simpletable|%data;">
  97. <!-- common attributes -->
  98. <!ENTITY % filters
  99. 'props CDATA #IMPLIED
  100. %filter-adds; ' >
  101. <!ENTITY % reuse
  102. 'id NMTOKEN #IMPLIED
  103. conref CDATA #IMPLIED ' >
  104. <!ENTITY % reference-content
  105. 'href CDATA #IMPLIED
  106. format CDATA #IMPLIED
  107. scope (local | peer | external) #IMPLIED '>
  108. <!-- %fn-reuse; used for <fn> only, so you can remove this if you want -->
  109. <!ENTITY % fn-reuse
  110. 'conref CDATA #IMPLIED ' >
  111. <!ENTITY % variable-content
  112. 'keyref CDATA #IMPLIED '>
  113. <!ENTITY % variable-links
  114. 'keyref CDATA #IMPLIED '>
  115. <!ENTITY % localization
  116. 'dir CDATA #IMPLIED
  117. xml:lang CDATA #IMPLIED
  118. translate CDATA #IMPLIED '>
  119. <!ENTITY % display-atts
  120. "scale ( 50|60|70|80|90|100|110|120|140|160|180|200 ) #IMPLIED
  121. frame ( all|bottom|none|sides|top|topbot ) #IMPLIED
  122. expanse ( column|page|spread|textline ) #IMPLIED">
  123. <!-- ============================================================= -->
  124. <!-- ELEMENT DECLARATIONS -->
  125. <!-- ============================================================= -->
  126. <!-- LONG NAME: Topic -->
  127. <!ELEMENT topic (title, shortdesc?, prolog?, body?) >
  128. <!ATTLIST topic
  129. id ID #REQUIRED
  130. xmlns:ditaarch CDATA #FIXED "http://dita.oasis-open.org/architecture/2005/"
  131. ditaarch:DITAArchVersion CDATA "1.3"
  132. domains CDATA "&xdita-constraint; &included-domains;"
  133. outputclass CDATA #IMPLIED
  134. %localization;
  135. class CDATA "- topic/topic ">
  136. <!-- LONG NAME: Title -->
  137. <!ELEMENT title (%common-inline;)* >
  138. <!ATTLIST title
  139. %localization;
  140. outputclass CDATA #IMPLIED
  141. class CDATA "- topic/title ">
  142. <!-- LONG NAME: Short description-->
  143. <!ELEMENT shortdesc (%all-inline;)* >
  144. <!ATTLIST shortdesc
  145. %localization;
  146. %filters;
  147. %reuse;
  148. outputclass CDATA #IMPLIED
  149. class CDATA "- topic/shortdesc ">
  150. <!-- LONG NAME: Prolog-->
  151. <!ELEMENT prolog (%data;)* >
  152. <!ATTLIST prolog
  153. %localization;
  154. %filters;
  155. class CDATA "- topic/prolog ">
  156. <!-- LONG NAME: Body -->
  157. <!ELEMENT body ((%list-blocks;)*, section*, fn*) >
  158. <!ATTLIST body
  159. %localization;
  160. outputclass CDATA #IMPLIED
  161. class CDATA "- topic/body ">
  162. <!-- LONG NAME: Section -->
  163. <!ELEMENT section (title?, (%all-blocks;)*) >
  164. <!ATTLIST section
  165. %localization;
  166. %filters;
  167. %reuse;
  168. outputclass CDATA #IMPLIED
  169. class CDATA "- topic/section ">
  170. <!-- LONG NAME: Paragraph -->
  171. <!ELEMENT p (%all-inline;)* >
  172. <!ATTLIST p
  173. %localization;
  174. %filters;
  175. %reuse;
  176. outputclass CDATA #IMPLIED
  177. class CDATA "- topic/p ">
  178. <!-- LONG NAME: Unordered list -->
  179. <!ELEMENT ul (li)+ >
  180. <!ATTLIST ul
  181. %localization;
  182. %filters;
  183. %reuse;
  184. outputclass CDATA #IMPLIED
  185. class CDATA "- topic/ul ">
  186. <!-- LONG NAME: Ordered list -->
  187. <!ELEMENT ol (li)+ >
  188. <!ATTLIST ol
  189. %localization;
  190. %filters;
  191. %reuse;
  192. outputclass CDATA #IMPLIED
  193. class CDATA "- topic/ol ">
  194. <!-- LONG NAME: List item -->
  195. <!ELEMENT li (%list-blocks;)* >
  196. <!ATTLIST li
  197. %localization;
  198. %filters;
  199. %reuse;
  200. outputclass CDATA #IMPLIED
  201. class CDATA "- topic/li ">
  202. <!-- LONG NAME: Description list -->
  203. <!ELEMENT dl (dlentry)+ >
  204. <!ATTLIST dl
  205. %localization;
  206. %filters;
  207. %reuse;
  208. outputclass CDATA #IMPLIED
  209. class CDATA "- topic/dl ">
  210. <!-- LONG NAME: Description entry -->
  211. <!ELEMENT dlentry (dt, dd) >
  212. <!ATTLIST dlentry
  213. %localization;
  214. %filters;
  215. %reuse;
  216. outputclass CDATA #IMPLIED
  217. class CDATA "- topic/dlentry ">
  218. <!-- LONG NAME: Description term -->
  219. <!ELEMENT dt (%all-inline;)* >
  220. <!ATTLIST dt
  221. %localization;
  222. %filters;
  223. %reuse;
  224. outputclass CDATA #IMPLIED
  225. class CDATA "- topic/dt ">
  226. <!-- LONG NAME: Description -->
  227. <!ELEMENT dd (%list-blocks;)* >
  228. <!ATTLIST dd
  229. %localization;
  230. %filters;
  231. %reuse;
  232. outputclass CDATA #IMPLIED
  233. class CDATA "- topic/dd ">
  234. <!-- LONG NAME: Preformatted content -->
  235. <!ELEMENT pre (#PCDATA|%ph;|xref|%data;)* >
  236. <!ATTLIST pre
  237. xml:space (preserve) #FIXED 'preserve'
  238. %localization;
  239. %filters;
  240. %reuse;
  241. outputclass CDATA #IMPLIED
  242. class CDATA "- topic/pre ">
  243. <!-- LONG NAME: Table -->
  244. <!ELEMENT simpletable (sthead?, strow+) >
  245. <!ATTLIST simpletable
  246. %localization;
  247. %filters;
  248. %reuse;
  249. outputclass CDATA #IMPLIED
  250. class CDATA "- topic/simpletable ">
  251. <!-- LONG NAME: Table header row -->
  252. <!ELEMENT sthead (stentry+) >
  253. <!ATTLIST sthead
  254. %localization;
  255. %filters;
  256. %reuse;
  257. outputclass CDATA #IMPLIED
  258. class CDATA "- topic/sthead ">
  259. <!-- LONG NAME: Table row -->
  260. <!ELEMENT strow (stentry*) >
  261. <!ATTLIST strow
  262. %localization;
  263. %filters;
  264. %reuse;
  265. outputclass CDATA #IMPLIED
  266. class CDATA "- topic/strow ">
  267. <!-- LONG NAME: Table cell -->
  268. <!ELEMENT stentry (%simple-blocks;)* >
  269. <!ATTLIST stentry
  270. %localization;
  271. %filters;
  272. %reuse;
  273. outputclass CDATA #IMPLIED
  274. class CDATA "- topic/stentry ">
  275. <!-- LONG NAME: Figure -->
  276. <!ELEMENT fig (title?, desc?, (%fig-blocks;|image|xref)*) >
  277. <!ATTLIST fig
  278. %display-atts;
  279. %localization;
  280. %filters;
  281. outputclass CDATA #IMPLIED
  282. class CDATA "- topic/fig " >
  283. <!-- LONG NAME: Description -->
  284. <!ELEMENT desc (%common-inline;)* >
  285. <!ATTLIST desc
  286. %localization;
  287. %filters;
  288. outputclass CDATA #IMPLIED
  289. class CDATA "- topic/desc ">
  290. <!-- LONG NAME: Phrase content -->
  291. <!ELEMENT ph (%all-inline;)* >
  292. <!ATTLIST ph
  293. %localization;
  294. %filters;
  295. %variable-content;
  296. outputclass CDATA #IMPLIED
  297. class CDATA "- topic/ph ">
  298. <!-- LONG NAME: Image -->
  299. <!ELEMENT image (alt?) >
  300. <!ATTLIST image
  301. %reference-content;
  302. height NMTOKEN #IMPLIED
  303. width NMTOKEN #IMPLIED
  304. %localization;
  305. %filters;
  306. %variable-content;
  307. outputclass CDATA #IMPLIED
  308. class CDATA "- topic/image ">
  309. <!-- LONG NAME: Alternative content -->
  310. <!ELEMENT alt (#PCDATA|%ph;|%data;)* >
  311. <!ATTLIST alt
  312. %localization;
  313. %filters;
  314. %variable-content;
  315. outputclass CDATA #IMPLIED
  316. class CDATA "- topic/alt ">
  317. <!-- LONG NAME: Data -->
  318. <!ELEMENT data (#PCDATA|%data;)* >
  319. <!ATTLIST data
  320. %localization;
  321. name CDATA #IMPLIED
  322. value CDATA #IMPLIED
  323. %reference-content;
  324. %variable-content;
  325. %filters;
  326. outputclass CDATA #IMPLIED
  327. class CDATA "- topic/data ">
  328. <!-- LONG NAME: Reference -->
  329. <!ELEMENT xref (%common-inline;)* >
  330. <!ATTLIST xref
  331. %reference-content;
  332. %localization;
  333. %filters;
  334. %variable-links;
  335. outputclass CDATA #IMPLIED
  336. class CDATA "- topic/xref ">
  337. <!-- LONG NAME: Audio -->
  338. <!ELEMENT audio (desc?, media-controls?, media-autoplay?, media-loop?, media-muted?, media-source*, media-track*) >
  339. <!ATTLIST audio
  340. %localization;
  341. %filters;
  342. %reuse;
  343. outputclass CDATA #IMPLIED
  344. class CDATA "+ topic/object media-d/audio ">
  345. <!-- LONG NAME: Video -->
  346. <!ELEMENT video (desc?, video-poster?, media-controls?, media-autoplay?, media-loop?, media-muted?, media-source*, media-track*) >
  347. <!ATTLIST video
  348. %localization;
  349. %filters;
  350. %reuse;
  351. outputclass CDATA #IMPLIED
  352. height NMTOKEN #IMPLIED
  353. width NMTOKEN #IMPLIED
  354. class CDATA "+ topic/object media-d/video ">
  355. <!-- LONG NAME: Display controls -->
  356. <!ELEMENT media-controls EMPTY >
  357. <!ATTLIST media-controls
  358. %localization;
  359. name CDATA #FIXED "controls"
  360. value (true|false) #IMPLIED
  361. outputclass CDATA #IMPLIED
  362. class CDATA "+ topic/param media-d/media-controls ">
  363. <!-- value CDATA (y|n) "y" -->
  364. <!-- LONG NAME: Media autoplay -->
  365. <!ELEMENT media-autoplay EMPTY >
  366. <!ATTLIST media-autoplay
  367. %localization;
  368. name CDATA #FIXED "autoplay"
  369. value (true|false) #IMPLIED
  370. outputclass CDATA #IMPLIED
  371. class CDATA "+ topic/param media-d/media-autoplay ">
  372. <!-- LONG NAME: <Media loop -->
  373. <!ELEMENT media-loop EMPTY >
  374. <!ATTLIST media-loop
  375. %localization;
  376. name CDATA #FIXED "loop"
  377. value (true|false) #IMPLIED
  378. outputclass CDATA #IMPLIED
  379. class CDATA "+ topic/param media-d/media-loop ">
  380. <!-- LONG NAME: Media muted -->
  381. <!ELEMENT media-muted EMPTY >
  382. <!ATTLIST media-muted
  383. %localization;
  384. name CDATA #FIXED "muted"
  385. value (true|false) #IMPLIED
  386. outputclass CDATA #IMPLIED
  387. class CDATA "+ topic/param media-d/media-muted ">
  388. <!-- LONG NAME: Poster image -->
  389. <!ELEMENT video-poster EMPTY >
  390. <!ATTLIST video-poster
  391. %localization;
  392. name CDATA #FIXED "poster"
  393. value CDATA #IMPLIED
  394. outputclass CDATA #IMPLIED
  395. class CDATA "+ topic/param media-d/video-poster ">
  396. <!-- LONG NAME: Source -->
  397. <!ELEMENT media-source EMPTY >
  398. <!ATTLIST media-source
  399. %localization;
  400. name CDATA #FIXED "source"
  401. value CDATA #IMPLIED
  402. outputclass CDATA #IMPLIED
  403. class CDATA "+ topic/param media-d/media-source ">
  404. <!-- LONG NAME: Track for captions -->
  405. <!ELEMENT media-track EMPTY >
  406. <!ATTLIST media-track
  407. %localization;
  408. name CDATA #FIXED "track"
  409. value CDATA #IMPLIED
  410. type (subtitles | captions | descriptions | chapters | metadata) #IMPLIED
  411. outputclass CDATA #IMPLIED
  412. class CDATA "+ topic/param media-d/media-track ">
  413. <!-- LONG NAME: Footnote -->
  414. <!ELEMENT fn ( %fn-blocks; )* >
  415. <!ATTLIST fn
  416. %localization;
  417. %filters;
  418. %fn-reuse;
  419. callout CDATA #IMPLIED
  420. outputclass CDATA #IMPLIED
  421. id NMTOKEN #REQUIRED
  422. class CDATA "- topic/fn ">
  423. <!-- LONG NAME: Note -->
  424. <!ELEMENT note ( %simple-blocks; )* >
  425. <!ATTLIST note
  426. %localization;
  427. %filters;
  428. %reuse;
  429. type (caution|warning|danger|trouble|notice|note) "note"
  430. outputclass CDATA #IMPLIED
  431. class CDATA "- topic/note "
  432. >