Szerkesztő:Nemethyd/Áthivatkozás

A Wikipédiából, a szabad enciklopédiából
Ebben a példában, B állomány adatait áthivatkozzuk (transzkludáljuk) az A dokumentumba.

A számítástudományban az áthivatkozás (transzklúzió) egy elektronikus dokumentum részének vagy egészének hypertext hivatkozással való beillesztése egy vagy több másik dokumentumba. Az áthivatkozás általában automatikusan és a felhasználó számára észrevehetetlenül hajtódik végre, amikor az adott dokumentum megjelenítése történik.

A számítógép-tudomány, transclusion a felvétel egy részét vagy egészét egy elektronikus dokumentum egy vagy több más dokumentum által hipertext hivatkozást.

Transclusion általában akkor kerül sor, ha a hivatkozás a dokumentum jelenik meg, általában az automatikus, valamint az átlátható, hogy a végfelhasználó.[1] Az eredmény transclusion egy egységes integrált dokumentum készült alkatrészek össze dinamikusan a különböző forrásból, esetleg tárolt különböző számítógépek különböző helyeken.

Az áthivatkozások eredményeként egy olyan dinamikusan integrált dokumentum jön létre, amelynek építőkövei különböző forrásokban, különböző helyeken és számítógépeken találhatóak meg.

Az áthivatkozás elősegíti a dokumentumok moduláris kialakítását: egy egyszer tárolt forrás megosztható több dokumentum számára újrafelhasználás céljából. A forrás frissítései és helyesbítései automatikusan tükröződnek minden az arra hivatkozó dokumentumban. A transzklúzió (áthivatkozás) kifejezést Ted Nelson használta először az Irodalmi Gépek c. 1980-ban megjelent nem-lineáris könyvében, de a mesterpéldány és másolati referenciák ötletét már 17 évvel korábban alkalmazták a Sketchpad szoftverben.

Műszaki megfontolások[szerkesztés]

Szövegkörnyezet semlegesség[szerkesztés]

Az áthivatkozás jobban alkalmazható, ha a szöveg áthivatkozott szakaszai önállóan megállják a helyüket, azaz a szöveg jelentése, illetve érvényessége független a szöveg környezetétől. Például, nem jók az olyan fogalmazások, mint "amint azt az előző részben láttuk" , mert az áthivatkozott részben más összefüggésben jelenhet meg a szöveg és ez zavart okoz. A "szövegkörnyezet semleges" szöveg változatosak, de gyakran olyasmiket tartalmaznak, mint a vállalati információk, vagy fülszövegek.

Paraméterezés[szerkesztés]

Bizonyos körülmények között és bizonyos technikai környezetekben előfordulhat, hogy az áthivatkozott a szövegben nem szükséges szigorú tartani a "szövegkörnyezeti semlegesség" elvét, mert lehetséges az éthivatkozásokat paraméterezni is. A paraméterezés azt a képességet jelenti, hogy az áthivatkozott szöveg egyes részeit vagy bekezdéseit ún. exogén (függetlenül módosítható) változók segítségével módosítják. Ezt általában úgy végzik, hogy az áthivatkozott szöveg egy vagy több helykitöltővel helyettesítik. Ezek aztán a az áthivatkozás végrehajtása során megfelelő változók értékeivel helyettesítik, és így helyezik el a szövegdarabot aaz áthivatkozó azöveg környezetében.

Története -- implementáció a Xanadu projektben[szerkesztés]

Ted Nelson, akitől a "hypertext" és a "hypermédia szó is származik, alkotta meg az áthivatkozás (eredetileg: transclusion) kifejezést is az 1980-ban megjelent Irodalmi Gépek c könyvében. Javaslatában szerepelt a mikrofizetés (micropayment) ötlete is, azaz az olvasótól egyben kérhetik a szöveg árát mikrofizetés formájában, függetlenül attól, hogy hány különböző helyről vett töredékből lett összeillesztve.

Nelson szerint az áthivatkozás koncepciója, már része volt az 1965-ben megfogalmazott hypertext leírásának is

