Transcluded Hypertext

In computer science, Transclusion is the inclusion of part or all of an electronic document into one or more other documents by hypertext reference - wikipedia

A scheme illustrating the process of transclusion. - wikimedia

Transclusion is usually performed when the referencing document is displayed, and is normally automatic and transparent to the end user.

The result of transclusion appears to be a single integrated document, although its parts were assembled on-the-fly from various separate sources, possibly stored on different computers located in disparate places

Transclusion enables modular design: allowing a resource to be stored once, yet distributed for reuse in multiple documents. Updates or corrections to a resource are then reflected in any referencing documents. Ted Nelson coined the term for his 1980 nonlinear book Literary Machines.

# History and implementation by Project Xanadu

Ted Nelson, who also originated the words Hypertext and Hypermedia, 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.

However, according to Nelson, the concept of Transclusion had already formed part of his 1965 description of Hypertext. Nelson defines transclusion as:

"the same content knowably in more than one place"

setting it apart from more special cases such as the inclusion of content stored in a different location (which he calls Transdelivery) or "explicit quotation which remains connected to its origins" (which he calls Transquotation).

# Implementation on the Web

HTTP, as a transmission protocol, has rudimentary support for transclusion via Byte Serving: specifying a byte range (List of HTTP header fields#Range) in an HTTP request message.

* AngularJS employs transclusion for nested directive operation.

# Client-side HTML

HTML defines elements for client-side transclusion of images (HTML element#Images and objects), scripts (HTML scripting), stylesheets (Style sheet (web development)), other documents (Framing (World Wide Web)), and other types of media (HTML element#Images and objects). HTML has traditionally relied heavily on client-side transclusion from the earliest days of the Web (which in turn allowed web pages to be displayed more quickly before multimedia elements had finished loading), rather than embedding the raw data for such objects inline into a web page's markup.

An interesting use of Transclusion is found in the single-page application TiddlyWiki, http://tiddlywiki.com/#Transclusion.