Atomik Xport SE: Reference > Chapter 14 Extracting Footnotes << >>

14.1 The footnote element declaration

As mentioned, a footnote comprises of two parts: the reference number at the insertion point, and the footnote text. Atomik Xport SE extracts both of these parts to a single ‘footnote‘ element. The text of the footnote appears in the element’s content, while the reference number is stored in the element’s ‘ref’ attribute.

In addition, each footnote has an ‘id’ attribute. Its value is distinct from the displayed reference number. The purpose of the ‘id’ attribute is to store an automatially generated identifier which is unique in your extracted XML. This identifier is necessary because you cannot rely upon the ‘ref’ value to be unique if footnote numbering restarts from ‘1’ with each chapter or section in your document.

To extract footnotes you need to include the ‘footnote‘ element declaration in your DTD, and further, make it part of the content model in whatever context you are likely to encounter a footnote.

<!ELEMENT footnote (#PCDATA | B | I | sub | sup | smallcaps)*> 
<!ATTLIST footnote
id CDATA #IMPLIED
ref CDATA #IMPLIED
>

Note: You must include parsed character data (#PCDATA) in the content model for the footnote element, but beyond that, you may customise the content model as you see fit. For instance, some of your footnotes are divided into multiple paragraphs, your footnote element could reflect this:

<!ELEMENT footnote (#PCDATA | B | I | para | sub | sup | smallcaps)*+> 
<!ELEMENT para (#PCDATA | B | I | sub | sup | smallcaps)*>