Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Transclusion

Transclusion

Overview

In computer science
Computer science
Computer science is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems. It is frequently described as the systematic study of algorithmic processes that create, describe and transform...

, transclusion is the inclusion of part of a document into another document by reference.

For example, an article about a country might include a chart or a paragraph describing that country's agricultural exports from a different article about agriculture. Rather than copying the included data and storing it in two places, a transclusion embodies modular design
Modular design
In systems engineering, modular design — or "modularity in design" — is an approach that subdivides a system into smaller parts that can be independently created and then used in different systems to drive multiple functionalities...

, by allowing it to be stored only once (and perhaps corrected and updated if the link type supported that) and viewed in different contexts.
Discussion
Ask a question about 'Transclusion'
Start a new discussion about 'Transclusion'
Answer questions from other users
Full Discussion Forum
 
Encyclopedia

In computer science
Computer science
Computer science is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems. It is frequently described as the systematic study of algorithmic processes that create, describe and transform...

, transclusion is the inclusion of part of a document into another document by reference.

For example, an article about a country might include a chart or a paragraph describing that country's agricultural exports from a different article about agriculture. Rather than copying the included data and storing it in two places, a transclusion embodies modular design
Modular design
In systems engineering, modular design — or "modularity in design" — is an approach that subdivides a system into smaller parts that can be independently created and then used in different systems to drive multiple functionalities...

, by allowing it to be stored only once (and perhaps corrected and updated if the link type supported that) and viewed in different contexts. The reference also serves to link both articles.

The term was coined by hypertext
Hypertext
Hypertext is text, displayed on a computer, with references to other text that the reader can immediately access, usually by a mouse click or keypress sequence. Apart from running text, hypertext may contain tables, images and other presentational devices...

 pioneer Ted Nelson
Ted Nelson
Theodor Holm Nelson is an American sociologist, philosopher, and pioneer of information technology. He coined the term "hypertext" in 1963 and published it in 1965. He also is credited with first use of the words hypermedia, transclusion, virtuality, intertwingularity and teledildonics...

 in 1982.

Context neutrality


Transclusion works better when transcluded sections of text are self-contained, so that the meaning and validity of the text is independent of the context in which it appears. For example, formulations like "as explained in the previous section" are problematic, because the transcluded section may appear in a different context, causing confusion. What constitutes "context neutral" text varies, but often includes things like company information or boilerplate
Boilerplate (text)
Boilerplate is any text that is or can be reused in new contexts or applications without being changed much from the original. Many computer programmers often use the term boilerplate code. A legal boilerplate is a standard provision in a contract....

.

Parameterization


Under some circumstances, and in some technical contexts, transcluded sections of text may not require strict adherence to the "context neutrality" principle, because the transcluded sections are capable of parameterization. Parameterization implies the ability to modify certain portions or subsections of a transcluded text depending on exogenous variables that can be changed independently. This is customarily done by supplying a transcluded text with one or more substitution placeholders. These placeholders are then replaced with the corresponding variable values prior to rendering the final transcluded output in context.

History and implementation by Project Xanadu


