webmaster webmastering webdesign

Jesteś tutaj: webmade.org >> artykuły >> pozostałe

Technologia OpenSearch

autor: Mateusz Pilszek, ostatnia modyfikacja: 2009-01-21

szukaj: OpenSearch OpenSearch  XML XML  wyszukiwanie wyszukiwanie  wyszukiwarka wyszukiwarka

OpenSearch to zbiór technologii, które definiują format udostępniania wyników wyszukiwania. Artykuł pokazuje krok po kroku, w jaki sposób opisać naszą wyszukiwarkę oraz dać użytkownikom możliwość korzystania z niej z poziomu interfejsu programów Mozilla Firefox 2 i Internet Explorer 7.

Tworzenie pliku OpenSearch

Plik OpenSearch jest aplikacją XML. Można stworzyć go w dowolnym edytorze tekstowym i zapisać z rozszerzeniem .xml. Poniżej znajduje się przykładowy plik OpenSearch.

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
   <ShortName>webmade.org</ShortName>
   <Description>Wyszukiwarka umożliwiająca przeszukiwanie zasobów serwisu webmade.org, poruszającego tematykę tworzenia stron internetowych</Description>
   <Tags>webmaster webmastering webdesign</Tags>
   <Contact>email@autora.pl</Contact>
   <Url type="text/html" template="http://webmade.org/wyszukiwarka/szukaj.php?fraza={searchTerms}"/>
   <LongName>Wyszukiwarka serwisu webmade.org</LongName>
   <Image height="16" width="16" type="image/x-icon">http://webmade.org/favicon.ico</Image>
   <Developer>Mateusz Pilszek</Developer>
   <Attribution>copyright by webmade.org</Attribution>
</OpenSearchDescription>

Poniżej opiszę szczegółowo każdy element tego kodu.

Aby jednak uniknąć problemów, warto wspomnieć, że aby zakodować w adresie strony lub w jakimkolwiek innym miejscu znak ampersand (&), należy użyć encji &amp; Przykładowo, jeśli nazwa wyszukiwarki brzmi "Music & Video Shop", w pliku XML powinna być ona zapisana jako "Music & Video Shop". Ta sama reguła obowiązuje podczas podawania adresów URL. Np.

www.mojastrona.pl/index.php?x=1&amp;amp;y=10

Deklaracja XML

<?xml version="1.0" encoding="UTF-8"?>

Deklaracja XML to element, który powinien znaleźć się na początku każdego pliku XML.

Element "OpenSearchDescription"

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">

Element OpenSearchDescription jest korzeniem dokumentu. Wewnątrz niego powinien znaleźć się opis wyszukiwarki.

Element "ShortName"

<ShortName>webmade.org</ShortName>

Wewnątrz elementu ShortName powinna znaleźć się krótka (maksymalnie 16 znaków) nazwa naszej wyszukiwarki. Nazwa nie może zawierać kodu HTML. Element ten musi pojawić się jednorazowo.

Element "Description"

<Description>Wyszukiwarka umożliwiająca przeszukiwanie zasobów serwisu webmade.org, poruszającego tematykę tworzenia stron internetowych</Description>

Element Description zawiera opis wyszukiwarki. Może składać się z maksymalnie 1024 znaków. Nie powinien zawierać kodu HTML. Musi wystąpić jednorazowo.

Element "Tags"

<Tags>webmaster webmastering webdesign</Tags>

Zawiera listę słów kluczowych oddzielonych spacjami. Tagi służą do kategoryzowania wyszukiwarek pod względem tematyki przeszukiwanych wyników. Użycie tego elementu nie jest obowiązkowe.

Element "Contact"

<Contact>email@autora.pl</Contact>

Znacznik Contact zawiera adres e-mail osoby odpowiedzialnej za zarządzanie plikiem OpenSearch. Nie jest wymagany.

Element "Url"

Znacznik URL opisuje sposób odbierania przez wyszukiwarkę żądań przeszukania.

<Url type="text/html"  template="http://webmade.org/wyszukiwarka/szukaj.php?fraza={searchTerms}"/>

W powyższym przykładzie pojawiły się dwa atrybuty. Atrybut type (obowiązkowy) informuje klienta, w jakim formacie zostanie zwrócony wynik wyszukiwania. Użyty został typ MIME text/html, który wskazuje, że wynikiem wyszukiwania będzie strona internetowa w formacie HTML.

Atrybut template (obowiązkowy) zawiera szablon adresu URL, który będzie używany do wyszukiwania. {searchTerms} to parametr, który wskazuje, że w tym miejscu klient wyszukiwania (np. Firefox) powinien wstawić szukany ciąg znaków.

