Navigace

Hlavnφ menu

 

Metadata a hlaviΦka pro XHTML dokument

Velkou v²hodou (X)HTML dokument∙ je, ₧e krom∞ vlastnφho obsahu, ΦitelnΘho v prohlφ₧eΦi, mohou nΘst i °adu skryt²ch informacφ, metadat. Ve skuteΦnosti nßm mohou metadata prozradit mnohem vφce ne₧ dokument sßm. V poslednφ dob∞ vÜak u₧ b²vajφ hlaviΦky, kam se metadata zapisujφ, tak objemnΘ, ₧e se v nich lze jen t∞₧ko orientovat a n∞kdy sv²m rozsahem dokonce podstatn∞ p°evyÜujφ dokument sßm. Tento Φlßnek by vßm m∞l napomoci zorientovat se v zßkladnφch mo₧nostech vyu₧itφ metadat v hlaviΦce (X)HTML dokumentu.

Nejprve se podφvejte, jak bude vypadat v²sledn² dokument. JednotlivΘ sekce budu rozebφrat a komentovat postupn∞, proto₧e je jich velkΘ mno₧stvφ. Ka₧dß sekce je od ostatnφch odd∞lena vno°en²mi komentß°i, kterΘ nesou souhrn t∞ch nejd∙le₧it∞jÜφch informacφ. (Komentß°e jsou v angliΦtin∞, proto₧e vznikaly v rßmci voln∞ p°φstupnΘho f≤ra souΦinnostφ n∞kolika p°isp∞vatel∙.) V∞nujte pozornost p°edevÜφm element∙m "meta" a "link", kterΘ obsahujφ metadata, ostatnφ elementy jsou v ukßzce zahrnuty pouze proto, aby v²sledkem byl validnφ XHTML dokument.