Azonban Nelson szerint a koncepció transclusion már részét képezte az 1965 leírása hypertext.[2]

Nelson meghatározza transclusion, mint az "...ugyanaz a tartalom knowably több, mint egy helyen, hogy" beállítás kívül több speciális esetekben, például az integráció, a tartalom egy másik helyen (amely felhívja transdelivery) vagy kifejezett idézet , hogy továbbra is kapcsolatban marad eredete, (ami hív transquotation).

. Nelson az áthivatkozást a következőképpen határozza meg: "... ugyanaz a tartalom több mint egy helyről is megismerhető". Nelson ezt elkülönítette a többi olyan speciális esettől, mint az áthozzuk (transdelivery), amikor a tartalmat egy másik helyről átemeljük, illetve az átidézés (transquitation), amelyen olyan idézetet ért, amely kapcsolatban marad az eredeti szöveggel.

Bizonyos hypertext rendszerek, beleértve Ted Nelson saját Xanadu Projektjét is támogatják az átidézés technikáját.

Néhány hipertext rendszerek, beleértve a Ted Nelson saját Xanadu Projekttámogatás transclusion.[3]

Nelson a Little Transquoter programmal mutatta be a webes átidézést (ezt Nelson specifikációja alpaján Andrew Pam programozta 2004-2005-ben)

Nelson hozott egy bemutató Web transclusion, a Kis Transquoter (programozva, hogy Nelson specifikáció által Andrew Pam a 2004-2005).[4]

Létrehoz egy új formátumra épül részét címeket, weboldalakat; amikor dereferenced, minden egyes részét a megjelenő oldalon marad kattintson a kapcsolódó eredeti összefüggésben.

Ez olyan új formátumot hoz létre, amely weboldalak részeinek címeiből épül fel, s a kibontása során létrejövő oldalon minden rész az eredeti szövegkörnyezetre irányuló módon "kattintható" marad.

Internetes megvalósítás[szerkesztés]

A HTTP, mint átviteli protokoll, kezdetleges támogatja az áthivatkozást a byte-szolgáltatás révén. Ez azt jelenti, hogy a HTTP kérés üzenetben megadható egy byte tartomány.

Az áthivatkozás az üzenet átvitel előtt (a szerver oldalon), vagy utána (a kliens oldal) is megtörténhet. Például:

  • A HTML-dokumentumot a szerver a kliens oldalra való átvitel előtt létrehozhatja a Server-Side Includes vagy más szerver oldal alkalmazás segítségével.
    • Egy HTML-dokumentum lehet előre áll, amelyet a szerver kiszállítás előtt a kliens használatával Server-Side Includes vagy más szerver oldali alkalmazás.
    • XML Szervezetek vagy HTML Objektumokat lehet, hogy elemezze a kliens, amely akkor kéri, hogy a megfelelő forrásokat külön-külön a fő dokumentum.
    • Egy web böngésző cache elemek segítségével a saját algoritmusok, amely működhet anélkül, hogy explicit irányelvek a dokumentum jelölést.
    • AngularJS foglalkoztat transclusion a beágyazott irányelv művelet.[5]
  • Az XML entitásokat vagy HTML objektumokat a kliens is beolvashatja, ez esetben a kliens kéri el a fődokumentum részeit egyenkénti hívásokkal.
  • A web-böngésző az egyes elemeket saját algoritmusa szerint gyorstárolhatja (cache-elheti) , anélkül, hogy a dokumnetum jelölőnyelve erre jelzést adna.
  • Az AngularJS egymásba ágyazott utasításokon is képes áthivatkozásra.

A web tartalmak kiadói kifogást emelhetnek a saját weboldalaik anyagainak más oldalakra való áthivatkozása ellen, illetve valamilyen megállapodást feltételül szabhatnak. A gyakorlat kritikusai arra hivatkozhatnak, hogy sorközi hivatkozások (inline linking) különböző formái mint sávszélesség-élősködést követnek el.

