Transclusion - Transclusion

V tomto případě jsou údaje o souboru B je transcluded do dokumentu A .

V informatice je transclusion zahrnutí části nebo celého elektronického dokumentu do jednoho nebo více dalších dokumentů pomocí hypertextového odkazu . Transclusion se obvykle provádí při zobrazení referenčního dokumentu a je obvykle automatická a pro koncového uživatele transparentní. Výsledkem transclusion je jeden integrovaný dokument vyrobený z částí sestavených dynamicky ze samostatných zdrojů, případně uložených na různých počítačích na nesourodých místech.

Transclusion usnadňuje modulární design : zdroj je uložen jednou a distribuován pro opětovné použití ve více dokumentech. Aktualizace nebo opravy zdroje se pak projeví v jakýchkoli referenčních dokumentech. Ted Nelson razil termín pro svou nelineární knihu Literární stroje z roku 1980 , ale myšlenka mistrovské kopie a výskytů byla aplikována o 17 let dříve ve Sketchpadu .

Technické aspekty

Neutralita kontextu

Transclusion funguje lépe, když jsou transdulované části textu samostatné, takže význam a platnost textu je nezávislá na kontextu. Například formulace jako „jak je vysvětleno v předchozí části“ jsou problematické, protože transcludovaná část se může objevit v jiném kontextu, což způsobuje zmatek. To, co představuje „kontextově neutrální“ text, se liší, ale často zahrnuje například informace o společnosti nebo standardní dokument .

Parametrizace

Za určitých okolností a v některých technických kontextech nemusí transponované části textu vyžadovat striktní dodržování zásady „kontextové neutrality“, protože transcludované sekce jsou schopné parametrizace . Parametrizace znamená schopnost upravovat určité části nebo podsekce přeloženého textu v závislosti na exogenních proměnných, které lze změnit nezávisle. To se obvykle provádí dodáním překládaného textu s jedním nebo více zástupnými zástupnými symboly . Tyto zástupné symboly jsou poté nahrazeny odpovídajícími hodnotami proměnných před vykreslením konečného transcludovaného výstupu v kontextu.

Původy

Koncept opětovného použití obsahu souboru začal počítačovými programovacími jazyky: COBOL v roce 1960, následovaný BCPL , PL/I , C a v 90. letech dokonce FORTRAN . Patří směrnice umožňuje společný zdrojový kód , aby byly znovu a zároveň se vyhýbat nástrahám Copy-and-paste-programování a tvrdé kódování konstant. Jako u mnoha inovací vyvstal problém. Více direktiv zahrnout může poskytovat stejný obsah jako další direktiva include, což neúmyslně způsobí opakování stejného zdrojového kódu do konečného výsledku, což má za následek chybu . Zahrnout stráže pomáhají tento problém vyřešit tím, že po jediném zahrnutí obsahu poté vynechají duplicitní obsah.

Myšlenka jediného, ​​opakovaně použitelného zdroje informací vede k konceptům jako: Neopakujte se a princip abstrakce . Bylo nalezeno další využití, aby byly programy přenosnější . Přenosný zdrojový kód používá ke specifikaci standardní knihovny direktivu include , která obsahuje systémový zdrojový kód, který se liší v každém počítačovém prostředí.

Historie a implementace projektu Xanadu

Ted Nelson, který vytvořil slova „hypertext“ a „ hypermedia “, také vytvořil termín „transclusion“ ve své knize Literární stroje z roku 1980 . Součástí jeho návrhu byla myšlenka, že mikroplatby lze automaticky požadovat od čtečky u celého textu, bez ohledu na to, kolik úryvků obsahu je převzato z různých míst.

Podle Nelsona však koncept transclusion již byl součástí jeho popisu hypertextu z roku 1965 . Nelson definuje transclusion jako „... tentýž obsah znatelně na více než jednom místě“, čímž se odlišuje od více speciálních případů, jako je zahrnutí obsahu z jiného umístění (které nazývá transdelivery ) nebo explicitní citace, která zůstává spojený s jeho původem (což nazývá transquotation ).

Některé hypertextové systémy, včetně vlastního projektu Xanadu Teda Teda Nelsona , podporují transclusion.

