~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ EA59447226A18225E5482670CCC03ADB__1717849860 ✰
Заголовок документа оригинал.:
✰ Transclusion - Wikipedia ✰
Заголовок документа перевод.:
✰ Трансклюзия — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Transclusion ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/ea/db/ea59447226a18225e5482670ccc03adb.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/ea/db/ea59447226a18225e5482670ccc03adb__translat.html ✰
Дата и время сохранения документа:
✰ 12.06.2024 03:46:08 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 8 June 2024, at 15:31 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Трансклюзия — Википедия Jump to content

Включение

Из Википедии, бесплатной энциклопедии
В этом примере данные файла B включаются в A. документ

В информатике включение посредством — это включение части или всего электронного документа в один или несколько других документов ссылки через гипертекст . Включение обычно выполняется при отображении ссылочного документа и обычно является автоматическим и прозрачным для конечного пользователя. [1] Результатом включения является единый интегрированный документ, составленный из частей, динамически собранных из отдельных источников, возможно, хранящихся на разных компьютерах в разных местах.

Включение упрощает модульную конструкцию (с использованием модели « единого источника истины », будь то данные , код или контент ): ресурс сохраняется один раз и распространяется для повторного использования в нескольких документах. Обновления или исправления ресурса затем отражаются во всех ссылочных документах.

В системах, где включение недоступно, а также в некоторых ситуациях, когда оно доступно, но нежелательно, замена часто является дополнительным вариантом, при котором статическая копия «единого источника истины» интегрируется в соответствующий документ. Примерами того и другого служат способы их использования, например, при создании контента Википедии ( см. Википедия:Переключение и Википедия:Замена дополнительную информацию ). Замещенные статические копии требуют иного подхода к контролю версий , чем включение, но иногда они необходимы.

Тед Нельсон придумал этот термин для своей нелинейной книги «Литературные машины» 1980 года , но идея мастер-копии и явлений была применена 17 лет назад в Sketchpad . В настоящее время это распространенный метод, используемый авторами учебников, когда одну тему/предмет необходимо обсудить в нескольких главах. Преимущество этой системы в учебниках заключается в том, что она обеспечивает избыточность данных и сохраняет размер книги приемлемым.

Технические соображения [ править ]

нейтральность Контекстная

Включение работает лучше, когда включенные разделы текста являются самостоятельными, так что значение и достоверность текста не зависят от контекста. Например, такие формулировки, как «как объяснено в предыдущем разделе», являются проблематичными, поскольку включенный раздел может появиться в другом контексте, вызывая путаницу. То, что представляет собой «контекстно-нейтральный» текст, может быть разным, но часто включает в себя такие вещи, как информация о компании или шаблон . Чтобы помочь преодолеть проблемы контекстной чувствительности, такие как вышеупомянутые, системы, способные к включению, часто также способны подавлять определенные элементы в включенном контенте. Например, Википедия может использовать для этой цели такие теги, как « noinclude », «onlyinclude» и «includeonly». Типичными примерами элементов, для которых часто требуются такие исключения, являются заголовки документов, сноски и перекрестные ссылки; таким образом, их можно автоматически подавлять при включении без ручной обработки для каждого экземпляра.

Параметризация [ править ]

При некоторых обстоятельствах и в некоторых технических контекстах включенные разделы текста могут не требовать строгого соблюдения принципа «контекстной нейтральности», поскольку включенные разделы допускают параметризацию . Параметризация подразумевает возможность изменять определенные части или подразделы включенного текста в зависимости от экзогенных переменных, которые можно изменять независимо. Обычно это делается путем снабжения включенного текста одним или несколькими заполнителями замены . Эти заполнители затем заменяются соответствующими значениями переменных перед визуализацией окончательного включенного вывода в контексте.

Происхождение [ править ]

Концепция повторного использования содержимого файлов началась с языков программирования: COBOL в 1960 году. [2] за которым следуют BCPL , PL/I , C , [3] а к 1978 году даже FORTRAN . Директива include позволяет повторно использовать общий исходный код, избегая при этом ошибок программирования копирования и вставки и жесткого кодирования констант. Как и во многих нововведениях, возникла проблема. Несколько директив include могут предоставлять тот же контент, что и другая директива include, что непреднамеренно приводит к повторению одного и того же исходного кода в конечном результате, что приводит к ошибке . Охранники включения помогают решить эту проблему, после однократного включения контента исключая дублирующийся контент. [4]

Идея единого, многократно используемого источника информации привела к таким концепциям, как: « Не повторяйся» и принципу абстракции . Было найдено еще одно применение — сделать программы более переносимыми . Переносимый исходный код использует директиву include для указания стандартной библиотеки , которая содержит исходный код, специфичный для системы, который варьируется в зависимости от компьютерной среды. [5]

Project Xanadu реализация История и

