Xml a programozás prizmáján keresztül

Az interneten alkalmazott programozás a felhasználói kérések feldolgozásával és a kiszolgálói oldalak dinamikus generálásával kezdődött. Ugyanez a tendencia fejlődött ki a HTML-dokumentumok betétlapjainak programozási nyelvén. Aztán jöttek a programozási nyelvek elemei HTML dokumentumok a kliens oldalon. Mindkettő kötődik a HTML adatmodellhez. Ma, amikor a web átkerül az XML specifikációk kötegébe, a szoftverfejlesztőknek ezt figyelembe kell venniük és megfelelően reagálniuk kell, lehetővé téve például az XML jelölőelemek manipulálását. A probléma azonosítására és megoldására szolgáló szabványt Dokumentum Objektum Modellnek (DOM) nevezték el.

A VBScript és a JScript ezt jelentette

A Microsoft ugyanabban az irányban mozog. A Java technológia fokozatosan lecsökkent a webes alkalmazások fejlesztési eszközeire, és a forgatókönyv iránya a DHTML (Dynamic HTML) koncepciójává vált.

És az XML, a DHTML és a Java végül lezárták az internetes adatmodellt, olyan weboldalak halmazát, amelyek az XML keresőmotor-fejlesztők szempontjából a heterogén adatok folyamatos áramlását jelentik [5]. Egy dokumentum (oldal) a Web minden dokumentumának (oldalának) egy részhalmaza. A webes adatmodell grafikonként definiálható - egy "erdő" a fáknak.

1. ábra. A HTML dokumentum struktúrájának grafikus ábrázolása

