<!-- Copyright (c) 2008 by Charles Connell <charles@connells.org > --> <!-- Licensed under the GNU Free Documentation License --> <appendix id="pipes"> <title >Водич за скриптовање за <application >Копетеов</application > прикључак цеви</title> <para >Од издања 1.0, <application >Копете</application > долази са прикључком званим цеви. Цеви омогућавају провлачење долазних и одлазних порука кроз спољашњу скрипту. Долазна порука провлачи се кроз скрипту пре него што доспе у прозор за ћаскање, док се одлазна порука провлачи пре него што се пошаље. Цеви могу да примају текст у једном од три облика: <variablelist > <varlistentry > <term >порука као обични текст</term > <listitem > <para >Тело поруке као чист текст.</para > </listitem > </varlistentry > <varlistentry > <term >порука као ХТМЛ</term > <listitem > <para >Тело поруке у облику ХТМЛ‑а, како би изгледало када би вам саговорник послао ХТМЛ поруке каква изгледа у прозору за ћаскање.</para > </listitem > </varlistentry > <varlistentry > <term >Копетеов ИксМЛ порукâ</term > <listitem > <para >ИксМЛ документ који описује све карактеристике поруке, укључујући ХТМЛ тело.</para > </listitem > </varlistentry > </variablelist >. Овај документ описује специфичности ИксМЛ формата и како написати програм за његово обрађивање. </para> <sect1 id="xml-output"> <title >ИксМЛ излаз</title> <para >Ево примера онога што ће скрипта примити на свој стандардни улазни ток: <literallayout> <?xml version="1.0" encoding="ISO-8859-1"?> <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" > <from> <contact contactId="tdurden" protocolIcon="aim_protocol" userPhoto="/home/kde-devel/.kde4/share/apps/kopete/oscarpictures/tdurden.jpg"> <contactDisplayName dir="ltr" text="tdurden" /> <metaContactDisplayName dir="ltr" text="Tyler" /> </contact> </from> <to> <contact contactId="spacemonkey1234" protocolIcon="aim_protocol" userPhoto="/home/kde-devel/.kde4/share/apps/kopete/avatars/User/7e542903e0ac7519a7496e85f5a5b99d.png" > <contactDisplayName dir="ltr" text="spacemonkey1234" /> <metaContactDisplayName dir="ltr" text="Robert Paulson" /> </contact> </to> <body dir="ltr" bgcolor="#000000" color="#000000" > &lt;span style=" color:#000000; " >hey&lt;/span ></body> </message> </literallayout >Овај ИксМЛ је донекле заснован на ИксСД‑у стилова ћаскања, који се може наћи на <ulink url="http://kopete.kde.org/files/kopetemessage.xsd" >веб сајту <application >Копетеа</application ></ulink >. Дати ко̂д представља једну поруку. Треба обратити пажњу на неколико ствари: <itemizedlist> <listitem ><para >Атрибут <literal >timestamp</literal > у елементу <literal >message</literal > је у формату стандарда ИСО 8601.</para ></listitem> <listitem ><para >Атрибут <literal >protocolIcon</literal > у елементу <literal >contact</literal > одређује се овако: <orderedlist> <listitem ><para >Ако објекат контакта има постављено својство фотографије, користи се та путања.</para ></listitem> <listitem ><para >Ако нема, од контактовог метаконтакта се тражи путања слике, која се узима било да је нулта или не.</para ></listitem> </orderedlist> </para ></listitem> <listitem ><para >Атрибути <literal >color</literal > и <literal >bgcolor</literal > у елементу <literal >body</literal > остају празне ниске ако нису постављени у <application >Копетеу</application >. Иначе су у формату веб боја.</para ></listitem> <listitem ><para >Садржај елемента <literal >body</literal > има избегнуте знакове <literal ><</literal >, да се не би помешали са структуром ИксМЛ‑а. Да би се тело исправно протумачило као ХТМЛ, очигледно се сви <literal >&lt;</literal > морају претворити у <literal ><</literal >.</para ></listitem> </itemizedlist> </para> </sect1> <sect1 id="xml-input"> <title >ИксМЛ улаз</title> <para >Скрипта ће имати прилику да измени ИксМЛ који прими на свој стандардни улазни ток, а затим га мора вратити <application >Копетеу</application > кроз свој стандардни излазни ток. Ако скрипта измени следеће елементе, унутрашње стање које <application >Копете</application > носи о поруци измениће се тако да одрази учињене измене. <itemizedlist > <listitem ><para >атрибут <literal >timestamp</literal > у <literal >message</literal >, али не и остали временски атрибути</para ></listitem > <listitem ><para >атрибут <literal >subject</literal > у <literal >message</literal ></para ></listitem > <listitem ><para >атрибут <literal >type</literal > у <literal >message</literal ></para ></listitem > <listitem ><para >атрибут <literal >importance</literal > у <literal >message</literal ></para ></listitem > <listitem ><para >атрибут <literal >color</literal > у <literal >body</literal >. Обично задато као број веб боје, али се може задати и име. Објекти <literal >QColor</literal > у КуТ‑у‑4 прихватају имена која дефинише <ulink url="http://www.w3.org/TR/SVG/types.html#ColorKeywords" >СВГ</ulink >, тако да се једино она могу користити.</para ></listitem > <listitem ><para >атрибут <literal >bgcolor</literal > у <literal >body</literal >. Исто понашање као <literal >color</literal >.</para ></listitem > <listitem ><para >садржај елемента <literal >body</literal ></para ></listitem > </itemizedlist >. Ако скрипта измени елементе или њихове атрибуте који нису поменути овде, те измене неће имати ефекта. </para> </sect1> <sect1 id="acceptable-values"> <title >Прихватљиве вредности</title> <para >Неки атрибути имају ограничен скуп прихватљивих вредности. Прикључак цеви увек ће на излазу дати ваљане вредности; ако ваша скрипта мења ове атрибуте, морају остати ваљани. Ако то нису, недефинисано је шта ће <application >Копете</application > учинити. <variablelist> <varlistentry ><term >атрибут <literal >route</literal > у елементу <literal >message</literal ></term ><listitem ><para >Мора бити <literal >inbound</literal >, <literal >outbound</literal > или <literal >internal</literal >.</para ></listitem ></varlistentry> <varlistentry ><term >атрибут <literal >type</literal > у елементу <literal >message</literal ></term ><listitem ><para >Мора бити <literal >action</literal > или <literal >normal</literal >.</para ></listitem ></varlistentry> <varlistentry ><term >атрибут <literal >importance</literal > у елементу <literal >message</literal ></term ><listitem ><para >Мора бити <literal >0</literal > за малу, <literal >1</literal > за нормалну или <literal >2</literal > за велику.</para ></listitem ></varlistentry> <varlistentry ><term >атрибут <literal >dir</literal > у многим елементима</term ><listitem ><para >Мора бити <literal >ltr</literal > за слева надесно, или <literal >rtl</literal > за здесна налево.</para ></listitem ></varlistentry> </variablelist> </para> </sect1> </appendix>