Тед Нельсон, автор слов «гипертекст» и « гипермедиа », также ввел термин «трансклюзия» в своей книге «Литературные машины » 1980 года . Частью его предложения была идея, что микроплатежи можно будет автоматически взимать с читателя за весь текст, независимо от того, сколько фрагментов контента взято из разных мест.

Однако, по словам Нельсона, концепция включения уже стала частью его описания гипертекста в 1965 году . [6] Нельсон определяет трансклюзию как «...один и тот же контент, познаваемый более чем в одном месте», отделяя его от более особых случаев, таких как включение контента из другого места (что он называет трансдоставкой ) или явное цитирование , которое остается связано с его происхождением (которое он называет трансцитацией ).

Некоторые гипертекстовые системы, в том числе собственный проект Теда Нельсона Xanadu Project , поддерживают включение. [7]

Нельсон провел демонстрацию веб-включения, Little Transquoter (запрограммированный по спецификации Нельсона Эндрю Пэмом в 2004–2005 годах). [8] Он создает новый формат, основанный на адресах частей веб-страниц; при разыменовании каждая часть результирующей страницы остается связанной с исходным контекстом.

Реализация в сети [ править ]

HTTP , как протокол передачи, имеет элементарную поддержку включения через обслуживание байтов : указание диапазона байтов в сообщении HTTP-запроса.

Включение может происходить либо до (на стороне сервера), либо после (на стороне клиента) передачи. Например:

  • HTML-документ может быть предварительно составлен сервером перед доставкой клиенту с помощью серверных включений или другого серверного приложения.
  • Объекты XML или объекты HTML могут анализироваться клиентом, который затем запрашивает соответствующие ресурсы отдельно от основного документа.
  • Веб-браузер может кэшировать элементы, используя свои собственные алгоритмы, которые могут работать без явных директив в разметке документа.
  • AngularJS использует включение для работы с вложенными директивами. [9]

Издатели веб-контента могут возражать против включения материалов с их собственных веб-сайтов на другие веб-сайты или могут потребовать для этого согласия. Критики этой практики могут называть различные формы встроенных ссылок кражей полосы пропускания или хищением .

Другие издатели могут специально стремиться к включению своих материалов на другие веб-сайты, например, в форме веб-рекламы или в виде виджетов , таких как счетчик посещений или веб-жучок .

В гибридных приложениях включение используется для объединения ресурсов или данных в новое приложение, например, путем размещения фотографий с географическими тегами на интерактивной карте или путем отображения бизнес-показателей на интерактивной информационной панели .

Клиентский HTML [ править ]

HTML определяет элементы для включения изображений , сценариев, таблиц стилей , других документов и других типов мультимедиа на стороне клиента . HTML в значительной степени полагался на включение на стороне клиента с самых первых дней существования Интернета (чтобы веб-страницы могли отображаться быстрее до завершения загрузки мультимедийных элементов), а не на встраивание необработанных данных для таких объектов в разметку веб-страницы.

С помощью таких методов, как Ajax , сценарии, связанные с HTML-документом, могут указать веб-браузеру изменить документ на месте, в отличие от более раннего метода, когда приходилось получать совершенно новую версию страницы с веб-сервера. Такие сценарии могут транслировать элементы или документы с сервера после того, как веб-браузер отобразил страницу, например, в ответ на ввод пользователя или изменение условий.

Будущие версии HTML могут поддерживать более глубокое включение частей документов с использованием технологий XML, таких как сущности , ссылки на документы XPointer и XSLT манипуляции .

Прокси-серверы могут использовать трансклюзию для уменьшения избыточной передачи часто запрашиваемых ресурсов.

Популярная интерфейсная платформа, известная как AngularJS , разработанная и поддерживаемая Google , имеет директиву callend ng-transclude, которая отмечает точку вставки для включенного DOM ближайшей родительской директивы, использующей включение.

Включение на стороне сервера [ править ]

Включение может быть выполнено на стороне сервера, например, посредством включения на стороне сервера и ссылок на объекты разметки, разрешенных серверным программным обеспечением. Это особенность шаблонов подмены .

Включение исходного кода [ править ]

Включение исходного кода в проект программного обеспечения или справочные материалы позволяет исходному коду быть представленным в документе, но не интерпретироваться как часть документа, сохраняя семантическую согласованность вставленного кода по отношению к его исходной кодовой базе.

Включение в управление контентом [ править ]

В управлении контентом для публикации из одного источника первоклассные системы управления контентом все чаще предусматривают включение и замену. Системы управления контентом компонентов , в частности, стремятся довести принцип модульного дизайна до оптимальной степени. MediaWiki обеспечивает включение и замену и является хорошим готовым вариантом для многих небольших организаций (таких как небольшие некоммерческие организации и МСП ), у которых может не быть бюджета на другие коммерческие варианты; подробнее см. Система управления контентом компонентов .

Внедрение в разработку программного обеспечения [ править ]

