Klávesové zkratky na tomto webu - rozšířené Na obsah stránky

Formát OpenSearch – díl 2.

12.01 - 29. října 2006 | Webdesign

OpenSearch je otevřený formát založený na XML, jehož vývoj iniciovala a podporuje firma Amazon. V současné době existuje Draft 3 verze 1.1, kterou implementují i nejnovější verze oblíbených prohlížečů Internet Explorer 7 a Firefox 2.0 nebo vyhledávač A9 právě od Amazonu. OpenSearch je sada specifikací z nichž nejdůležitější jsou formáty OpenSearch Description a OpenSearch Response. Tyto formáty jsou určeny k popisu vyhledávaciho stroje a popisu nalezených výsledků.

OpenSearch Description

Tento formát je, jak už název napovídá, určen k popisu vyhledávacího stroje. Základní elementy patří do jmenného prostoru http://a9.com/-/spec/opensearch/1.1/ a kořenovou značkou je OpenSearchDescription. Tato obsahuje následující subelementy:

ShortName
Název vyhledávacího stroje
Musí být v dokumentu právě jednou a jeho obsah je omezen na 16 znaků čistého textu.
Description
Popis vyhledávacího stroje
Musí být v dokumentu právě jednou a jeho obsah je omezen na 1024 znaků čistého textu.
Url
URL hledaného datazu
Musí být v dokumentu alespoň jednou, nejedná se o párovou značku, obsah je definován následujícímí atributy.
povinný atribut template definuje šablonu url datazu, šablona je parametrizována pomocí OpenSearch URL template syntaxe, povinný je parametr {searchTerms}, který je nahrazován hledanou frází
povinný atribut type určuje MIME typ výstupu hledání
nepovinné atriuty indexOffset a pageOffset slouží k posunutí indexu prvního výsledku nebo první stránky, oba jsou přednastaveny na jedničku. Ovlivňují počítání nepovinných parametrů {startIndex?} a {startPage?}.
Contact
Nepovinný element definující kontakt na adminstrátorara. Element může obsahovat pouze e-mailovou adresu a v dokumentu se může vyskytovat maximálně jednou.
Tags
Nepovinný element obasující klíčová slova oddělená mezerou. Délka je omezena na 255 znaků a element se může v dokumentu vyskytovat maximálně jednou.
LongName
Název vyhledávacího stroje ve formě čitelné pro lidi
Může se v dokumentu vyskytovat maximálně jednou a měl by být preferovaný pro zobrazování před ShortName. Délka je omezena na 48 znak.
Image
Ubsahuje URL obrázku, grafické ikonky, spojené s vyhledávačem.
Počet výskytů není omezen, jednotlivé obrázky se mohou lišit ve velikosti a MIME typu, které jsou specifikovány následujícími volitelnými atributy.
Atribut width určuje šířku obrázku
Atribut height určuje šířku obrázku
Atribut type určuje MIME typ obrázku
Language
Definuje jazyk výsledku hledání, obsah může obsahovat pouze zkratku jazyka podle XML nebo asterix (*) pro všechny jazyky.
InputEncoding
Znaková sada přijímaná vyhledávacím strojem. Pokud nejí určeno použije se UTF-8 kódování.
OutputEncoding
Znaková sada výstupu hledání.

Sepecifikace definuje ještě několik dalších elementů pro definici práv k dokumentu, ochrana mladistvích apod. které se používají ve specifických případech a jejich použití není zas tak běžné. Nyní si ještě doplníme výčet URL parametru.

OpenSearch URL parameters

Parametry se používají v atributu template značky Url a jsou nahrazovány konkrétními daty dotazu. Syntaxe parametru je velice jednoduchá: název pramatru je uzavřen ve složených závrokách a nepovinnost parametru je vyjádřena otazníkem před uzavírací závorkou. Příklad: {povinnyParametr} a {nepovinnyParametr?}. Parametry mohou být rozšířeny o vlastní sady pomocí XML jmenných prostorů. Ukázka <Url xmlns:moje="urn:moje-rozsireni" template="http://example.com/?q={searchTerms}&amp;neco={moje:neco}" ....

searchTerms
Parametr je nahrazen hledanou frází
count
Parametr je nahrazen počtem výsledků na stránku
startIndex
Parametr je nahrazen indexem výsledku
startPage
Parametr je nahrazen číslem stránky
language
Parametr je nahrazen jazykem
inputEncoding
Parametr je nahrazen vstupním kódováním
outputEncoding
Parametr je nahrazen výstupním kódováním

Ukázku kódu najdete v prvním díle této mini série. Tímto bych ukončil popis formátu OpenSearch Description a příště bych rád něco o formátu OpenSearch Response.

Formát OpenSearch – díl 1.

11.36 - 24. října 2006 | Webdesign

O formát OpenSearch jsem se začal zajímat někdy najaře letošního roku z velmi prostého důvodu – lze v něm snadno definovat vlastní vyhledávací modul pro Internet Explorer 7.0 a Firefox 2.0. To však není vše, co tento formát umí a k čemu je určený.

Definice vyhledávacího modulu

Pokud máte na svém webu implementováno vyhledávání, můžete svým návštěvníkům zkrátit cestu přidáním vlastního modulu, který se přidá do seznamu vyhledávacích strojů ve vašem prohlížeči. Jak na to vám vysvětlí následující odstavce :)

Nejprve je nutné napsat OpenSearch Description dokument s definicí vašeho modulu. Malá ukázka:

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
  <ShortName>Web Search</ShortName>
  <Description>Use Example.com to search the Web.</Description>
  <Tags>example web</Tags>
  <Contact>admin@example.com</Contact>
  <Url type="text/html"
       template="http://example.com/?q={searchTerms} "/>
  <Url type="application/rss+xml"
       template="http://example.com/?q={searchTerms}&amp;format=rss"/>
</OpenSearchDescription>

Ukázka popisuje fiktivní vyhledávač, který poskytuje výsledky hledání ve formě HTML a RSS (dva elementy Url s definovaným content-typem), důležitým parametrem je {searchTerms}, který klient (např. prohlížeč) nahradí svým dotazem, další parametry . Obsah elementu ShortName určuje název vyhledávacího stroje – tento se bude zobrazovat v seznamu vyhledávacích modulů. Další elementy jen přidávají další metadata pro autodiscovery.

Pak stačí přidat do vašich stránek element link, který odkazuje na soubor vytvořený v předešlém kroku. Připojení je obdobné s připojováním RSS nebo Atom kanálu. Příklad:

<link rel="Search"
      href="http://www.example.com/opensearch.xml"
      type="application/opensearchdescription+xml"
      title="Example Search" />

rozsvícené tlačítko Pokud pak navštívíte takovou stránku, prohlížeč vám dá vědět, že našel modul rozsvícením tlačítka pro výběr modulu.

Další možností, jak modul vytvořit je použít generátor.

Související