Más kiadók ugyanakkor egyenesen kérik anyagaik áthivatkozását más weboldalakra, hiszen ez az internetes reklám egy módja, akár vagy widgetként, akár látogatásszámlálóként , vagy web beacon formájában.

Az adatötvözetek (mashup) arra használják az áthivatkozást, hogy különböző forrásokból és adatokból egy új alkalmazást hozzanak létre. Példa erre, amikor geo-jelölt fényképeket helyznek el egy interaktív térképen, vagy amikor üzleti mutatókat jelenítenek meg interaktív táblán.

Kliens-oldali HTML[szerkesztés]

HTML definiál olyan elemeket, amelyek a képek, szkriptek, stíluslapok, egyéb dokumentumok, illetve a más típusú média áthivatkozását segítik elő. A HTML az Internet kezdetétől fogva erősen támaszkodik a kliens-oldali áthivatkozásra, az ilyen adatok nyers a jelölőnyelvbe való sorközi beágyazása helyett . Ez elősegíti, hogy web oldalak még a multimédiás elemek betöltése előtt megjelenítődhessenek).

Más technikákban, mint pl. az Ajaxban, a HTML dokumentummal társított szkript arra utasíthatja a web-böngészőt, hogy dokumentumot helyban módosítsa, szemben azzal korábbi eljárással, hogy minden alkalommal az adot weboldal teljesen új verzióját kérje le a web-szerverről. Az ilyen parancsfájlok -- miután a böngésző beolvasta az oldalt --, felhasználói interakcióra, vagy a környezet változására adott válaszul áthivatkozhatnak a szerveren található dokumentumokra, vagy más elemekre.

A HTML jövőbeli verziói különböző technikákkal támogathatják a dokumentumok részeinek mélyebb áthivatkozását.Ilyenek lehet az XML entitás technológiája, a XPointer dokumentum hivatkozásai, és az XSLT transzformációk. Az XPointer szabadalmaztatott termék, de használata ingyenes.

Jövő változata a HTML támogathatja mélyebb transclusion a részei, dokumentumok segítségével XML technológiák, mint például a szervezetek, XPointer dokumentum hivatkozik, XSLT manipulációk.

XPointer szabadalmaztatott de licenc alatt jogdíjmentes feltételek[6].

Proxy szerverek is alkalmazhatják az áthivatkozás technikáját, hogy így csökkentsék a gyakran kért források felesleges lehívásainak számát.

A Google által kialakított és karbantartott népszerű front-end rendszer, az AngularJS, rendelkezik az ng-transclude direktívával, amely legközelebbi szülő.parancs számára kijelöli beillesztés helyét.

Szerver oldali áthivatkozás[szerkesztés]

Az áthivatkozás megvalósítható szerver oldalon is a Server Side Includes, vagy SGML-entitások segítségével a szerver szoftver feladataként. Ezt a funkció a helyettesítő sablonok funkciója.

Forráskód áthivatkozása[szerkesztés]

A szoftvertervezési és referencia kézikönyvekben is át lehet hivatkozni a forráskódra. Ez lehetővé teszi, hogy a forráskódot megjelenítsük a dokumentum részeként, anélkül, hogy végrehajtanánk azt. Megőrizve ezzel a beillesztett kód a forráskód adatbázissal való szemantikai konzisztenciáját.

Lásd még[szerkesztés]

Hivatkozások[szerkesztés]

  1. The Discipline of Organizing. Cambridge, Massachusetts: MIT Press, 231. o. (2013. április 25.). ISBN 9780262518505 
  2. Theodor H. Nelson, "A File Structure for the Complex, the Changing and the Indeterminate."
  3. Kolbitsch, Josef: Transclusions in an HTML-Based Environment, 2017. január 27. (Hozzáférés: 2017. január 27.)
  4. The Little Transquoter Xanadu.com.au
  5. AngularJS. docs.angularjs.org . (Hozzáférés: 2016. augusztus 11.)
  6. "XPointer Patent Statements".

További olvasmányok[szerkesztés]

Külső linkek[szerkesztés]