HTTP, as a transmission protocol, has rudimentary support for transclusion via
byte serving: specifying a
byte range in an HTTP request message. Transclusion can occur either before (server-side) or after (client-side) transmission. For example: • An HTML document may be pre-composed by the server before delivery to the client using Server-Side Includes or another server-side application. • XML Entities or HTML Objects may be parsed by the client, which then requests the corresponding resources separately from the main document. • A web browser may cache elements using its own algorithms, which can operate without explicit directives in the document's markup. •
AngularJS employs transclusion for nested directive operation. Publishers of web content may object to the transclusion of material from their own web sites into other web sites, or they may require an agreement to do so. Critics of the practice may refer to various forms of
inline linking as
bandwidth theft or
leeching. Other publishers may seek specifically to have their materials transcluded into other web sites, as in the form of
web advertising, or as
widgets like a
hit counter or
web bug.
Mashups make use of transclusion to assemble resources or data into a new application, as by placing
geo-tagged photos on an interactive map, or by displaying business metrics in an interactive
dashboard.
Client-side HTML HTML defines elements for client-side transclusion of
images, scripts,
stylesheets,
other documents, and
other types of media. HTML has relied heavily on client-side transclusion from the earliest days of the Web (so web pages could be displayed more quickly before multimedia elements finished loading), rather than embedding the raw data for such objects inline into a web page's markup. Through techniques such as
Ajax, scripts associated with an HTML document can instruct a web browser to modify the document in-place, as opposed to the earlier technique of having to pull an entirely new version of the page from the web server. 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. Future versions of HTML may support deeper transclusion of portions of documents using
XML technologies such as
entities,
XPointer document referencing, and
XSLT manipulations.
Proxy servers may employ transclusion to reduce redundant transmissions of commonly requested resources. A popular Front End Framework known as
AngularJS developed and maintained by
Google has a directive called ng-transclude that marks the insertion point for the transcluded DOM of the nearest parent directive that uses transclusion.
Server-side transclusion Transclusion can be accomplished on the server side, as through
Server Side Includes and
markup entity references resolved by the server software. It is a feature of
substitution templates.
Transclusion of source code Transclusion of source code into
software design or reference materials lets source code be presented within the document, but not interpreted as part of the document, preserving the semantic consistency of the inserted code in relation to its source codebase.
Transclusion in content management In
content management for
single-source publishing, top-class
content management systems increasingly provide for transclusion and substitution.
Component content management systems, especially, aim to take the
modular design principle to its optimal degree.
MediaWiki provides transclusion and substitution and is a good off-the-shelf option for many smaller organizations (such as smaller nonprofits and
SMEs) that may not have the budget for other commercial options; for details, see
Component content management system. == Implementation in software development ==