Писатели Сербии и Черногории
- 1 year ago
- 0
- 0
Трансклюзия в информатике — включение одного электронного документа или его части в другие электронные документы посредством гипертекстовой ссылки . Трансклюзия обычно подразумевает отображение документа, на который делается ссылка. Документ (запись) отображается автоматически и доступен конечному пользователю. Кажется, что в результате трансклюзии образуется единый сложный документ, в то время как на самом деле его части были оперативно собраны из разных источников, которые могут храниться на разных удаленных друг от друга компьютерах.
С помощью трансклюзии реализуется модульность : ресурс можно собрать один раз, а затем повторно использовать во множестве документов. Тогда обновления и исправления, внесенные в ресурс, будут отображаться и во всех ссылающихся на него документах. Термин предложен Тедом Нельсоном в «нелинейной» книге 1980 года « Литературные машины » (книга составлена таким образом, что её части можно читать не по порядку).
Создание документов с помощью трансклюзии приводит к лучшему результату, когда составные части текста автономны, так что их ценность и содержательность не зависят от контекста, в который они включены. Например, формулировка «как было описано выше» нежелательна, потому что с помощью трансклюзии любая часть текста может быть помещена в другой контекст и тогда она будет непонятна.
Содержание контекстно нейтральной записи может быть очень разным. Например, в ней может заключаться информация о компании или шаблон документа. Контекстно-нейтральная запись может также быть (аннотированным или озаглавленным) видео-, аудиофайлом, картинкой и т. п.
При определённых обстоятельствах и в некоторых контекстах, включение частей текста в другие документы посредством трансклюзии может не требовать строгого следования принципу «контекстной нейтральности». Под «параметризаций» записей (фрагментов текста) Тед Нельсон понимает возможность уточнять их содержимое при помощи формул с переменными, которые зависят от контекста. Обычно параметризация обеспечивается включением в запись одной или нескольких лакун (substitution placeholders), которые затем заполняются переменными значениями, прежде чем завершенная таким образом запись предстает читателю в контексте.
Тед Нельсон, также впервые предложивший понятия « гипертекст » и « гипермедиа », предложил термин «трансклюзия» ( англ. transclusion ) в книге 1980 года « Литературные машины ». Частью предложенной им концепции было представление о том, что микроплатежи могут автоматически взиматься с читателя за весь текст вне зависимости от того, сколько фрагментов содержимого взято из разных источников. Соответственно, правообладатели будут получать доход за счёт включения принадлежащих им фрагментов в другие тексты.
Однако, как пишет Нельсон, концепция трансклюзии уже частично входила и в описание « гипертекста », сделанного им в 1965 году. Нельсон определяет трансклюзию как «одно и то же содержимое, доступное более чем в одном источнике» . Он отличает трансклюзию от более частных случаев, таких, как включение содержимого, хранящего на разных носителеях (которое он называет «транс-передача» («transdelivery»)) или «очевидное цитирование, сохраняющее связь с оригиналом» (которое он называет «транс-цитирование» («transquotation»)).
Некоторые гипертекстные системы, в том числе — проект « Занаду » самого Теда Нельсона, — позволяют пользоваться трансклюзией. Нельсон создал демонстрацию Интернет-трансклюзии, Маленький Транс-цитатник (который Эндрю Пэм запрограммировал в 2004—2005 годах, следуя инструкциям Нельсона) . Он представляет собой новый формат интернет-портала, построенный на обращении к частям других Интернет-страниц; каждый фрагмент на итоговой странице остается связанным с исходным контекстом.
HTTP как протокол передачи частично поддерживает трансклюзию, допуская .
Трансклюзия может произойти как до (на стороне сервера), так и после передачи (на стороне клиента). Например:
Производители интернет-контента могут выдвинуть обвинения за трансклюзию материала с их сайтов на другие сайты, или же требовать запроса на их предварительное согласие. Критики трансклюзии обычно ссылаются на различные формы хотлинков [ неизвестный термин ] или личинга [ неизвестный термин ] .
Другие владельцы сайтов, наоборот, могут специально добиваться включения своего материала в другие сайты посредством трансклюзии, не только в форме интернет-рекламы, но и в виде различных устройств, как, например, счетчик посещений.
Приложения типа мэшап [ неизвестный термин ] могут использовать трансклюзию для сбора ресурсов или информации в новом приложении, вставляя фотографии с определённой геопозицией в интерактивную карту или показывая бизнес-показатели в панели индикаторов.
HTML определяет элементы для трансклюзии со стороны клиента: изображений, скриптов, стилей, других документов и других типов медиа. С момента своего появления HTML использует трансклюзию на клиенте, вместо внедрения содержимого объектов в разметку интернет-страницы. Это, в свою очередь, позволяет пользователю просматривать интернет-страницу раньше, чем загрузятся все элементы.
Используя Ajax , скрипт, прилагающийся к HTML-документу, может попросить браузер изменить часть документа. Раньше же требовалось загружать с сервера новую версию страницы целиком. Такие скрипты могут вставлять элементы или документы с сервера с помощью трансклюзии уже после того, как браузер отобразил страницу, например, по запросу пользователя или реагируя на внешние изменения.
Будущие версии HTML , может быть, будут поддерживать трансклюзию частей документов, используя технологии XML (SGML entity), адресацию документов XPointer и XSLT-обращения. (XPointer является запатентованной технологией ).
Интересный пример использования трансклюзии можно найти в одностраничном приложении TiddlyWiki .
Прокси-серверы могут использовать трансклюзию для того, чтобы уменьшить избыточную пересылку часто запрашиваемых ресурсов. AngularJS поддерживает директиву «ng-transclude», для обозначения точки включения DOM-дерева в ближайшую родительскую директиву, которая использует трансклюзию.
Есть продукты, которые являются показательными примерами использования элементов трансклюзии инструментами пользователя (без программирования). Некоторые вики-системы, такие как MediaWiki (технология, лежащая в основе Википедии) и TWiki , позволяют пользователю напрямую включать отдельные документы в другие документы посредством ссылки. Другие решения, такие как Author-It, позволяют создавать вложимые фрагменты («компоненты»). Изменение копии компонента в одном месте изменяет все её экземпляры в других местах .
В то время, как социальные сети, форумы и другие медиа-сервисы позволяют хранить и скачивать копии изображений, некоторые сервисы позволяют использовать изображения только с внешнего хостинга, поддерживая таким образом трансклюзию изображений. Типичным сценарием внедрения роликов Youtube и других видео-хранилищ в веб-страницы является трансклюзия, в противоположность хранению копий на сервере.
Трансклюзия может выполняться на сервере посредством SSI или ссылок на SGML-сущности, разрешаемые ПО сервера. Трансклюзия также может выполняться шаблонизатором .
Трансклюзия исходного кода в проектную или справочную документацию позволяет представлять исходный код в документе. Исходный код тогда не будет считаться частью документа и сохранит смысловую последовательность внутреннего кода, в отличие от основания кода его источника.