Общей особенностью языков программирования является способность одного файла исходного кода полностью или частично включать другой файл исходного кода. Включенная часть интерпретируется так, как если бы она была частью включаемого файла. Некоторые из методов:

  • Включить: некоторые программы явно ВКЛЮЧАЮТ другой файл. Включенный файл может состоять из исполняемого кода, объявлений, инструкций компилятора и/или переходов к более поздним частям документа, в зависимости от переменных времени компиляции.
  • Макрос: языки ассемблера и некоторые языки программирования высокого уровня обычно предоставляют макросы, специальные именованные инструкции, используемые для определения, генерации исполняемого кода, обеспечения циклов и других решений, а также изменения документа, созданного в соответствии с параметрами, предоставленными макросу, когда файл рендерится.
  • Копирование. В языке программирования Cobol есть команда COPY, при которой скопированный файл вставляется в копируемый документ, заменяя команду COPY. Код и объявления в скопированном файле можно изменить с помощью аргумента REPLACING как части команды копирования.

См. также [ править ]

Ссылки [ править ]

  1. ^ Глушко, Роберт Дж. , изд. (2013). Организационная дисциплина . Кембридж, Массачусетс: MIT Press. п. 231. ИСБН  9780262518505 .
  2. ^ Первоначальные спецификации ОБЩЕГО БИЗНЕС-ОРИЕНТИРОВАННОГО ЯЗЫКА (COBOL) для программирования электронных цифровых компьютеров (PDF) . Вашингтон: Министерство обороны. Апрель 1960 г. стр. V-27. ВКЛЮЧИТЬ: Функция: экономить усилия программиста за счет автоматического включения библиотечных подпрограмм в исходную программу.
  3. ^ Ричи, Деннис М. (1 марта 1993 г.). «Развитие языка Си» . Уведомления ACM SIGPLAN . 28 (3): 201–208. дои : 10.1145/155360.155580 . Архивировано из оригинала 27 февраля 2020 года. Многие другие изменения произошли примерно в 1972–1972 годах, но наиболее важным было введение препроцессора , частично по настоянию Алана Снайдера [Snyder 74], но также и в знак признания полезности препроцессора. [sic] механизмы включения файлов, доступные в BCPL и PL/I . Его первоначальная версия была чрезвычайно простой и содержала только включаемые файлы и простые замены строк : #include и #define для макросов без параметров. Вскоре после этого он был расширен, в основном Майком Леском, а затем Джоном Райзером, для включения макросов с аргументами и условной компиляции . Препроцессор изначально считался необязательным дополнением к самому языку. Альтернативный URL-адрес. Архивировано 4 февраля 2020 г. на Wayback Machine.
  4. ^ Столлман, Ричард М .; Вайнберг, Закари. «Файлы заголовков» (PDF) . Препроцессор C: для gcc версии 6.3.0 (GCC) . стр. 10–11. Альтернативы Wrapper #ifndef : CPP поддерживает еще два способа указать, что файл заголовка должен быть прочитан только один раз. Ни один из них не является столь переносимым, как оболочка #ifndef, и мы рекомендуем вам не использовать их в новых программах с оговоркой, что #import является стандартной практикой в ​​Objective-C . [...] Другой способ предотвратить повторное включение заголовочного файла — это использовать директиву « #pragma Once ». Если при сканировании файла заголовка отображается «#pragma Once», этот файл больше никогда не будет прочитан, несмотря ни на что.
  5. ^ Джонсон, Южная Каролина ; Ричи, DM (июль – август 1978 г.). «Система разделения времени UNIX: переносимость программ на языке C и системы UNIX» . Технический журнал Bell System . 57 (6): 2021–2048. дои : 10.1002/j.1538-7305.1978.tb02141.x . ISSN   0005-8580 . S2CID   17510065 . Проверено 27 февраля 2020 г. Еще до появления машины Interdata , как упоминалось выше, было понятно, что многие программы в нежелательной степени зависят не только от UNIX соглашений ввода-вывода , но и от деталей особенно благоприятных стратегий буферизации для PDP-11 . Пакет подпрограмм, названный « переносимой библиотекой ввода-вывода », был написан М. Е. Леском и реализован на машинах Honeywell и IBM, а также PDP-11 в целом успешной попытке преодолеть недостатки более ранних пакетов.
  6. ^ Теодор Х. Нельсон, «Файловая структура для сложного, изменяющегося и неопределенного». Материалы 20-й национальной конференции ACM (1965), стр. 84–100.
  7. ^ Колбич, Йозеф; Маурер, Герман (27 января 2017 г.). «Включения в среде на основе HTML» (PDF) . Архивировано из оригинала (PDF) 1 июля 2017 года . Проверено 27 января 2017 г.
  8. ^ Маленький трансцитатор Xanadu.com.au
  9. ^ «АнгулярДжС» . docs.angularjs.org . Проверено 11 августа 2016 г.

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: EA59447226A18225E5482670CCC03ADB__1717849860
URL1:https://en.wikipedia.org/wiki/Transclusion
Заголовок, (Title) документа по адресу, URL1:
Transclusion - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)