Jeżeli wyszukiwarka, którą definiujemy, potrafi zwracać wyniki w formacie RSS, możemy dodać kolejny znacznik Url:

<Url type="application/rss+xml"  template="http://przykład.pl?s={searchTerms}&amp;tryb=rss"/>

Pamiętaj, że wyszukiwarka musi w tym przypadku rozpoznać w zapytaniu argument tryb ustawiony na wartość rss i wygenerować wynik w formacie RSS.

Element "LongName"

<LongName>Wyszukiwarka serwisu webmade.org</LongName>

Jest to element opcjonalny. Można w nim umieścić dłuższą nazwę wyszukiwarki (maksymalnie 48 znaków). W nazwie nie może występować kod HTML.

Element "Image"

<Image height="16" width="16" type="image/x-icon">http://webmade.org/favicon.ico</Image>

Znacznik Image zawiera adres URL obrazka powiązanego z wyszukiwarką. Może być to obrazek w formacie PNG, GIF, ICO. Znacznik posiada 3 atrybuty opcjonalne: width (szerokość), height (wysokość), type (typ MIME obrazka).

Element Image może wystąpić dowolną ilość razy:

<Image height="16" width="16" type="image/x-icon">http://przykład.pl/ikona.ico</Image>
<Image height="64" width="64" type="image/png">http://przykład.pl/ikona.png</Image>

Element "Developer"

<Developer>Mateusz Pilszek</Developer>

Element Developer określa twórcę i opiekuna pliku OpenSearch. Może zawierać maksymalnie 64 znaki, nie może zawierać kodu HTML. Jest to element opcjonalny.

Element "AdultContent"

<AdultContent>false</AdultContent>

Element AdultContent zawiera wartośc typu logicznego. Powinien być ustawiony na wartość true, gdy wyniki wyszukiwania mogą zawierać treści przeznaczone tylko dla pełnoletnich użytkowników. Gdy element AdultContent zawiera wartość false lub nie występuje, wyniki wyszukiwania są przeznaczone dla wszystkich niezależnie od wieku. Element ten jest opcjonalny.

Element "Language"

<Language>pl</Language>
<Language>en-GB</Language>

Element Language może pojawić się w pliku wielokrotnie. Jako wartość podaje się kody języków zgodne z dokumentem RFC 3066. Wartościami są kody języków wspieranych przez wyszukiwarkę. Możliwe jest także użycie znaku gwiazki, co oznacza, że wyszukiwarka wspiera wyniki wyszukiwania we wszystkich językach. Element ten jest opcjonalny.

Elementy "InputEncoding" i "Output Encoding"

<OutputEncoding>UTF-8</OutputEncoding>
<InputEncoding>UTF-8</InputEncoding>

Są to elementy opcjonalne. InputEncoding informuje klienta, w jakim kodowaniu wyszukiwarka przyjmuje zapytania. OutputEncoding informuje klienta, w jakim kodowaniu zostały przesyłane wyniki. Elementy te są opcjonalne - mogą wystąpić zero lub więcej razy.

Dołączanie wyszukiwarki do pliku (X)HTML

Gdy stworzymy już plik opisujący naszą wyszukiwarkę, musimy dodać do kodu (X)HTML znacznik informujący przeglądarki, gdzie ów plik się znajduje. Dzięki temu przeglądarki zaoferują użytkownikom jej instalację. Aby to osiągnąć, w sekcji HEAD strony należy dodać znacznik link:

<link rel="Search" type="application/opensearchdescription+xml" title="webmade.org" href="/opensearch.xml" />

W powyższym przypadku plik opensearch.xml powinien znaleźć się w głównym katatalogu serwera WWW.

Czas zobaczyć efekty... W przypadku przeglądarki Mozilla Firefox po wejściu na stronę internetową ikona wyboru wyszukiwarki zabarwi się. Gdy rozwiniemy listę wyszukiwarek, odnajdziemy pozycję pozwalającą na dodanie naszej wtyczki:

OpenSearch

Przeglądarka Internet Explorer począwszy od wersji 7 również wykryje wtyczkę:

Odnośniki

Specyfikacja OpenSearch oferuje dużo więcej możliwości, jednak nie są one jeszcze obsługiwane przez popularne przeglądarki. Więcej informacji nt. OpenSearch znajdziesz na poniższych stronach:

Mateusz Pilszek

Osoby czytające tę publikację przeglądały również:

Chcesz zostać programistą?

Poznaj 6 kroków do efektywnej
nauki programowania!

 

valid XHTML
valid CSS
© 2004-2008 copyright by webmade.org