Nelson předvedl ukázku webové transclúze, Malý transquoter (naprogramovaný podle Nelsonovy specifikace Andrewem Pamem v letech 2004-2005). Vytváří nový formát postavený na adresách částí z webových stránek; když je zrušen odkaz, každá část na výsledné stránce zůstane připojena kliknutím na její původní kontext.

Implementace na webu

HTTP , jako přenosový protokol, má základní podporu pro transpozici prostřednictvím obsluhy bajtů : určení rozsahu bajtů ve zprávě požadavku HTTP.

Transclusion může nastat buď před (na straně serveru), nebo po (na straně klienta) přenosu. Například:

  • Dokument HTML může být předem sestaven serverem před doručením klientovi pomocí Server-Side Includes nebo jiné aplikace na straně serveru.
  • Subjekty XML nebo objekty HTML může analyzovat klient, který poté požaduje odpovídající prostředky odděleně od hlavního dokumentu.
  • Webový prohlížeč může ukládat do mezipaměti prvky pomocí vlastních algoritmů, které mohou fungovat bez explicitních směrnic v označení dokumentu.
  • AngularJS využívá transclusion pro provoz vnořených direktiv.

Vydavatelé webového obsahu mohou vznést námitky proti převedení materiálu z jejich vlastních webových stránek na jiné webové stránky, nebo k tomu mohou vyžadovat souhlas. Kritici této praxe mohou odkazovat na různé formy linkového propojení jako krádež šířky pásma nebo pijavice .

Jiní vydavatelé se mohou konkrétně snažit, aby jejich materiály byly převedeny na jiné webové stránky, například ve formě webové reklamy nebo jako widgety, jako je počítadlo přístupů nebo webová chyba .

Mashupy využívají transclusion ke shromažďování zdrojů nebo dat do nové aplikace, například umísťováním fotografií s geoznačkami na interaktivní mapu nebo zobrazováním obchodních metrik na interaktivním řídicím panelu .

HTML na straně klienta

HTML definuje prvky pro transluzi obrázků , skriptů, stylů , jiných dokumentů a dalších typů médií na straně klienta . HTML do značné míry spoléhalo na transluzi na straně klienta od nejstarších dob webu (takže webové stránky bylo možné zobrazovat rychleji, než se multimediální prvky dokončily načítání), než aby vložila nezpracovaná data pro takové objekty vložená do označení webové stránky.

Prostřednictvím technik, jako je Ajax , mohou skripty přidružené k dokumentu HTML instruovat webový prohlížeč, aby upravil dokument na místě, na rozdíl od dřívější techniky, kdy je nutné z webového serveru stáhnout zcela novou verzi stránky. Takové skripty mohou například po reakci webového prohlížeče na stránku, například v reakci na vstup uživatele nebo změnu podmínek, převést prvky nebo dokumenty ze serveru.

Budoucí verze HTML mohou podporovat hlubší transcluzi částí dokumentů pomocí technologií XML, jako jsou entity , odkazy na dokumenty XPointer a manipulace XSLT . XPointer je patentovaný, ale je licencován za podmínek bez licenčních poplatků .

Proxy servery mohou využívat transclusion ke snížení nadbytečných přenosů běžně požadovaných zdrojů.

Oblíbený Front End Framework známý jako AngularJS vyvinutý a spravovaný společností Google má direktivní callend ng-transclude, který označuje bod vložení pro transcluded DOM nejbližší nadřazené směrnice, která používá transclusion.

Transclusion na straně serveru

Transclusion lze provést na straně serveru, jako prostřednictvím Server Side Includes a označení entit entit vyřešených serverovým softwarem. Je to funkce šablon substituce .

Transclusion zdrojového kódu

Transpozice zdrojového kódu do softwarového designu nebo referenčních materiálů umožňuje, aby byl zdrojový kód v dokumentu prezentován, ale nikoli interpretován jako součást dokumentu, přičemž je zachována sémantická konzistence vloženého kódu ve vztahu k jeho zdrojové kódové základně.

Viz také

Reference

Další čtení

externí odkazy