Transclusion - Transclusion
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é
- Složený dokument
- Křížový odkaz
- Architektura psaní informací Darwin (DITA) a opětovné použití obsahu
- Makro (počítačová věda)
- Propojování a vkládání objektů (OLE)
- Publikovat a přihlásit se k odběru (Mac OS)
- Publikování z jednoho zdroje
- Podprogram
- X Zahrnout
Reference
Další čtení
- Di Iorio, A .; Vitali, F. (srpen 2003). „Xanalogické prostředí pro kolaborativní úpravy“ (PDF) . Proceedings of the Second International Workshop of Web Document Analysis 2003 (WDA2003) . Edinburgh, Velká Británie.
- Kolbitsch, J .; Maurer, H. (červen 2006). "Transclusion v prostředí založeném na HTML" . Journal of Computing and Information Technology . 14 (2): 161–174. doi : 10.2498/cit.2006.02.07 .
- Kolbitsch, J. (červen 2005). „Jemnozrnné translace multimediálních dokumentů v HTML“ . Journal of Universal Computer Science . 11 odst.
- Krottmaier, H. (2002). „Přeložené dokumenty: Výhody opětovného použití fragmentů dokumentů“ (PDF) . Sborník příspěvků ze 6. mezinárodní konference ICCC/IFIP o elektronickém publikování (ELPUB2002) . Česká republika: Karlovy Vary. s. 359–367. Archivováno z originálu (PDF) dne 2005-05-17.
- Krottmaier, H .; D., Helic (2002). „Problémy s překlady“ (PDF) . Proceedings of the World Conference on E-Learning in Corporate, Government, Healthcare, and Higher Education (E-Learn 2002) . Montreal, Kanada. s. 1730–1733. Archivováno z originálu (PDF) dne 2015-06-20 . Citováno 2006-05-25 .
- Krottmaier, H .; Maurer, H. (červenec 2001). „Transclusion in the 21st Century“ ( PDF , HTML , PostScript ) . Journal of Universal Computer Science . 7 (12): 1125–1136. CiteSeerX 10.1.1.106.9923 .
- Moore, A .; et al. (2001). „Osobně přizpůsobená výuka ve WHURLE pomocí podmíněného translucionálu“. Sborník z dvanácté konference ACM o hypertextu a hypermedii . Aarhus, Danmark. s. 163–164.
- Nelson, TH (1993) [1980]. Literární stroje . Svědomitý tisk.
- Nelson, TH (1995). „The Heart of Connection: Hypermedia Unified by Transclusion“. Komunikace ACM . 38 (8): 31–33. doi : 10,1145/208344,208353 . S2CID 16604206 .
- Nelson, TH (1996). „Zobecněné odkazy, mikroplatby a Transcopyright“ . Almaden Research Center .
- Nelson, TH (1998). „Transcopyright: Předběžné oprávnění pro virtuální publikování“ .
- Nelson, TH (1999). „Xanalogická struktura, potřebná nyní více než kdy jindy: paralelní dokumenty, hluboké odkazy na obsah, hluboké vytváření verzí a hluboké opakované použití“ . Výpočetní průzkumy ACM . 31 (4es): 33 – es. CiteSeerX 10.1.1.418.7740 . doi : 10,1145/345966,346033 . S2CID 12852736 .
- Pam, A. (1997). „Jemnozrnná transpozice v jazyce Hypertext Markup Language“ (text) . Internetový koncept .
- Wilde, E .; Lowe, D. (2002). „Kapitola 7: Jazyk propojení XML“ . XPath, XLink, XPointer a XML: Praktický průvodce webovým hypertextovým odkazem a transclusion . Addison-Wesley Professional. s. 169–198. ISBN 9780201703443.
externí odkazy
- Ted Nelson: Transclusion: Fixing Electronic Literature —on Google Tech Talks, 29. ledna 2007.