<!-- Copyright (c) 2008 by Charles Connell <charles@connells.org
> -->
<!-- Licensed under the GNU Free Documentation License  -->

<appendix id="pipes">
<title
>Vodič za skriptovanje za <application
>Kopeteov</application
> priključak cevi</title>
<para
>Od izdanja 1.0, <application
>Kopete</application
> dolazi sa priključkom zvanim cevi. Cevi omogućavaju provlačenje dolaznih i odlaznih poruka kroz spoljašnju skriptu. Dolazna poruka provlači se kroz skriptu pre nego što dospe u prozor za ćaskanje, dok se odlazna poruka provlači pre nego što se pošalje. Cevi mogu da primaju tekst u jednom od tri oblika: <variablelist
> <varlistentry
> <term
>poruka kao obični tekst</term
> <listitem
> <para
>Telo poruke kao čist tekst.</para
> </listitem
> </varlistentry
> <varlistentry
> <term
>poruka kao HTML</term
> <listitem
> <para
>Telo poruke u obliku HTML‑a, kako bi izgledalo kada bi vam sagovornik poslao HTML poruke kakva izgleda u prozoru za ćaskanje.</para
> </listitem
> </varlistentry
> <varlistentry
> <term
>Kopeteov XML porukâ</term
> <listitem
> <para
>XML dokument koji opisuje sve karakteristike poruke, uključujući HTML telo.</para
> </listitem
> </varlistentry
> </variablelist
>. Ovaj dokument opisuje specifičnosti XML formata i kako napisati program za njegovo obrađivanje. </para>

<sect1 id="xml-output">
<title
>XML izlaz</title>
<para
>Evo primera onoga što će skripta primiti na svoj standardni ulazni tok: <literallayout>
&lt;?xml version="1.0" encoding="ISO-8859-1"?>
&lt;message subject=""
        route="outbound"
        importance="1"
        formattedTimestamp="11:06:46 am"
        timestamp="Sat Dec 1 11:06:46 2007"
        type="normal"
        mainContactId="spacemonkey1234"
        time="11:06 am" >
        &lt;from>
                &lt;contact contactId="tdurden"
                        protocolIcon="aim_protocol"
                      userPhoto="/home/kde-devel/.kde4/share/apps/kopete/oscarpictures/tdurden.jpg">
                        &lt;contactDisplayName dir="ltr" text="tdurden" />
                        &lt;metaContactDisplayName dir="ltr"
                                text="Tyler" />
                &lt;/contact>
        &lt;/from>
        &lt;to>
                &lt;contact contactId="spacemonkey1234"
                        protocolIcon="aim_protocol"
                        userPhoto="/home/kde-devel/.kde4/share/apps/kopete/avatars/User/7e542903e0ac7519a7496e85f5a5b99d.png" >
                        &lt;contactDisplayName dir="ltr" text="spacemonkey1234" />
                        &lt;metaContactDisplayName dir="ltr" text="Robert Paulson" />
                &lt;/contact>
                &lt;/to>
        &lt;body dir="ltr"
                bgcolor="#000000"
                color="#000000" >
                &amp;lt;span style=" color:#000000; "
>hey&amp;lt;/span
>&lt;/body>
&lt;/message>
</literallayout
>Ovaj XML je donekle zasnovan na XSD‑u stilova ćaskanja, koji se može naći na <ulink url="http://kopete.kde.org/files/kopetemessage.xsd"
>veb sajtu <application
>Kopetea</application
></ulink
>. Dati kô̂d predstavlja jednu poruku. Treba obratiti pažnju na nekoliko stvari: <itemizedlist>
<listitem
><para
>Atribut <literal
>timestamp</literal
> u elementu <literal
>message</literal
> je u formatu standarda ISO 8601.</para
></listitem>
<listitem
><para
>Atribut <literal
>protocolIcon</literal
> u elementu <literal
>contact</literal
> određuje se ovako: <orderedlist>
<listitem
><para
>Ako objekat kontakta ima postavljeno svojstvo fotografije, koristi se ta putanja.</para
></listitem>
<listitem
><para
>Ako nema, od kontaktovog metakontakta se traži putanja slike, koja se uzima bilo da je nulta ili ne.</para
></listitem>
</orderedlist>
</para
></listitem>
<listitem
><para
>Atributi <literal
>color</literal
> i <literal
>bgcolor</literal
> u elementu <literal
>body</literal
> ostaju prazne niske ako nisu postavljeni u <application
>Kopeteu</application
>. Inače su u formatu veb boja.</para
></listitem>
<listitem
><para
>Sadržaj elementa <literal
>body</literal
> ima izbegnute znakove <literal
>&lt;</literal
>, da se ne bi pomešali sa strukturom XML‑a. Da bi se telo ispravno protumačilo kao HTML, očigledno se svi <literal
>&amp;lt;</literal
> moraju pretvoriti u <literal
>&lt;</literal
>.</para
></listitem>
</itemizedlist>
</para>
</sect1>