<!-- ?xml version='1.0' encoding='windows-1250'? -->
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='cs' lang='cs'>
   <head>
      <!-- ENCODING /-->
      <!-- use proper one: iso-8859-2, windows-1250, utf-8 etc. /-->
      <!-- check FIRST LINE with xml charset too!!! /-->
      <meta http-equiv='Content-Type' content='text/html; charset=windows-1250' />
      <meta http-equiv='Content-language' content='cs' />
      <!-- ENCODING end /-->

      <!-- CACHE /-->
      <!-- turning cache on/OFF depends on what you need to do /-->
      <!-- dynamic (PHP/ASP) should be OFF, static (HTM/HTML) should be ON /-->
      <!-- CACHE - MSIE /-->
      <meta http-equiv='Cache-Control' content='must-revalidate, post-check=0, pre-check=0' />
      <meta http-equiv='Pragma' content='public' />
      <!-- CACHE - MSIE end /-->
      <!-- CACHE - other browsers /-->
      <meta http-equiv='Cache-Control' content='no-cache' />
      <meta http-equiv='Pragma' content='no-cache' />
      <meta http-equiv='Expires' content='-1' />
      <!-- CACHE - other browsers end /-->
      <!-- CACHE - end /-->

      <!-- ROBOTS /-->
      <!-- select suitable behavior for robots /-->
      <meta name='robots' content='index,follow' />
      <meta name='googlebot' content='index,follow,snippet,archive' />
      <!-- meta name='robots' content='noindex,nofollow' /-->
      <!-- meta name='googlebot' content='noindex,nofollow,nosnippet,noarchive' /-->
      <!-- ROBOTS end /-->

      <!-- KEYWORDS & CATEGORIES - but who cares now :-( /-->
      <meta name='description' content='XHTML 1.0 Strict basic page fragment' />
      <meta name='keywords' content='XHTML 1.0, CSS, test' />
      <meta name='category' content='XHTML' />
      <!-- KEYWORDS & CATEGORIES - end /-->

      <!-- AUTHOR self promo - use 'crypted' e-mails defeats robotic harvesters /-->
      <!-- Translate . => &#45; @ => &#64; etc. /-->
      <meta name='author' content='All: Author Name, e-mail: author-name(@)example.net' />
      <meta name='webmaster' content='All: Webmaster Name, e-mail: webmaster-name(@)example.net' />
      <meta name='copyright' content='⌐2004 Owner Name, e-mail: owner-name(@)example.net' />
      <!-- AUTHOR self promo - end /-->

      <!-- PICS label - content rating & description (kids, security...) /-->
      <!-- Platform for Internet Content Selection (PICS) - http://www.w3.org/PICS/ /-->
      <!-- PICS label generator - http://www.icra.org/_en/label/extended/ /-->
      <meta http-equiv='pics-label' content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline EN v2.0" l gen true for "http://example.net" r (nz 1 vz 1 lz 1 oz 1 cz 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://example.net" r (n 0 s 0 v 0 l 0))' />
      <!-- PICS label - end /-->

      <!-- DUBLIN CORE /-->
      <!-- DC Metadata Initiative (DCMI) - http://dublincore.org /-->
      <!-- DC template generator - http://www.lub.lu.se/cgi-bin/nmdc.pl /-->
      <meta name='DC.Title' content='Title Name' />
      <meta name='DC.Identifier' content='http://www.example.net' />
      <meta name='DC.Language' content='cs' />
      <!-- DUBLIN CORE - end /-->

      <!-- GEOURL /-->
      <!-- Geographics location (altitude, latitude) - http://geourl.org /-->
      <!-- You can obtain exact location via http://www.maporama.com/share/ /-->
      <meta name='ICBM' content='0.0000, 0.0000' />
      <!-- GEOURL - end /-->

      <!-- BROWSER SPECIFIC FEATURES = ALL OFF /-->
      <!-- MSIE - 'helpful' features /-->
      <meta http-equiv='imagetoolbar' content='no' />
      <meta http-equiv='MSThemeCompatible' content='no' />
      <meta name='MS.LOCALE' content='cs' />
      <!-- OPERA - image resizing /-->
      <meta name='autosize' content='off' />
      <!-- BROWSER SPECIFIC FEATURES = end /-->

      <!-- ICON /-->
      <!-- Use icon for this page if you have one /-->
      <link rel='shortcut icon' type='image/x-icon' href='favicon.ico' />
      <!-- ICON end /-->

      <!-- ALTERNATIVE VERSION - plain text, PDA version or RSS if you have one /-->
      <link rel='alternate' type='text/xml' title='RSS Example.net' href='http://www.example.net/rss.xml' />
      <!-- ALTERNATIVE VERSION - end /-->

      <!-- NAVIGATION - based on logical relations of documents /-->
      <!-- homepage /-->
      <link rel='home' href='http://www.example.net' />
      <!-- searchpage /-->
      <link rel='search' href='http://www.example.net/search/' />
      <!-- title page of serial /-->
      <link rel='up' href='http://www.example.net/serial/this/' />
      <!-- first part of serial /-->
      <link rel='first' href='http://www.example.net/article/first/' />
      <!-- last part of serial /-->
      <link rel='last' href='http://www.example.net/article/last/' />
      <!-- previous part of serial /-->
      <link rel='prev' href='http://www.example.net/article/previous/' />
      <!-- next part of serial /-->
      <link rel='next' href='http://www.example.net/article/next/' />
      <!-- news, RSS /-->
      <link rel='newsfeed' href='http://www.example.net/rss.xml' />
      <!-- NAVIGATION - end /-->

      <!-- CASCADING STYLE SHEETS /-->
      <!-- INPAGE STYLE - pagemargin problem solving /-->
      <style type='text/css' media='all'>
         BODY, HTML {
            border: 0px none;
            margin: 0px;
            padding: 0px;
         }
      </style>
      <!-- LINKED STYLE /-->
      <link rel='stylesheet' type='text/css' media='all' href='./css/css_all.css' />
      <link rel='stylesheet' type='text/css' media='screen' href='./css/css_screen.css' />
      <link rel='stylesheet' type='text/css' media='print' href='./css/css_print.css' />
      <!-- PREFFERED STYLE /-->
      <link rel='stylesheet' type='text/css' href='./css/css_pref.css' title='Preffered style' />
      <!-- ALTERNATE STYLE /-->
      <link rel='alternate stylesheet' type='text/css' href='css_alt.css' title='Alternate style' />
      <!-- CASCADING STYLE SHEETS - end /-->

      <title>
         XHTML 1.0 Strict page basic fragment
      </title>
   </head>
   
   <body>
      Put XHTML 1.0 Strict page content here...
   </body>
</html>

K≤dovßnφ dokumentu

Bezesporu nejrozÜφ°en∞jÜφ metainformacφ ze vÜech je ·daj o k≤dovßnφ dokumentu, respektive o pou₧itΘ znakovΘ sad∞, a jazyku, v n∞m₧ je dokument psßn. Tyto dva °ßdky k≤du, kterΘ se souΦasn² webdesign sna₧φ ji₧ opustit, umo₧nily skuteΦn² rozvoj WWW tφm, ₧e u₧ivatel∙m internetu zp°φstupnily dokumenty v jejich nßrodnφm jazyku. Myslφm, ₧e jsou natolik znßmΘ, ₧e nemß smysl je zde podrobn∞ rozebφrat. Zßjemce o dalÜφ informace mohu odkßzat na serißl ZnakovΘ sady v praxi nebo Φlßnek XHTML - k≤dovßnφ dokumentu. Pouze p°ipomenu, ₧e urΦenφ k≤dovßnφ a jazyka dokumentu musφ v₧dy p°edchßzet jak²mkoli dalÜφm Φßstem dokumentu a ₧e k≤dovßnφ nenφ t°eba uvßd∞t u dokument∙ u₧φvajφcφch UTF.

      <!-- ENCODING /-->
      <!-- use proper one: iso-8859-2, windows-1250, utf-8 etc. /-->
      <!-- check FIRST LINE with xml charset too!!! /-->
      <meta http-equiv='Content-Type' content='text/html; charset=windows-1250' />
      <meta http-equiv='Content-language' content='cs' />
      <!-- ENCODING end /-->

KeÜovßnφ dokumentu

Pravidla pro keÜovßnφ (uchovßvßnφ lokßlnφch kopiφ) jsou dalÜφ samoz°ejmou souΦßstφ (X)HTML dokumentu. Nemohou v plnΘm rozsahu nahradit hlaviΦky HTTP protokolu, mohou vÜak poslou₧it tam, kde nenφ k HTTP hlaviΦkßm p°φstup, a¥ u₧ jde o bezpeΦnostnφ servery, r∙znΘ proxy a nebo prohlφ₧eΦe, kterΘ si HTTP hlaviΦky vyklßdajφ po svΘm. Tyto metainformace m∙₧eme pou₧φt tehdy, kdy₧ chceme donutit prohlφ₧eΦ, aby v₧dy poskytoval Φtenß°i aktußlnφ verzi dokumentu (pokud ji nap°φklad generujeme dynamicky), nebo naopak kdy₧ chceme trochu ulehΦit internetu tφm, ₧e proxyserver∙m umo₧nφme poskytovat lokßlnφ kopie dokumentu, co₧ sni₧uje po₧adavky na p°enos dat.

      <!-- CACHE /-->
      <!-- turning cache on/OFF depends on what you need to do /-->
      <!-- dynamic (PHP/ASP) should be OFF, static (HTM/HTML) should be ON /-->
      <!-- CACHE - MSIE /-->
      <meta http-equiv='Cache-Control' content='must-revalidate, post-check=0, pre-check=0' />
      <meta http-equiv='Pragma' content='public' />
      <!-- CACHE - MSIE end /-->
      <!-- CACHE - other browsers /-->
      <meta http-equiv='Cache-Control' content='no-cache' />
      <meta http-equiv='Pragma' content='no-cache' />
      <meta http-equiv='Expires' content='-1' />
      <!-- CACHE - other browsers end /-->
      <!-- CACHE - end /-->

P°edchozφ zßpis striktn∞ zakazuje vytvß°enφ lokßlnφch kopiφ dokumentu a nutφ vÜechny programy k revalidaci (znovunaΦtenφ) p°i ka₧dΘm po₧adavku na zobrazenφ dokumentu (opaΦnΘho efektu bychom dosßhli vymazßnφm bloku nebo p°episem hodnot na jejich logick² opak). VÜimn∞te si, ₧e zde definujeme pravidla pro keÜovßnφ vlastn∞ dvakrßt. Je tomu tak proto, ₧e prohlφ₧eΦe °ady Microsoft Internet Explorer ignorujφ normy, popisujφcφ princip a funkci cache (viz RFC 2068 a navazujφcφ).

Informace pro vyhledßvaΦe a jinΘ roboty

Metaelement "robots" informuje o tom, jak by si autor dokumentu p°ßl, aby se k jeho dφlu chovaly programy, specializovanΘ na shroma₧∩ovßnφ metadat nebo dokument∙ jako takov²ch. V tΘto kategorii jsou podstatnΘ p°edevÜφm vyhledßvaΦe, bez kter²ch bychom u₧ dnes prakticky nebyli schopni na internetu cokoli najφt. Tyto metaelementy umo₧≥ujφ nastavovat pravidla chovßnφ pro ka₧d² dokument zvlßÜ¥, je-li to pot°eba, roboty je vÜak nemusφ respektovat (co₧ zhusta Φinφ downloadery). Rozhodn∞ tφmto zp∙sobem nelze chrßnit d∙v∞rnß data! PodrobnΘ informace zφskßte nejlΘpe na The Web Robots Pages.

      <!-- ROBOTS /-->
      <!-- select suitable behavior for robots /-->
      <meta name='robots' content='index,follow' />
      <meta name='googlebot' content='index,follow,snippet,archive' />
      <!-- meta name='robots' content='noindex,nofollow' /-->
      <!-- meta name='googlebot' content='noindex,nofollow,nosnippet,noarchive' /-->
      <!-- ROBOTS end /-->

K≤dovΘ slovo "index" znamenß, ₧e si robot m∙₧e zapamatovat URL a dalÜφ pot°ebnΘ informace o strßnce, "follow" zase znaΦφ, ₧e robot smφ nßsledovat hypertextovΘ odkazy v dokumentu. OpaΦnΘho chovßnφ lze dosßhnout p°ipojenφm zßporky "no" p°ed k≤dovΘ slovo, p°iΦem₧ lze vytvß°et libovolnΘ kombinace (tedy klidn∞ i "noindex, follow" nebo "index, nofollow").

PovÜimn∞te si, ₧e krom∞ metaelementu "robots" se v tΘto sekci vyskytuje takΘ metaelement "googlebot". Ten je zde specißln∞ kv∙li vyhledßvaΦi Google (i kdy₧ n∞kterΘ dalÜφ roboty ho takΘ respektujφ) a umo₧≥uje ovlivnit jeho chovßnφ pomocφ dvou rozÜi°ujφcφch k≤dov²ch slov. Slovo "archive" znamenß, ₧e si prohlφ₧eΦ m∙₧e ulo₧it snφmek strßnky do svΘ lokßlnφ pam∞ti a pozd∞ji ho poskytovat k nahlΘdnutφ (co₧ Φasto nevyhovuje poskytovatel∙m placenΘho obsahu, t°eba novin), slovo "snippet" urΦuje, jak bude zobrazovat v²sledek hledßnφ, jeho₧ souΦßstφ je indexovan² dokument - v tomto p°φpad∞ se zobrazφ kousek textu okolo hledanΘho slova, v opaΦnΘm p°φpad∞ by se zobrazil jen popisek dokumentu z metaelementu "description".

Popis, klφΦovß slova a kategorie dokumentu

Metaelementy tΘto sekce m∞ly p∙vodn∞ slou₧it pro udr₧ovßnφ p°ehledu o obsahu dokument∙, po vzoru bibliografick²ch katalog∙, tak₧e by bylo mo₧no nalΘzt relevantnφ dokumenty i tehdy, pokud by nemluvily p°φmo o p°edm∞tu zßjmu Φtenß°e. Prvnφ vyhledßvaΦe jim p°iklßdaly velkou vßhu, tak₧e je lidΘ brzy zaΦaly zneu₧φvat a vklßdali do nich r∙znΘ nesmysly. N∞kterΘ souΦasnΘ vyhledßvaΦe je proto zcela ignorujφ a jinΘ je berou v ·vahu jen jako podp∙rnou informaci. Sv∙j v²znam si tak uchovßvajφ p°edevÜφm v rozlehl²ch intranetov²ch sφtφch.

      <!-- KEYWORDS & CATEGORIES - but who cares now :-( /-->
      <meta name='description' content='XHTML 1.0 Strict basic page fragment' />
      <meta name='keywords' content='XHTML 1.0, CSS, test' />
      <meta name='category' content='XHTML' />
      <!-- KEYWORDS & CATEGORIES - end /-->

Metaelement "description" by m∞l obsahovat lidsky srozumiteln² a v²sti₧n² popis dokumentu, nep°esahujφcφ 256 znak∙. Metaelement "keywords" by m∞l obsahovat takzvanß klφΦovß slova, co₧ jsou termφny, kterΘ majφ pro dan² dokument mimo°ßdn² v²znam. V souΦasnosti se nedoporuΦuje pou₧φvat vφce ne₧ Φty°i Φi p∞t slov. Metaelement "category" klasifikuje dokument podle mezinßrodnφho p°edm∞tovΘho katalogu a v souΦasnosti se tak°ka v∙bec nepou₧φvß.

Autor, webmaster a vlastnφk dokumentu

Tato skupina metaelement∙ urΦuje vztah dokumentu k r∙zn²m fyzick²m Φi prßvnick²m subjekt∙m, typicky k autorovi obsahu, jeho vlastnφkovi a sprßvci webu. Informace jsou to bezesporu zajφmavΘ a d∙le₧itΘ, problΘm je pouze v tom, ₧e jsou internetovou ve°ejnostφ hromadn∞ ignorovßny. Proto₧e vÜak v∞tÜinou obsahujφ e-mailovΘ adresy, staly se lßkavou pochoutkou pro r∙znΘ roboty, kterΘ je shroma₧∩ujφ do spamovacφch databßzφ. Pokud u₧ je v dokumentu budete uvßd∞t, je vhodnΘ standardnφ tvar e-mailovΘ adresy n∞jak²m zp∙sobem rozruÜit tak, aby z∙stala srozumitelnß pro Φlov∞ka, ale stala se neΦitelnou pro robota. ProblΘm je ovÜem v tom, ₧e spamboti jsou Φφm dßl inteligentn∞jÜφ, co₧ o lidech, bohu₧el, nelze °φci...

      <!-- AUTHOR self promo - use 'crypted' e-mails defeats robotic harvesters /-->
      <!-- Translate . => &#45; @ => &#64; etc. /-->
      <meta name='author' content='All: Author Name, e-mail: author-name(@)example.net' />
      <meta name='webmaster' content='All: Webmaster Name, e-mail: webmaster-name(@)example.net' />
      <meta name='copyright' content='⌐2004 Owner Name, e-mail: owner-name(@)example.net' />
      <!-- AUTHOR self promo - end /-->

P°φstupnost a obsahovß vhodnost dokumentu

Platform for Internet Content Selection (PICS) vznikla jako f≤rum, jeho₧ cφlem p∙vodn∞ bylo ochrßnit nezletilΘ osoby (rozum∞j d∞ti) p°ed nevhodn²m obsahem, nap°φklad pornografiφ nebo "politicky nekorektnφm" jazykem. PICS je zalo₧eno na spoluprßci mezi poskytovatelem obsahu, kter² svΘ strßnky zhodnotφ a vnese do nich pat°iΦnΘ metainformace, v²robcem program∙ pro p°φstup k obsahu (prohlφ₧eΦ∙), kter² poskytne pot°ebnΘ nßstroje, a odpov∞dnou osobou (rodiΦem), kterß povolφ Φi zakß₧e p°φstup k urΦit²m typ∙m dokument∙. Z logick²ch d∙vod∙ PICS dokonale selhal, je vÜak vhodnΘ ho uvßd∞t, proto₧e n∞kterΘ programy pova₧ujφ jeho nep°φtomnost za znßmku nekalΘho obsahu.

      <!-- PICS label - content rating & description (kids, security...) /-->
      <!-- Platform for Internet Content Selection (PICS) - http://www.w3.org/PICS/ /-->
      <!-- PICS label generator - http://www.icra.org/_en/label/extended/ /-->
      <meta http-equiv='pics-label' content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline EN v2.0" l gen true for "http://example.net" r (nz 1 vz 1 lz 1 oz 1 cz 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://example.net" r (n 0 s 0 v 0 l 0))' />
      <!-- PICS label - end /-->

Jakmile auto°i PICS seznali, ₧e tudy cesta nevede, sna₧ili se p°ejφt od destrukce ke konstrukci. V souΦasnosti, jak tvrdφ, nenφ ·Φelem PICS omezovat p°φstup k informacφm, ale naopak informace popisovat, t°φdit a definovat jejich zdroje (autory a podobn∞). Obßvßm se vÜak, ₧e v tΘto oblasti nemohou usp∞t, proto₧e jim konkuruje °ada kvalitn∞jÜφch a inteligentn∞jÜφch systΘm∙ bez poÜramocenΘ pov∞sti. Pokud chcete PICS pou₧φvat, doporuΦuji vßm on-line generßtor, proto₧e vytvo°it pot°ebn² metaelement "ruΦn∞" je prakticky nemo₧nΘ.

Dublin Core Metadata Initiative

Takzvanß Dublin Core Metadata Initiative (DCMI) je v souΦasnosti otev°en²m f≤rem, kterΘ se sna₧φ sbφrat, systematizovat, vytvß°et a poskytovat specifickß schΘmata (sady metaelement∙), umo₧≥ujφcφ popis libovolnΘho aspektu dokumentu. P∙vodn∞ tato iniciativa vznikla mezi odbornφky na bibliografii, jako prost°edek, kter² m∞l umo₧nit popis dokument∙ stejn²m zp∙sobem, jak² byl pou₧φvßn ve specializovan²ch knihovnick²ch programech. NaÜt∞stφ se do v∞ci vΦas vlo₧ily i jinΘ subjekty, tak₧e se zam∞°enφ iniciativy podstatn∞ rozÜφ°ilo a v souΦasnosti p°edstavuje nejrozsßhlejÜφ a nejpropracovan∞jÜφ systΘm, pomocφ n∞ho₧ je mo₧no (X)HTML dokumenty popisovat.

      <!-- DUBLIN CORE /-->
      <!-- DC Metadata Initiative (DCMI) - http://dublincore.org /-->
      <!-- DC template generator - http://www.lub.lu.se/cgi-bin/nmdc.pl /-->
      <meta name='DC.Title' content='Title Name' />
      <meta name='DC.Identifier' content='http://www.example.net' />
      <meta name='DC.Language' content='cs' />
      <!-- DUBLIN CORE - end /-->

Metaelementy DCMI snadno poznßte podle povinnΘ p°edpony "DC" a naleznete je p°edevÜφm v odborn²ch dokumentech na specializovan²ch serverech. Je jich velkΘ mno₧stvφ, tak₧e je nejlepÜφ pou₧φvat pro anal²zu i tvorbu specializovanΘ nßstroje, jako je nap°φklad Dublin Core Metadata Template. Pokud mßte zßjem o dalÜφ informace z tΘto oblasti a nevlßdnete jazykem anglick²m prßv∞ nejlΘpe, doporuΦuji vßm Dublin Core Czech - vliv knihovnφk∙ je zde vÜak mnohem patrn∞jÜφ ne₧ na mezinßrodnφch strßnkßch, tak₧e se nedejte zmßst.

Zem∞pisnß poloha zdroje (serveru)

U₧ v ÜerΘm dßvnov∞ku internetu vznikl p°φznak, kter² umo₧≥oval urΦit p°esnou geografickou polohu fyzickΘho zdroje konkrΘtnφ informace, p°esn∞ji °eΦeno serveru systΘmu Usenet (viz ICBM address). Pravd∞podobn∞ by z∙stal za okrajem zßjmu u₧ivatel∙, neb²t vzniku fenomΘnu jmΘnem weblog. Weblogy jsou v∞tÜinou ·zce vßzßny na konkrΘtnφ osoby, kterΘ o sob∞ rßdy dßvajφ v∞d∞t. Vznikla tedy iniciativa GeoURL, kterß registruje nejr∙zn∞jÜφ zdroje a poskytuje informace o jejich lokaci. Z historick²ch d∙vod∙ se vÜak hodnoty metaelementu "ICBM" uvßd∞jφ v desetinn²ch hodnotßch, kterΘ je zvlßÜt∞ pro naÜe kraje t∞₧kΘ zjisti - jß jsem vyu₧il slu₧eb serveru Maporama.com.

      <!-- GEOURL /-->
      <!-- Geographics location (altitude, latitude) - http://geourl.org /-->
      <!-- You can obtain exact location via http://www.maporama.com/share/ /-->
      <meta name='ICBM' content='0.0000, 0.0000' />
      <!-- GEOURL - end /-->

Prohlφ₧eΦe a jejich v²mysly

V²robci prohlφ₧eΦ∙ (browser∙) od poΦßtku vnßÜeli do (X)HTML r∙znΘ prvky, kter²mi se jednak cht∞li odliÜit od konkurence a druhak jimi cht∞li rozÜφ°it mo₧nosti designΘr∙. N∞kterΘ z t∞chto v²mysl∙ ale zaÜly p°φliÜ daleko a obt∞₧ujφ jak poskytovatele tak i spot°ebitele obsahu. NaÜt∞stφ je mo₧no tato "vylepÜenφ" pomocφ metaelement∙ deaktivovat. V nßsledujφcφ skupin∞ oblφben²ch metaelement∙ prvnφ zabrßnφ zobrazovßnφ nßstrojovΘ liÜty MSIE nad obrßzky (vhodnΘ u obrßzk∙, kterΘ jsou jen grafick²m dopl≥kem strßnky), druh² donutφ MSIE zobrazit standardnφ ovlßdacφ prvky (formulß°e) bez ohledu na aktußlnφ vzhled Windows a t°etφ znemo₧nφ MSIE vklßdat a zpracovßvat "inteligentnφ" znaΦky ve strßnce. Poslednφ metaelement pak donutφ Operu, aby p°estala automaticky p°izp∙sobovat rozm∞ry obrßzk∙ velikosti viewportu, p°edstφraje tak MSIE.

      <!-- BROWSER SPECIFIC FEATURES = ALL OFF /-->
      <!-- MSIE - 'helpful' features /-->
      <meta http-equiv='imagetoolbar' content='no' />
      <meta http-equiv='MSThemeCompatible' content='no' />
      <meta name='MSSmartTagsPreventParsing' content='TRUE' />
      <!-- OPERA - image resizing /-->
      <meta name='autosize' content='off' />
      <!-- BROWSER SPECIFIC FEATURES = end /-->

Ikona dokumentu Φi serveru

S znaΦkou "link" m∞li tv∙rci HTML p∙vodn∞ velkΘ plßny, kterΘ vÜak pozd∞ji degenerovaly do n∞kolika vcelku u₧iteΦn²ch aplikacφ. SpφÜe pro pobavenφ lze vyu₧φt "shortcut icon", kter² k dokumentu, pota₧mo celΘmu serveru, p°ipojuje ikonku, kterou pak prohlφ₧eΦ zobrazφ v adresnφm °ßdku, zßhlavφ liÜty nebo v oblφben²ch slo₧kßch. Implementace je pom∞rn∞ problematickß, ani modernφ prohlφ₧eΦe nezachßzejφ s tφmto prvkem zcela korektn∞. Nebudu zde rozebφrat podrobnosti, krßtk² popis naleznete v Φlßnku Vlastnφ ikona strßnek, v ΦeskΘm jazyce asi nejobjemn∞jÜφ je sta¥ Ikona strßnky, kterß obsahuje vÜechny podstatnΘ informace o tomto tΘmatu.

      <!-- ICON /-->
      <!-- Use icon for this page if you have one /-->
      <link rel='shortcut icon' type='image/x-icon' href='favicon.ico' />
      <!-- ICON end /-->

Alternativnφ verze dokumentu

S rozvojem r∙zn²ch za°φzenφ, pomocφ nich₧ p°istupujeme k internetu, se stßvß stßle zajφmav∞jÜφ mo₧nost odkßzat v hlaviΦce (X)HTML na jin² formßt, v n∞m₧ je dostupnß stejnß informace. Lze takto do dokumentu vlo₧it odkaz na verzi pro WAP, PDA nebo na jednoduchou textovou verzi. V poslednφ dob∞ je obzvlßÜt∞ oblφben²m alternativnφm formßtem RSS, kterΘ m∙₧e nΘst prakticky jakΘkoli informace. N∞kterΘ ΦteΦky nebo roboty u₧ dokß₧φ p°φmo ze strßnek vypreparovat odkaz na RSS kanßl a poskytnout ho Φtenß°i, pokud je v hlaviΦce dokumentu uvedena deklarace, podobnß nßsledujφcφ:

      <!-- ALTERNATIVE VERSION - plain text, PDA version or RSS if you have one /-->
      <link rel='alternate' type='text/xml' title='RSS Example.net' href='http://www.example.net/rss.xml' />
      <!-- ALTERNATIVE VERSION - end /-->

Navigace a vazby mezi dokumenty

Jednφm z prvnφch ·kol∙ elementu "link" bylo udr₧ovßnφ logick²ch vazeb mezi dokumenty a usnadn∞nφ pohybu v sadßch souvisejφcφch soubor∙. Na internetu je vÜak v∞tÜina dokument∙ na sob∞ nezßvislß, pohyb mezi nimi lΘpe zajiÜ¥ujφ hypertextovΘ odkazy a vyhledßvßnφ souvisejφcφch informacφ zase umo₧≥ujφ specializovanΘ slu₧by, tak₧e se element "link" tφmto zp∙sobem rychle p°estal pou₧φvat a p°e₧φval pouze v intranetech. Zdß se vÜak, ₧e by se mohl vrßtit, dφky dynamicky generovan²m strßnkßm (odpadajφ problΘmy s konzistencφ), kterΘ p°itom kv∙li SEO p°edstφrajφ statiΦnost. Navφc jsou u₧ k dispozici i prohlφ₧eΦe, kterΘ umφ vygenerovat z metadat navigaΦnφ liÜtu, tvß°φcφ se jako jejich integrßlnφ souΦßst - pro tradiΦn∞ zaostßvajφcφ MSIE existuje plug-in <LINK> Navigation Bar, navφc s celkem inteligentnφ podporou odkaz∙ na alternativnφ verze dokumentu.

      <!-- NAVIGATION - based on logical relations of documents /-->
      <!-- homepage /-->
      <link rel='home' href='http://www.example.net' />
      <!-- searchpage /-->
      <link rel='search' href='http://www.example.net/search/' />
      <!-- title page of serial /-->
      <link rel='up' href='http://www.example.net/serial/this/' />
      <!-- first part of serial /-->
      <link rel='first' href='http://www.example.net/article/first/' />
      <!-- last part of serial /-->
      <link rel='last' href='http://www.example.net/article/last/' />
      <!-- previous part of serial /-->
      <link rel='prev' href='http://www.example.net/article/previous/' />
      <!-- next part of serial /-->
      <link rel='next' href='http://www.example.net/article/next/' />
      <!-- news, RSS /-->
      <link rel='newsfeed' href='http://www.example.net/rss.xml' />
      <!-- NAVIGATION - end /-->

V ukßzce v²Üe vidφte sekvenci element∙ "link" r∙znΘho typu (atribut "rel"), kterß spoleΦn∞ vytvß°φ zßkladnφ navigaΦnφ strukturu sady dokument∙. V praxi m∙₧ete jejich pou₧itφ vid∞t p°φmo zde na Interval.cz, pokud si otev°ete Φlßnek, kter² je souΦßstφ n∞jakΘho serißlu, nap°φklad XHTML - element link (do budoucna je m²m cφlem umo₧nit nßvÜt∞vnφk∙m prochßzet touto metodou prakticky cel² nßÜ web). Op∞t se vyhnu noÜenφ sov do AtΘn a odkß₧u vßs na podrobn∞jÜφ Φlßnek Navigace pomocφ elementu link. Doplnil bych ho pouze upozorn∞nφm na atribut "newsfeed", jeho₧ podpora byla p°ednedßvnem zabudovßna do Opery a kter² by m∞l odkazovat na zdroj typu RSS kanßlu.

CSS neboli kaskßdovΘ styly

Poslednφ sekvencφ, kterou m∙₧ete vid∞t na mΘm p°φkladu, je skupina pravidel a odkaz∙ na externφ soubory pravidel CSS, pomocφ nich₧ je definovßn vzhled a ΦßsteΦn∞ i chovßnφ (X)HTML dokumentu. Uvßdφm zde tento p°φklad pouze pro ·plnost, neb p°edpoklßdßm, ₧e v∞tÜina z vßs je s CSS ji₧ dob°e seznßmena. Pokud vßs zajφmajφ podrobnosti, nap°φklad o alternativnφch stylech nebo o specißlnφch stylech pro r∙znß mΘdia, jsou vßm k dispozici jinΘ Φlßnky. Upozornil bych pouze na prvnφ Φßst, kde je do k≤du p°φmo vlo₧ena CSS definice vzhledu strßnky jako takovΘ - p°edchßzφ se tak problΘm∙m s odliÜn²m pojetφm okraj∙ v r∙zn²ch prohlφ₧eΦφch.

      <!-- CASCADING STYLE SHEETS /-->
      <!-- INPAGE STYLE - pagemargin problem solving /-->
      <style type='text/css' media='all'>
         BODY, HTML {
            border: 0px none;
            margin: 0px;
            padding: 0px;
         }
      </style>
      <!-- LINKED STYLE /-->
      <link rel='stylesheet' type='text/css' media='all' href='./css/css_all.css' />
      <link rel='stylesheet' type='text/css' media='screen' href='./css/css_screen.css' />
      <link rel='stylesheet' type='text/css' media='print' href='./css/css_print.css' />
      <!-- PREFFERED STYLE /-->
      <link rel='stylesheet' type='text/css' href='./css/css_pref.css' title='Preffered style' />
      <!-- ALTERNATE STYLE /-->
      <link rel='alternate stylesheet' type='text/css' href='css_alt.css' title='Alternate style' />
      <!-- CASCADING STYLE SHEETS - end /-->

Pozn. aut.: Cht∞l bych pod∞kovat Φlen∙m odborn²ch klub∙ ze serveru Hofyland.cz za to, ₧e mne sv²mi dotazy inspirovali k tomuto Φlßnku (tak₧e u₧ jim nebudu muset odpovφdat), a zvlßÜt∞ pak p°φteli PESSOFTovi, kter² zßsadnφm zp∙sobem p°isp∞l k sumarizaci r∙zn²ch poznßmek a sestavenφ vzorovΘho dokumentu.

Mßlek, VilΘm (11. 6. 2004)
ÜΘfredaktor Interval.cz