Transclusion

[1] The result of transclusion is a single integrated document made of parts assembled dynamically from separate sources, possibly stored on different computers in disparate places.

Transclusion facilitates modular design (using the "single source of truth" model, whether in data, code, or content): a resource is stored once and distributed for reuse in multiple documents.

In systems where transclusion is not available, and in some situations where it is available but not desirable, substitution is often the complementary option, whereby a static copy of the "single source of truth" is integrated into the relevant document.

Ted Nelson coined the term for his 1980 nonlinear book Literary Machines, but the idea of master copy and occurrences was applied 17 years before, in Sketchpad.

Typical examples of elements that often require such exceptions are document titles, footnotes, and cross-references; in this way, they can be automatically suppressed upon transclusion, without manual reworking for each instance.

Parameterization implies the ability to modify certain portions or subsections of a transcluded text depending on exogenous variables that can be changed independently.

The concept of reusing file content began with computer programming languages: COBOL in 1960,[2] followed by BCPL, PL/I, C,[3] and by 1978, even FORTRAN.

[4] The idea of a single, reusable, source for information lead to concepts like: Don't repeat yourself and the abstraction principle.

[5] Ted Nelson, who originated the words hypertext and hypermedia, also coined the term transclusion in his 1980 book Literary Machines.

Part of his proposal was the idea that micropayments could be automatically exacted from the reader for all the text, no matter how many snippets of content are taken from various places.

Such scripts may transclude elements or documents from a server after the web browser has rendered the page, in response to user input or changing conditions, for example.

In this example, the data of file B is transcluded into the document A .