<sect1 id="xml-input">
<title
>XML ulaz</title>
<para
>Skripta će imati priliku da izmeni XML koji primi na svoj standardni ulazni tok, a zatim ga mora vratiti <application
>Kopeteu</application
> kroz svoj standardni izlazni tok. Ako skripta izmeni sledeće elemente, unutrašnje stanje koje <application
>Kopete</application
> nosi o poruci izmeniće se tako da odrazi učinjene izmene. <itemizedlist
> <listitem
><para
>atribut <literal
>timestamp</literal
> u <literal
>message</literal
>, ali ne i ostali vremenski atributi</para
></listitem
> <listitem
><para
>atribut <literal
>subject</literal
> u <literal
>message</literal
></para
></listitem
> <listitem
><para
>atribut <literal
>type</literal
> u <literal
>message</literal
></para
></listitem
> <listitem
><para
>atribut <literal
>importance</literal
> u <literal
>message</literal
></para
></listitem
> <listitem
><para
>atribut <literal
>color</literal
> u <literal
>body</literal
>. Obično zadato kao broj veb boje, ali se može zadati i ime. Objekti <literal
>QColor</literal
> u Qt‑u4 prihvataju imena koja definiše <ulink url="http://www.w3.org/TR/SVG/types.html#ColorKeywords"
>SVG</ulink
>, tako da se jedino ona mogu koristiti.</para
></listitem
> <listitem
><para
>atribut <literal
>bgcolor</literal
> u <literal
>body</literal
>. Isto ponašanje kao <literal
>color</literal
>.</para
></listitem
> <listitem
><para
>sadržaj elementa <literal
>body</literal
></para
></listitem
> </itemizedlist
>. Ako skripta izmeni elemente ili njihove atribute koji nisu pomenuti ovde, te izmene neće imati efekta. </para>
</sect1>

<sect1 id="acceptable-values">
<title
>Prihvatljive vrednosti</title>
<para
>Neki atributi imaju ograničen skup prihvatljivih vrednosti. Priključak cevi uvek će na izlazu dati valjane vrednosti; ako vaša skripta menja ove atribute, moraju ostati valjani. Ako to nisu, nedefinisano je šta će <application
>Kopete</application
> učiniti. <variablelist>
<varlistentry
><term
>atribut <literal
>route</literal
> u elementu <literal
>message</literal
></term
><listitem
><para
>Mora biti <literal
>inbound</literal
>, <literal
>outbound</literal
> ili <literal
>internal</literal
>.</para
></listitem
></varlistentry>
<varlistentry
><term
>atribut <literal
>type</literal
> u elementu <literal
>message</literal
></term
><listitem
><para
>Mora biti <literal
>action</literal
> ili <literal
>normal</literal
>.</para
></listitem
></varlistentry>
<varlistentry
><term
>atribut <literal
>importance</literal
> u elementu <literal
>message</literal
></term
><listitem
><para
>Mora biti <literal
>0</literal
> za malu, <literal
>1</literal
> za normalnu ili <literal
>2</literal
> za veliku.</para
></listitem
></varlistentry>
<varlistentry
><term
>atribut <literal
>dir</literal
> u mnogim elementima</term
><listitem
><para
>Mora biti <literal
>ltr</literal
> za sleva nadesno, ili <literal
>rtl</literal
> za zdesna nalevo.</para
></listitem
></varlistentry>
</variablelist>
</para>
</sect1>

</appendix>
