aboutsummaryrefslogtreecommitdiff
path: root/CommonMark.dtd
blob: 2cc403fa4487bdb3f672b9a5ff1f3c7d5577fabd (plain)
  1. <!-- DTD for CommonMark xml export format -->
  2. <!ENTITY % block
  3. 'block_quote|list|code_block|html|paragraph|heading|thematic_break|custom_block'>
  4. <!ENTITY % inline
  5. 'text|softbreak|linebreak|code|inline_html|emph|strong|link|image|custom_inline'>
  6. <!ELEMENT document (%block;)*>
  7. <!-- block elements -->
  8. <!ELEMENT block_quote (%block;)*>
  9. <!ELEMENT list (item)+>
  10. <!ATTLIST list
  11. type (bullet|ordered) #REQUIRED
  12. start CDATA #IMPLIED
  13. tight (true|false) #REQUIRED
  14. delimiter (period|paren) #IMPLIED>
  15. <!ELEMENT item (%block;)*>
  16. <!ELEMENT code_block (#PCDATA)>
  17. <!ATTLIST code_block
  18. xml:space CDATA #FIXED "preserve"
  19. info CDATA #IMPLIED>
  20. <!ELEMENT html (#PCDATA)>
  21. <!ATTLIST html
  22. xml:space CDATA #FIXED "preserve">
  23. <!ELEMENT paragraph (%inline;)*>
  24. <!ELEMENT heading (%inline;)*>
  25. <!ATTLIST heading
  26. level (1|2|3|4|5|6) #REQUIRED>
  27. <!ELEMENT thematic_break EMPTY>
  28. <!ELEMENT custom_block (%block;)*>
  29. <!ATTLIST custom_block
  30. on_enter CDATA #IMPLIED
  31. on_exit CDATA> #IMPLIED>
  32. <!-- inline elements -->
  33. <!ELEMENT text (#PCDATA)>
  34. <!ELEMENT softbreak EMPTY>
  35. <!ELEMENT linebreak EMPTY>
  36. <!ELEMENT code (#PCDATA)>
  37. <!ATTLIST code
  38. xml:space CDATA #FIXED "preserve">
  39. <!ELEMENT inline_html (#PCDATA)>
  40. <!ATTLIST inline_html
  41. xml:space CDATA #FIXED "preserve">
  42. <!ELEMENT emph (%inline;)*>
  43. <!ELEMENT strong (%inline;)*>
  44. <!ELEMENT link (%inline;)*>
  45. <!ATTLIST link
  46. destination CDATA #REQUIRED
  47. title CDATA #IMPLIED>
  48. <!ELEMENT image (%inline;)*>
  49. <!ATTLIST image
  50. url CDATA #REQUIRED
  51. title CDATA #IMPLIED>
  52. <!ELEMENT custom_inline (%inline;)*>
  53. <!ATTLIST custom_inline
  54. on_enter CDATA #IMPLIED
  55. on_exit CDATA> #IMPLIED>
  56. <!-- All elements can have a sourcepos attribute.
  57. The format is SL:SC-EL:EC
  58. where SL = number of starting line (first line = 1)
  59. EL = number of ending line
  60. SC = number of starting column (first column = 1)
  61. EC = number of ending column
  62. -->
  63. <!ATTLIST ANY sourcepos CDATA #IMPLIED>