A beszélgetésünk tárgyát egyszerűbb formában ábrázolva HTML-dokumentumot készítünk, és "előkészítjük" egy ilyen grafikon-adatmodell szempontjából (1. Az egész dokumentum a HTML-jelölés egyik nagy eleme. A dokumentum olyan blokkelem, amely nem metszene más dokumentumokkal, de blokkokat is tartalmazhat, például HEAD és BODY. A HEAD és a BODY viszont más blokkokat is tartalmazhat. Ebben az esetben az attribútumainak a BODY eleme képes meghatározni a dokumentum teljes megjelenített testének tulajdonságait, például a szövegszínt, a háttérszínt vagy a hipertext-hivatkozások színét. Ha még tovább halad a testen belül, akkor egy tipikus HTML dokumentum nagyon nagy valószínűséggel talál egy IMG jelölőelemet, amelynek saját tulajdonságai vannak.

Most nevezzük a gráf objektumok csomópontjait, és a programok engedélyezik az objektumok tulajdonságainak megváltoztatását. Mondja meg, hogy az objektum SRC attribútuma az IMG jelölőelemnek megfelelő. Az ilyen módosításokat egy olyan módszerrel végezheti el, amely egyaránt használható mind a nyelvi szkriptekhez, mind a Java számára. Mindez a DOM - Document Object Model fogalmát alkotja. A DOM maga egy alkalmazás-programozási felület a webes adatmodellben, vagy más szavakkal egy sor szabványos web objektum metódus. Ha a dokumentum testére szánt szöveget szeretne kiadni, ezt bármely DOM programot támogató programozási nyelven elvégezheti:

Itt a dokumentumobjektum szabványos írási módját használjuk. A módszer neve, visszatérési értéke, a módszer argumentumai és típusai a DOM-ban standardizálva vannak.

Így a webes technológia fejlődésének módja a statikus HTML-jelölés a szkriptnyelvek, a Java és a DHTML-től az XML és a DOM specifikációiig terjed. Fogjuk meg részletesebben az út szakaszait.

A dokumentumok kidolgozásának technológiája

A HTML feltételezi, hogy a dokumentum olyan szabványos jelölőelemekből áll, amelyek nagyon konkrét módon vannak megjelenítve. A HTML elemek halmaza egy közös nyomtatott dokumentum összetevőinek tipizálása: címek, különböző típusú listák, bekezdések, táblázatok, idézetek stb. Így minden elem kétféleképpen oszlik meg: string és block. Az első tartalmazhat egy bekezdést, egy listát, egy táblázatot. Szöveg elemek - dőlt vagy telítettség, szöveges hipertext linkek. Mindezt a HTML specifikáció dokumentumtípus definíciójában definiáljuk, amely formálisan az SGML-re van írva.

A webes technológiák fejlődésének korai szakaszában az elemek megjelenítésére vonatkozó merev szabályok lehetővé tették a böngészők számára világos és egyértelmű követelményeket, valamint a webes információk gyors feltöltését. Ahogy egyre nagyobb az információ mennyisége, és a webes dokumentumok készletének összetétele egyre bonyolultabbá vált, a technológia egyszerűsége elkezdett hibává válni. Meg kellett másolnunk a kódrészleteket, új jelölőelemeket kellene bevezetnünk, hogy a kontextustól függően megváltoztassuk a képformátumokat, és támogassunk több és összetettebb grafikus fájlformátumot.

Emlékeztetni kell arra is, hogy a webhelyek létrehozása most különféle szakmai tevékenységgé vált. Ugyanakkor a csomópont önálló árucikk lett, amelynek értéke nem haladhatja meg a funkcionális célja által meghatározott ésszerű határértékeket (virtuális bolt, információs szolgáltatás, a vállalati rendszer magja stb.). Ebből kiindulva a weboldal funkcióinak összetételének bizonyos megértése, a weboldal oldalainak funkcionális céljának, az összetevők összetételének és az oldalakon lévő információk feldolgozásának módszereinek tipizálása.

A program végrehajtásának eredményeinek beszúrása a dokumentumba sokkal több lehetőséget nyit meg. Az ilyen betétek kétféleképpen is létezhetnek:

A "exec cmd =" ​​elrendezés lehetővé teszi egy külső program eredményének beillesztését, például a dátumot (beilleszteni az aktuális dátumot) a dokumentumba. A "exec cgi =" opció lehetővé teszi a cgi-script végrehajtásának eredményét a dokumentumba. Ez egy nagyon hatékony webhely-tervező eszköz, amely lehetővé teszi, hogy kéréseket fogadhasson a böngészőkről a CGI-motoron keresztül, és oldalakat generálhasson a kérések eredményei alapján. Ily módon a keresőmotorokat eredetileg adatbázisokban, később keresőmotorokban hajtották végre a kulcsszavakra vonatkozó információkhoz.

A kérelemnek a böngészőből történő feldolgozása a beolvasott dokumentum (Szerver Parsed Document) fogadásához a következő:

Erősítse meg a kapcsolatot, és fogadjon egy kérelmet a böngészőből;
  • ellenőrizze, hogy engedélyt kapott-e helyettesítések végrehajtása ebben a könyvtárban;
  • Indítsa el az SSI direktívák keresését és értelmezését a dokumentumban, valamint módosítsa az oldal tartalma helyettesítést;
  • generáljon választ és küldje el a böngészőnek.
  • Így a kiszolgáló az SSI nyelv tolmácsa, azaz A szerver modulok részeként SSI értelmező modulnak kell lennie.

    A kód értelmezése a SCRIPT elemben csak az oldal kezdeti terhelésének időpontjában történik. A vezérlés a tolmácshoz érkezik abban a pillanatban, amikor a HTML-elemző program "letapog" a SCRIPT jelölőelemre. A kód végrehajtásra kerül, és működésének eredményét beillesztik a dokumentumba (ha ez megtörténhet). A kliens oldalon tipikus végrehajtás valósul meg.

    A CSS HTML megjelenésekor két általános jelölő elemet lehetett használni: a DIV (generalizált blokk) és a SPAN (általánosított vonaljelölő elem). Most már létrehozhat egy logikai struktúrát a dokumentumokról, majd meghatározhatja a megjelenítés formátumát.

    Ez a megközelítés megváltoztatta az egész weboldal tervezési technológiáját. Most először meghatározzák az oldalak típusát, majd minden egyes logikai szerkezet logikai struktúráját, végül pedig minden logikai elemet összetételét és megjelenését határozza meg.

    Eddig ez a kérdés a HTML-jelölőelemeken alapuló technológiák fejlesztésén és az oldalakon való elhelyezésük módján volt. De van egy másik aspektusa a webes technológia - a Java programozási nyelv.

    Kezdetben a Java nem szándékozik manipulálni a HTML oldal objektumát, és bár a herceg a Sun böngészőjének határán futott, a Java csak az applet markup elemeként lett beágyazva a dokumentumba. Az interfészek, főként grafikus formátumok univerzális programozási nyelveként a Java támogatta az absztraktabb adattípusokat és objektumokat, mint a HTML oldalak programozásához.

    A dokumentum logikai felépítése

    A DTD HTML határozza meg a HTML-dokumentum létrehozásának szabályait, a jelölőelemek szintaxisát és lehetséges relatív pozícionálását. Ha a dokumentumot olyan elemek csoportjába tekintjük, amelyek a jelölőelemekkel társulnak, akkor a DTD meghatározza az objektumok osztályhierarchiáját.

    Az egyes objektumok közötti kapcsolatok elsősorban "rész-egész" viszonyra redukálódnak, és a dokumentumszerkezet egy fa. A csontváz szerepében áll a dokumentum blokkjelző elemeinek fája. Ezután a kereten egymásra helyezik a vonalelemeket és a stílusokat. Ezenkívül a dokumentumnak a DTD-ben meghatározott dokumentumobjektumosztályainak alfaja is van. Az osztály tulajdonságainak megváltoztatása az adott osztály összes objektumának tulajdonságait megváltoztatja (lásd 2. ábra).

    Ábra. 2. A dokumentum logikai felépítése.

    A helyobjektum a böngésző hely mezőjéhez kapcsolódik, ahol az ablakban betöltött dokumentum URL-je jelenik meg. A helyszín tulajdonságokkal és módszerekkel rendelkezik. Amikor a hely tulajdonság értéke megváltozik, vagy amikor a módszert hívják, a dokumentum újratöltésre kerül. Újratöltéskor a történeti objektum egy védett tömbje feltölthető - a felhasználó által meglátogatott URL-készlete. A történelem legfontosabb módja a windows.history.back (), window.history.forward () és window.history.go (-1) módszerek.

    A navigátor objektum lehetővé teszi a dokumentum megjelenítését a böngésző és beállításainak megfelelően. Az ablak objektumának benyújtása kissé ilegikusnak tűnik: a számos szervizelt ablak ellenére a böngészőprogram egy. A navigációs objektum leghasznosabb tulajdonságai, például a kódrészlet lehetővé teszi az oldalak betöltését navigátor típusával.

    Ha például a böngészõoldalon kell ellenõriznie a Java-kód végrehajtását, például egy applethez vagy anélkül tölteni egy oldalt, akkor ezt úgy hajthatja végre, hogy megfelelõ módszert alkalmaz a navigációs objektumra.

    A dokumentumobjektum egy dokumentum testhez van társítva, és tartalmaz egyéb nevezhető objektumokat, például IMG vagy FORM objektumokat, és része lehet egy beágyazott tömbnek, például a hipertext-linkeknek (linkek []).

    A legnagyobb vizuális effektek egy IMG objektum src tulajdonságának megváltoztatásával érhetők el, amely lehet egy megnevezett dokumentumobjektum. A dokumentum beépített tömbjében is megtalálható. [].

    Maga a tárgy hármasnak tekinthető: tulajdonságok, módszerek, események. A tulajdonságok egy objektum skaláris jellemzői, a módszerek olyan tulajdonságok, amelyek megváltoztathatják a tulajdonságokat. Az események olyan külső hatások, amelyeken egy eseménykezelő funkciót írhat. Ez a programozási kapcsolódó eseményeket különböző hatások, mint például a színezés fekete-fehér képek, vagy megváltoztathatja a képet úgy, hogy a kurzort a hipertext link.

    IE objektumok modellje. Dinamikus HTML

    A stílusok különálló hierarchiát hoznak létre az objektumokról, és nagymértékben függenek attól, hogy a választó típusát milyen stílus jellemzi. Ha ez az osztály választó jelölés, ez az egyik ág a fa tárgyakat a dokumentumban, ha bármilyen osztályba választó, akkor ez egy másik ága a fa tárgyakat a dokumentumot, ha a választó objektum azonosítót, akkor ez a harmadik ága a dokumentum objektum.

    Meg kell jegyezni, hogy nem szükséges, hogy hozzon létre egy társított ID szelektor leírásaiban stílusok felhasználásra ID jelölő JScript - kezelése révén ez stílus mindegy lehetetlen.

    Bármely esemény társítható egy jelölőelemhez - ez az elem attribútumkezelőjének jelzésével érhető el. Más szóval, az összes jelölőelemnek tartalmaznia kell az események teljes listáját és az események kezelőit az egyes funkcióosztályokhoz. A programozó a kezelő attribútumon keresztül felülírhatja az alapértelmezett műveletet.

    A JScript-ben az eseményfeldolgozás "buborék" módszerét használjuk. Ez azt jelenti, hogy ha egy objektum valamilyen esemény, hogy az úgynevezett első eseménykezelő kapcsolódó objektumot, majd továbbítják az eseménykezelő az esemény egy idősebb tárgy az objektum hierarchia a dokumentumot. A programozó képes megtiltani az eseményfeldolgozás átvitelét a csúcsra.

    És az utolsó érintés a JScript "portréjához". Ez a nyelv és annak adatmodellje Active Server Pages (ASP) programozására használható. A legfontosabb dolog itt nem az, hogy megzavarja a szerver oldalán értelmezendő JScript utasításokat és a böngésző oldalán végrehajtandó JScript-kódot.

    A DOM alkalmazásprogramozási felület

    • interfészek és tárgyak a dokumentum bemutatásához és manipulálásához;
    • a felületek és objektumok szemantikája, beleértve a viselkedését és tulajdonságait;
    • összefüggések és kapcsolódási pontok és objektumok társulása.

    A DOM adatmodell és az SGML absztrakt adatmodell közötti fő különbség az, hogy az SGML modell a tényleges adatok köré épül. Az objektumorientált programozási nyelvek esetében, amelyeknél a DOM fogalmát kifejlesztik, az adatok olyan objektumokba vannak beágyazva, amelyek elrejtik és megvédik őket a változásoktól. Az adatokat csak az objektum specifikációban megadott módszerekkel módosíthatja. A DOM XML és HTML adat- és adatkezelési módszereket határoz meg.

    A DOM specifikáció két részből áll: a DOM mag és a DOM alkalmazás HTML-be. A kernel funkcionális teljességet biztosít az XML dokumentumok feldolgozásához, valamint a DOM HTML alapjainak.

    A DOM motor lehetővé teszi, hogy a dokumentumot olyan csomópont-készletként határozza meg, amely kapcsolatban áll egymással a szülő-gyermek kapcsolat, és a dokumentumobjektum a kulcs. A szülő-gyermek kapcsolat a DOM-ban a következőképpen van meghatározva:

    Másrészt a DOM meghatároz egy olyan csomópont-objektumot, amelynek NodeList felülete határozza meg a Csomópont-objektum csomópontjainak sorrendjét.

    Ha arra számítasz, hogy ez lesz a DOM felület fa kérdése, meg kell gyászolnod - nincs ilyen fa a DOM-ban. Minden egyes felület egy olyan attribútumot és módszert ír le, amely viszont egy másik interfésszel rendelkezik. Természetesen megpróbálhat ilyen fát felépíteni, de azonnal figyelmeztetni szeretném, hogy az oszlopban gyűrű lesz.

    Interface megadott leírás a szokásos ABC sorrendben osztottuk DOM Core leírása és a HTML DOM, és a lényege az alapvető interfészeket vannak jelölve. Megjegyezzük, hogy az interfészleírás valójában egy objektumosztály leírása. Csak az osztálymódszerek esetében nincs olyan módszerek megvalósítása, amelyek szerepelnek az interfészekben. A leírás a felületen vannak változók, de, ellentétben a Java, amely szintén egy interfész mechanizmus, akkor lehet meghatározni, mint az állandó és változó tulajdonságokkal egy osztály tárgyakat. A specifikus programozási nyelveken az interfészek megvalósítása az adott nyelvek fejlesztőinek felelőssége a megfelelő osztályok leírásában.

    A DOM-ban a felületek két szintjét veszik figyelembe: a csomópontokkal működő alapréteg Java alkalmazásokra vagy más alkalmazások fejlesztési nyelvekre történő alkalmazásra irányul; Olyan alkalmazásréteg, amely a Dokumentum vagy Elem típusú objektumokat, valamint a DOM HTML-ben működik, a HTML-objektumok meghatározott osztályai. Az utóbbi típusú interfészek a szkriptnyelvekre irányulnak, és a programozók szélesebb körét használhatják.

    A magasabb szintű interfészek, például a HTML DOM szakasz HTMLFromElement interfésze, a következőképpen kerülnek meghatározásra:

    KÖZVETLEN EREDMÉNYEK

    Kapcsolódó cikkek