Nelson (who had also originated the words "hypertext" and "hypermedia
Hypermedia
Hypermedia is used as a logical extension of the term hypertext in which graphics, audio, video, plain text and hyperlinks intertwine to create a generally non-linear medium of information.This contrasts with the broader term multimedia, which may be used to describe non-interactive linear...

") coined the term "transclusion" in his 1982 book, Literary Machines
Literary Machines
Literary Machines is a book first published in 1980 by Ted Nelson, and republished 9 times by 1993. It offers an extensive overview of Nelson's term "hypertext" as well as Nelson's Project Xanadu...

. Part of his proposal was the idea that micropayment
Micropayment
Micropayments are a means for transferring very small amounts of money, often in conjunction with the threshold pledge system, in situations where collecting such small amounts of money with the usual payment systems is impractical, or very expensive, in terms of the amount of money being collected...

s 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
Hypertext
Hypertext is text, displayed on a computer, with references to other text that the reader can immediately access, usually by a mouse click or keypress sequence. Apart from running text, hypertext may contain tables, images and other presentational devices...

; he also interprets the notion of "trails" in Vannevar Bush
Vannevar Bush
Vannevar Bush was an American engineer and science administrator known for his work on analog computing, his political role in the development of the atomic bomb, and the idea of the memex, an adjustable microfilm-viewer which is somewhat analogous to the World Wide Web.Bush was a well-known...

's 1945 essay As We May Think
As We May Think
As We May Think is an essay by Vannevar Bush, first published in The Atlantic Monthly in July 1945. Bush argued that as humans stopped warring, scientific efforts should change from increasing physical abilities to making all previous collected human knowledge more accessible.The article was a...

 as describing transclusion rather than hyperlink
Hyperlink
In computing, a hyperlink is a reference in a document to an external or internal piece of information. The most common usage is in the Internet to browse through web pages: some text in the current document is highlighted so that when clicked, the browser automatically displays another page or...

s.

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
Quotation
A quotation is the repetition of one expression as part of another one, particularly when the quoted expression is well-known or explicitly attributed to its original source, and it is indicated by quotation marks....

 which remains connnected to its origins" (which he calls "transquotation").

Some hypertext systems, including Ted Nelson's own Xanadu Project
Project Xanadu
Project Xanadu was the first hypertext project, founded in 1960 by Ted Nelson. Administrators of Project Xanadu now contrast it with both paper and the World Wide Web, saying "Today's popular software simulates paper...

, support transclusion.

Nelson has delivered a demonstration of Web transclusion, the Little Transquoter (programmed to Nelson's specification by Andrew Pam in 2004-2005). It creates a new format built on portion addresses from Web pages; when dereferenced, each portion on the resulting page remains click-connected to its original context—always a key aspect of transclusion for Nelson, but missing in most implementations of transclusion.

HTML


, transclusion in HTML
HTML
HTML, which stands for Hyper Text Markup Language, is the predominant markup language for web pages. It provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists etc as well as for links, quotes, and other items. It allows images...

 is somewhat limited by lack of standards support in web browsers. Although all graphical browsers can transclude an image
Inline linking
Inline linking is the use of a linked object, often an image, from one site into a web page belonging to a second site...

, including a document is a bit more difficult. There are currently two methods of achieving this result:
  • The IFrame (inline frame) element, which includes whole documents.
  • The Object element. In Firefox and other browsers, this allows true document transclusion, enabling one page to be built from several smaller documents.


In addition, Ajax
Ajax (programming)
AJAX is a group of interrelated web development techniques used on the client-side to create interactive web applications. With AJAX, web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page...

 can achieve a similar result across all modern, JavaScript
JavaScript
JavaScript is an object-oriented scripting language used to enable programmatic access to objects within both the client application and other applications. It is primarily used in the form of client-side JavaScript, implemented as an integrated component of the web browser, allowing the...

-enabled browsers.

Future versions of HTML may support deeper transclusion of portions of documents using XML
XML
XML is a set of rules for encoding documents electronically. It is defined in the produced by the W3C and several other related specifications; all are fee-free open standards....

 technologies such as entities
SGML entity
In the Standard Generalized Markup Language , an entity is a primitive data type, which associates a string with either a unique alias or an SGML reserved word . Entities are foundational to the organizational structure and definition of SGML documents...

, XPointer
XPointer
XPointer is a system for addressing components of XML based internet media.XPointer is divided among four specifications: a "framework" which forms the basis for identifying XML fragments, a positional element addressing scheme, a scheme for namespaces, and a scheme for XPath-based addressing...

 document referencing, and XSLT manipulations. (XPointer is patent-encumbered.)

The practice of 'remote loading'—including data, such as images, directly from other sites—is usually frowned upon because of the use of bandwidth and computing power required from the remote computer system (see Bandwidth theft). This is said to "tax" another server
Server (computing)
A server is an application running on a computer that delivers a service. For example, a web server will deliver web pages when requested by a browser . The way a server and a client dialogs is called a protocol...

, and is often considered an example of leeching
Leech (computing)
In computing and specifically on the Internet, being a leech or leecher refers to the practice of benefiting, usually deliberately, from others' information or effort but not offering anything in return, or only token offerings in an attempt to avoid being called a leech...

. Increased distribution of proxy server
Proxy server
In computer networks, a proxy server is a server that acts as an intermediary for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server...

s has the potential to turn this around and take advantage of transclusion to reduce redundant transmissions of the same data.

A major exception to this rule is web advertising
Advertising
Advertising is a form of communication used to influence individuals to purchase products or services or support political candidates or ideas. Frequently it communicates a message that includes the name of the product or service and how that product or service could potentially benefit the consumer...

, where advertisements supplied by an advertiser are published with other content by a publisher. An advertiser prefers to serve an advertisement and be able to detect when it was viewed, rather than have it served by the publisher and have to trust the publisher. (See also Hit counter, Web bug
Web bug
A Web bug is an object that is embedded in a web page or e-mail and is usually invisible to the user but allows checking that a user has viewed the page or e-mail. One common use is in e-mail tracking...

).

Mashups and meshups
Mashup (web application hybrid)
In web development, a mashup is a web page or application that combines data or functionality from two or more external sources to create a new service. The term mashup implies easy, fast integration, frequently using open APIs and data sources to produce results that were not the original reason...

 are a recent phenomenon similar to transclusion.

Server-side Transclusion


Transclusion can also be accomplished on the server side, provided the server software includes this functionality. This can be done through multiple different technologies, including Server Side Includes
Server Side Includes
Server Side Includes is a simple interpreted server-side scripting language used almost exclusively for the web.The most frequent use of SSI is to include the contents of one or more files into a web page on a web server...

 and markup entity references
SGML entity
In the Standard Generalized Markup Language , an entity is a primitive data type, which associates a string with either a unique alias or an SGML reserved word . Entities are foundational to the organizational structure and definition of SGML documents...

 resolved by the server software. It is a feature of substitution templates
Web template
A web template is a tool used to separate content from presentation in web design, and for mass-production of web documents. It is a basic component of a web template system.Web templates can be used to set up any type of website...

. Client-side transclusion is generally preferable as data transcluded into several pages can be cached by the client rather than sent out again for every page.

See also


  • Compound document
    Compound document
    In computing, a compound document is a document type typically produced using word processing software, and is a regular text document intermingled with non-text elements such as spreadsheets, pictures, digital videos, digital audio, and other multimedia features...

  • Cross-reference
    Cross-reference
    A cross-reference is an instance within a document which refers to related or synonymous information elsewhere, usually within the same work. To cross-reference or to cross-refer is to make such connections. The term "cross-reference" is often abbreviated as x-ref, xref, or, in computer science,...

  • Macro
  • Object Linking and Embedding
    Object Linking and Embedding
    Object Linking and Embedding is a technology that allows embedding and linking to documents and other objects developed by Microsoft. For developers, it brought OLE Control eXtension , a way to develop and use custom user interface elements...

  • Publish and Subscribe
    Publish and Subscribe
    Publish and Subscribe was a document linking model introduced by Apple Computer in System 7. Named the Edition Manager in developer documentation, it extended the existing cut and paste editing model with a notification system; "subscribers" could include parts of "published" documents within...

  • Single source publishing
    Single source publishing
    Single source publishing, also known as single sourcing, allows the same content to be used in different documents or in various formats. The labour-intensive and expensive work of editing need only be carried out once, on one document. Further transformations are carried out mechanistically, by...

  • Subroutine
    Subroutine
    In computer science, a subroutine or subprogram is a portion of code within a larger program, which performs a specific task and is relatively independent of the remaining code....


External links