Skip to content

Supported DITA subset

OpenD parses a documented subset of DITA 1.3 itself, in TypeScript, with no Java toolchain. Every element it supports is listed here.

How elements are matched

Elements are matched by name. DTDs are not fetched or applied, so a DOCTYPE line is fine but has no effect, and @class specialisation is not used. Common HTML character entities such as  , —, → and ™ are understood without a DTD.

An element outside the subset still renders, as a plain block, and validation reports it as an unsupported-element warning.

Topic elements

The table lists every element allowed in topics, its group, and the HTML it renders as. It mirrors SUPPORTED_ELEMENTS in packages/dita/src/elements.ts, and a test fails if the two drift apart.

ElementGroupRenders as
topictopicarticle, or section when nested
concepttopicarticle, or section when nested
tasktopicarticle, or section when nested
referencetopicarticle, or section when nested
glossentrytopicarticle, or section when nested
troubleshootingtopicarticle, or section when nested
draft-commentremovedremoved by the build
required-cleanupremovedremoved by the build
prologmetadatakept, not rendered
titlealtsmetadatakept, not rendered
navtitlemetadatakept, not rendered
searchtitlemetadatakept, not rendered
indextermmetadatakept, not rendered
datametadatakept, not rendered
data-aboutmetadatakept, not rendered
foreignmetadatakept, not rendered
unknownmetadatakept, not rendered
colspecmetadatakept, not rendered
resourceidmetadatakept, not rendered
ditastructurechildren only
titlestructureheading, figcaption or caption by context
shortdescstructurep
abstractstructurediv
bodystructurediv
conbodystructurediv
taskbodystructurediv
refbodystructurediv
troublebodystructurediv
glosstermstructureh1
glossdefstructurep
glossBodystructurediv
sectionstructuresection
examplestructuresection
bodydivstructurediv
sectiondivstructurediv
divstructurediv
related-linksstructurenav "Related information"
linkstructureli with a link
linktextstructurespan
linkpoolstructurediv
linkliststructurediv
descstructurespan
pblocksp
ulblocksul
olblocksol
liblocksli
slblocksul
sliblocksli
dlblocksdl
dlheadblocksdiv
dthdblocksdt
ddhdblocksdd
dlentryblocksdiv
dtblocksdt
ddblocksdd
noteblocksaside with a label
codeblockblockspre > code
preblockspre
linesblocksdiv
lqblocksblockquote
figblocksfigure
imageblocksimg
altblocksspan
tableblockstable
tgroupblockschildren only
theadblocksthead
tbodyblockstbody
rowblockstr
entryblockstd, or th in a header
simpletableblockstable
stheadblocksthead row
strowblockstr
stentryblockstd, or th in a header
propertiesblockstable
propheadblocksthead row
proptypehdblocksth
propvaluehdblocksth
propdeschdblocksth
propertyblockstr
proptypeblockstd
propvalueblockstd
propdescblockstd
refsynblockssection
prereqtasksection
contexttasksection
stepstaskol
steps-unorderedtaskul
steps-informaltaskdiv
steptaskli
cmdtaskspan
infotaskdiv
substepstaskol
substeptaskli
stepxmptaskdiv
stepresulttaskdiv
tutorialinfotaskdiv
choicestaskul
choicetaskli
resulttasksection
postreqtasksection
tasktroubleshootingtasksection
conditiontroubleshootingsection
troubleSolutiontroubleshootingdiv
causetroubleshootingsection
remedytroubleshootingsection
phinlinespan
binlineb
iinlinei
uinlineu
supinlinesup
subinlinesub
ttinlinecode
line-throughinlines
overlineinlinespan
keywordinlinespan
terminlineem
qinlineq
xrefinlinea, or plain text when hidden
codephinlinecode
filepathinlinecode
cmdnameinlinecode
varnameinlinevar
userinputinlinekbd
systemoutputinlinesamp
uicontrolinlinespan
wintitleinlinespan
menucascadeinlinespan with > separators
optioninlinecode
parmnameinlinecode
apinameinlinecode
msgphinlinesamp
synphinlinecode
textinlinespan
tminlinespan with a ™, ® or ℠ mark
citeinlinecite
fninlinespan in parentheses
abbreviated-forminlinespan

Map and bookmap elements

Maps may contain map, bookmap, title, topicmeta, navtitle, linktext, shortdesc, keywords, keyword, searchtitle, data, topicref, topichead, topicgroup, keydef, mapref, ditavalref, anchor, anchorref, navref, chapter, part, appendix, appendices, frontmatter, backmatter, notices, booktitle, mainbooktitle, booktitlealt, bookmeta, booklists, toc, indexlist, glossarylist, tablelist, figurelist, reltable, relheader, relcolspec, relrow, relcell, glossref and resourceid.

Of these, navigation is built from topicref, topichead, topicgroup, mapref, chapter, part, appendix, frontmatter and backmatter; keys come from any element with keys. Relationship tables, anchor, navref, ditavalref and the book lists are accepted and ignored. See Topics, maps and bookmaps.

Not supported yet

  • DTD processing and @class specialisation.
  • conrefend ranges and conaction. They produce an unsupported-conref warning, and only the start element is pulled.
  • Relationship tables, key scopes and branch filtering with ditavalref.
  • Topic references to external or non-DITA resources (unsupported-topicref).
  • DITAVAL flagging styles: flag includes the content without styling it.