Delphi - Intelligens címkék weboldalakon

forráskód letöltése
A Microsoft Office XP programcsomag számtalan újdonsága mellett használhatjuk az úgynevezett Intelligens címkéket (Smart Tag), melyek segítségével a csomag alkalmazásaiban a meghatározott karakterláncokhoz speciális funkciók társíthatók. Ezeket egy, a szó fölött felbukkanó menüből választhatjuk ki. Az Office XP rendelkezik viszont egy kiegészítéssel a technológia tekintetében. Az Intelligens címkék HTML kódban előforduló szavakhoz is társíthatók. Cikkünkben ennek megvalósítását mutatjuk be egy példán keresztül.
Az alkalmazás használata előtt a WebSmartTag.xml állományt el kell helyezni a <winroot>:\Program Files\Common Files\Microsoft Shared\Smart Tag\Lists mappában.
Virtuális mappa létrehozása/törlése
Az alkalmazás indulása után létre kell hoznunk egy virtuális mappát a számítógépre telepített IIS Web-szerveren, mely a példa mappájában található Sample alkönyvtárra mutat. Ennek érdekében lefuttatjuk a CreateVD.js parancsállományt programból. A virtuális mappát a DeleteVD.js script futtatásával törölhetjük szintén az alkalmazásból.
A mappa létrehozása után a fizikai könyvtárban található Test.html állomány betölthető az Internet Explorer kontrolba, melyet a Form-ra helyeztünk.
Smart Tag elkészítése
A weboldalon meghatározott szavak köréhez társítunk funkciókat, jelen esetben a Software Online hetilap oldalainak elérését. Minden szó, mely benne van ebben a körben, aláhúzással lesz kiemelve, amikor a Smart Tag-et tartalmazó állomány a megfelelő helyen lesz és a címke aktív. Ebben az esetben elegendő az adott szavak valamelyike fölé mozgatni a kurzort, és a funkciókat tartalmazó menü előbukkan.
Lássuk, hogyan épül fel Smart Tag-et tartalmazó XML állomány. Az állomány fejlécében jelezzük, hogy az állomány egy címke funkcionalitását tartalmazza:
<FL:smarttaglist xmlns:FL="urn:schemas-microsoft-com:smarttags:list">
Ezt követően kell megadni a címke nevét, mely szerepel majd az Intelligens címke-listában:
<FL:name>WebSmartTag</FL:name>
Minden Smart Tag deklarációját a <FL:smarttag></FL:smarttag> elem pár tartalmazza:
<FL:smarttag type="urn:schemas-microsoft-com:smarttags#websmarttag">
A készítendő címkénk a websmarttag nevet viseli. Megadhatunk leírást a címkéhez, azonban fontosabb elem a fejléc szövegét tartalmazó tag:
<FL:caption>Software Online links</FL:caption>
A következő elemben adjuk meg azoknak a szavaknak a körét, melyekre a címke aktiválódik:
  <FL:terms>
    <FL:termlist>Software Online, Development, Software</FL:termlist>
  </FL:terms>
A következő lépés egy-egy menüpont megadása. Ezeket a <FL:actions></FL:actions> páros tartalmazza. Három menüpont jelenik meg a menüben, melyekkel a Software Online hetilap egy-egy oldalát érhetjük el:
  <FL:actions>
    <FL:action id="main">
A fejléc, mely olvasható lesz az adott pontban:
      <FL:caption>Software Online startpage</FL:caption> 
Az URL, amit elérhet a felhasználó az adott pontból:
      <FL:url>http://www.softwareonline.hu/</FL:url> 
    </FL:action>
    ...
  </FL:actions>
Majd lezárjuk a definíciókat:
</FL:smarttag>
</FL:smarttaglist>
A címke deklarációját el kell helyeznünk egy központi helyen a merevlemezen, hogy mind a Microsoft Office XP csomag alkalmazásaiból, mind pedig a szerverünkön futó Web-alkalmazásból el tudjuk érni. A könyvtár a következő elérési útvonalon található: <winroot>:\Program Files\Common Files\Microsoft Shared\Smart Tag\Lists.
Az XML állományban megadott címke esetében – tekintettel az XML-szabványokra és az azt feldolgozó rendszerre –, nem adhatunk meg ékezetes karaktereket sem a címekben, sem egyéb feliratokban.
Felhasználás az alkalmazásban
A Test.html lap HTML kódjában elhelyeztünk néhány deklarációt, melyek segítenek abban, hogy a Smart Tag elérhető legyen a következő szavakra:
  • Software Online
  • Development
  • Software
Az oldal HTML kódjában a következőket kell megadnunk: a következő sort kell beilleszteni, hogy a futtatórendszer számára jelezzük, hogy az oldal bizonyos szavai mögött funkcionalitás rejlik:
<HTML xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:odc="urn:schemas-microsoft-com:smarttags">
A fejlécben elhelyezünk egy hivatkozást a saját címkénkre:
<o:SmartTagType name="websmarttagfunctions" namespaceuri="urn:schemas-microsoft-com:smarttags" />
És egy objektumra, mely segítségünkre van a megfelelő viselkedés produkálásában:
<OBJECT id="ieooui" classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" VIEWASTEXT>
</OBJECT>
A viselkedésformát egy stílusba ágyazzuk:
<STYLE> odc\:* { BEHAVIOR: url(#ieooui) }
</STYLE>
Majd a stílusjellemzőket felhasználjuk a szavakat befoglaló elem stílusának megadásához:
<odc:websmarttag style="BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x">Software Online</odc:websmarttag>
Ezek eredményeként a „Software Online startpage” menüpontot választva eljuthatunk a Software Online hetilap kezdőoldalára, a „Registration” menüpontban a Regisztrációs oldalra, az „Actual Week” menüpont választásával pedig a Delphi rendszerrel foglalkozó site aktuális hetére navigálhatunk.