<chapter id="plugins">

<chapterinfo>
<authorgroup>
<author
>&Anders.Lund; &Anders.Lund.mail;</author>
<othercredit role="translator"
> <firstname
>Johan</firstname
> <surname
>Thelmén</surname
> <affiliation
><address
><email
>jth@home.se</email
></address
></affiliation
> <contrib
>Översättare</contrib
></othercredit
> 
</authorgroup>
</chapterinfo>

<title
>Arbeta med insticksprogram</title>

<para
>Kate använder två olika typer av insticksprogram, nämligen insticksprogram för programmet &kate; och insticksprogram för &kate;s editorkomponent. De senare är tillgängliga för alla program som använder editorkomponenten, som KDevelop, Quanta, Kile, Kwrite och många andra, medan insticksprogram för programmet är specifika för programmet &kate;.</para>

<para
>Du kan aktivera båda typer av insticksprogram i <link linkend="configuring-kate-configdialog"
>inställningsdialogrutan</link
>, som också ger tillgång till ytterligare inställningsalternativ för insticksprogram som kräver det.</para>

<para
>Det finns många insticksprogram för olika syften tillgängliga, och du kan söka efter fler på webben. Ett fåtal insticksprogram levereras med editorkomponenten, för att automatiskt infoga parenteser, infoga filer och exportera text som &HTML;.</para>

<sect1 id="kate-editor-plugins">
<title
>Editorkomponentens insticksprogram</title>

<para
>Fliken <guilabel
>Insticksprogram</guilabel
> på sidan <guilabel
>Utökningar</guilabel
> listar alla tillgängliga insticksprogram, och du kan markera de du vill använda. Klicka på knappen  <guibutton
>Information</guibutton
> för att öppna insticksprogrammets dialogruta <guilabel
>Om</guilabel
>.</para>
<para
>När ett anpassningsbart insticksprogram väl är markerat, aktiveras knappen <guibutton
>Anpassa</guibutton
>, och du kan klicka på den för att anpassa markerat insticksprogram.</para>

<variablelist>
<varlistentry>
<term
><guilabel
>Automatisk parentes</guilabel
></term>
<listitem
><para
>Insticksprogrammet för automatiska parenteser ersätter &kate;s interna funktion för automatiska parenteser. Den infogar automatiskt en avslutande parentes <quote
>}</quote
> i början av nästa rad efter att ha avslutat en rad med en inledande parantes <keycap
>{</keycap
> och tryckt på returtangenten.</para
></listitem>
</varlistentry>
<!--http://jakob.petsovits.at/topic/kate-->
<!--Right, it's the automatic insertion of a closing brace ("}") after you ended a line with an opening one ("{"). Kate's standard insertion of parentheses, brackets and braces is simply too obtrusive for me, so even if I tried it several times I always had to disable it again because I can't stand it. So here's how AutoBrace works.
You, the developer, are writing a line of code, and want to open a new block delimited by braces. Looks like this:
If you press Enter and AutoBrace is enabled, it will insert your favorite new brace where it belongs. Looks like this:
-->
<varlistentry>
<term
><guilabel
>Dataverktyg</guilabel
></term>
<listitem
><para
>Aktiverar dataverktyg som synonymordlista och stavningskontroll (om de är installerade). Dataverktyg är bara tillgängliga när text är markerad, eller när höger musknapp klickas över ett ord. Om inga dataverktyg erbjuds även när text är markerad, måste de installeras. Vissa dataverktyg är en del av paketet &koffice;. Om insticksprogrammet är aktiverat och dataverktyg är installerade, visas ytterligare alternativ i slutet av den sammanhangsberoende menyn.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Export</guilabel
></term>
<listitem
><para
>Det här kommandot låter dig exportera det nuvarande dokumentet med all färgläggningsinformation till ett HTML-dokument genom att använda <menuchoice
><guimenu
>Arkiv</guimenu
><guimenuitem
>Exportera som HTML</guimenuitem
></menuchoice
>. Dessutom kan du använda <menuchoice
><guimenu
>Redigera</guimenu
><guimenuitem
>Kopiera som HTML</guimenuitem
></menuchoice
> för att kopiera texten som för närvarande är markerad som HTML till systemets klippbord.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Infoga ikon</guilabel
></term>
<listitem
><para
>Insticksprogrammet Infoga ikon är bara användbart för utvecklare av &kde;: Det lägger till alternativet <guimenuitem
>Infoga KIcon-kod</guimenuitem
> i editorns sammanhangsberoende meny. Om det aktiveras, visas &kde;:s ikonväljare (där programikoner, åtgärdsikoner, etc. visas). Om man klickar på den, infogas filnamnet utan filändelse som text. Bara användbart för att ange ikoner via &kde;:s ramverk via klassen KIcon(). </para
></listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Insane (inte ZEN) HTML-kodning (enkel version)</guilabel
></term>
<listitem
><para
>Ett insticksprogram som utför zen-kodning, såsom komplettering av selektorer. För mer information, se <ulink url="http://en.wikipedia.org/wiki/Zen_Coding"
>Zen Coding</ulink
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Infoga fil</guilabel
></term>
<listitem
><para
>Det här insticksprogrammet låter dig infoga vilken läsbar fil som helst vid markörens position. Om aktiverat, har menyn <guimenu
>Verktyg</guimenu
> det ytterligare menyalternativet <guimenuitem
>Infoga fil</guimenuitem
>.</para
></listitem>
</varlistentry>
<!-- not build any longer in kde 4.5
<varlistentry>
<term
>Python Encoding check</term>
<listitem
><para
>This plugin is always enabled.  
If you are trying to save a python file as non ASCII, without specifying a 
correct source encoding line like &eg; <quote
># -*- coding: utf-8 -*-</quote
>, 
a warning dialog pops up and allows you to add a proper source encoding line for the
current encoding to the file.
</para
></listitem>
</varlistentry>
-->
</variablelist>
<!--
kdelibs/kate/plugins/ has additional plugins
autobookmark not build, its broken!
timedate not build? plugin is for howto-write-a-plugin purposes!
-->

<!-- Scripts tab ??? empty-->
</sect1>

<sect1 id="kate-application-plugins">
<title
>Insticksprogram för programmet &kate;</title>

<!-- from doc/kate-addons/index.docbook -->
<para
>&kate; insticksprogram är ytterligare funktioner för editorn &kate;. De kan lägga till extra menyer och snabbtangenter, och utöka &kate;s funktioner. Du kan installera så många eller så få du vill, inne i &kate;. Öppna &kate;s inställningsdialogruta med <menuchoice
><guimenu
>Inställningar</guimenu
> <guimenuitem
>Anpassa &kate;...</guimenuitem
></menuchoice
> Använd <menuchoice
><guimenu
>Program</guimenu
> <guimenuitem
>Insticksprogram</guimenuitem
></menuchoice
> för att välja önskade insticksprogram. </para>

<para
>De tillgängliga insticksprogrammen är: </para>
<itemizedlist>
<listitem>
<para
>Verktygsvyn Sök i filer: Verktygsvy som möjliggör sökning i alla öppna filer eller filer i filsystemet</para>
</listitem>
<listitem>
<para
>Bläddring i bakåtspårning: Navigeringsverktyg med vy av bakåtspårning</para>
</listitem>
<listitem>
<para
>Snabbt dokumentbyte: Byt snabbt till ett annat redan öppnat dokument</para>
</listitem>
<listitem>
<para
>Flikrad: Lägger till en flikrad i &kate;s huvudfönster</para>
</listitem>
<!--listitem>
<para
>Text Snippets - Configurable Text Snippets</para>
</listitem-->
<listitem>
<para
>Textfilter: Enkel textfiltrering</para>
</listitem>
<listitem>
<para
>Symbolvisning: Hämta och visa referenssymboler från källkod</para>
</listitem>
<listitem>
<para
>Filsystembläddrare: Verktygsvy för filsystembläddring</para>
</listitem>
<listitem>
<para
>Verktygsvyn Terminal: Verktygsvy med en inbäddad grafisk terminalkomponent</para>
</listitem>
<!--listitem>
<para
>Kate Python Browser Plugin - A Python browser plugin for Kate</para>
</listitem-->
<listitem>
<para
>Ctags-insticksprogram: Slå upp definitioner och deklarationer med Ctags</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-filetemplate"
>Filmallar</link
>: Skapa nya filer från mallar</para>
</listitem>
<listitem>
<para
>Öppna deklarationsfil: Öppnar den motsvarande .h/[.cpp|.c]-filen</para>
</listitem>
<listitem>
<para
>Externa verktyg</para>
</listitem>
<listitem>
<para
>Bygginsticksprogram: Kompilera eller bygg och tolka felmeddelanden</para>
</listitem>
<listitem>
<para
>E-posta filer: Skicka filer via e-post</para>
</listitem>
<listitem>
<para
>Kate-snuttar: Insticksprogram för textsnuttar med stöd för kodkomplettering</para>
</listitem>
<listitem>
<para
>Jovie-insticksprogram för Ktexteditor: Lägger till ett menyalternativ för att läsa upp texten</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-xmlcheck"
>&XML;-validering</link
>: Validerar &XML;-filer med XMLlint</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-xmltools"
>&XML;-komplettering</link
>: Listar XML-element, attribut, attributvärden och objekt som tillåts av DTD</para>
</listitem>
<listitem>
<para
>Flikrad: Lägger till en flikrad i &kate;s huvudfönster</para>
</listitem>
</itemizedlist>
</sect1>

<!-- from doc/kate-addons/filetemplates.docbook -->
<sect1 id="kate-application-plugin-filetemplate">
<sect1info>
<authorgroup>
<author
>&Anders.Lund; &Anders.Lund.mail;</author>
</authorgroup>
</sect1info>
<title
>Filmallar</title>

  <para
>Insticksprogrammet Filmallar låter dig skapa filer baserade på andra filer.</para>
  <para
>När Kate först installeras, måste insticksprogrammet aktiveras.</para>
  <orderedlist>
        <listitem>
          <para
>Klicka på <menuchoice
><guimenu
>Inställningar</guimenu
> <guimenuitem
>Anpassa Kate</guimenuitem
></menuchoice
> </para>
        </listitem>
        <listitem>
          <para
>I trädet till vänster på skärmen, klicka på <guilabel
>Insticksprogram</guilabel
>. </para>
        </listitem>
        <listitem>
          <para
>Välj <guilabel
>Filmallar</guilabel
> i rutan <guilabel
>Insticksprogramhanterare</guilabel
> till höger, och klicka på <guilabel
>Ok</guilabel
>. </para>
        </listitem>
   </orderedlist>
  <para
>Du kan nu använda vilken fil som helst som mall (vilket skapar en kopia av filen med en tom webbadress). Särskilda mallfiler som kan innehålla makron för att fylla i information, som ditt namn och din e-postadress, dagens datum, och placera markören på en bekväm plats i den nya filen. </para>
  <para
>Du kan enkelt skapa en ny mall från ett öppet dokument.</para>
  <para
>Mallar som sparas i mallkatalogen listas i menyalternativet <menuchoice
><guimenu
>Arkiv</guimenu
> <guimenuitem
>Ny från mall</guimenuitem
></menuchoice
>.</para>
  <para
>Mallkatalogen är en del av &kde;:s filsystem, och innehåller åtminstone</para>
    <itemizedlist>
      <listitem>
	<para>
	 <filename role="directory"
>$<envar
>KDEDIR</envar
>/share/applications/kate/plugins/katefiletemplates/templates</filename>
	</para>
      </listitem>
      <listitem>
       <para>
        <filename role="directory"
>$<envar
>KDEHOME</envar
>/share/applications/kate/plugins/katefiletemplates/templates.</filename>
	</para>
      </listitem>
    </itemizedlist>
    <para
>Om miljövariabeln <envar
>KDEDIRS</envar
> innehåller ytterligare kataloger, söks de dessutom igenom efter liknande underkataloger. Om mallar med samma namn hittas, väljes mallen i den lokala katalogen (KDEHOME).</para>
  <sect2 id="katefiletemplates-menu">
    <title
>Menystruktur</title>

    <variablelist>
      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Arkiv</guimenu
> <guisubmenu
>Ny från mall</guisubmenu
> <guimenuitem
>Vilken fil som helst...</guimenuitem
> </menuchoice>
        </term>
        <listitem
><para
>Visar en dialogruta för att öppna en fil, som låter dig välja vilken fil som helst som mall. Om den valda filen har filändelsen <filename
>katetemplate</filename
> tolkas den för att hitta mallinformation och makron.</para
></listitem>
      </varlistentry>
      <!-- not in 4.4
      <varlistentry>
        <term>
          <menuchoice>
            <guimenu
>File</guimenu>
            <guisubmenu
>New From Template</guisubmenu>
            <guimenuitem
>Use Recent</guimenuitem>
          </menuchoice>
        </term>
        <listitem
><para
>Presents a list of files recently used as
            templates, represented by their &URL;.</para
></listitem>
      </varlistentry>
      -->
      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Arkiv</guimenu
> <guimenu
>Ny från mall</guimenu
>  </menuchoice>
        </term>
        <listitem
><para
>Återstoden av undermenyer innehåller länkar till mallar. Klicka på ett menyalternativ för att skapa en fil som beskrivs av menyalternativets text.</para
></listitem>
      </varlistentry>

      <!-- Settings menu -->

      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Inställningar</guimenu
> <guimenuitem
>Hantera mallar...</guimenuitem
></menuchoice
></term>
        <listitem
><para
>Det här visar en dialogruta med en lista över mallar som hittas i mallkatalogerna, tillsammans med alternativ för att lägga till, redigera eller ta bort mallar.</para
></listitem>
      </varlistentry>
    </variablelist>
  </sect2>

  <sect2 id="katefiletemplates-use">
    <title
>Använda en &kate;-mall</title>
    <para
>När en fil skapas från en mall som innehåller mallmakron, visas vissa makron som redigerbara variabler i texten. Sådana variabler visas som understrukna ord i texten.</para>
    <para
>Den första variabeln väljes, så du behöver bara skriva för att redigera den. Om dokumenttexten innehåller flera förekomster av samma variabel, ändras de medan du redigerar. För att gå till nästa redigerbara variabel, tryck på tabulatortangenten. När den sista variabeln redigeras, försvinner listan och tabulatortangenten fungerar som vanligt.</para>
  </sect2>

  <sect2 id="katefiletemplates-create">
    <title
>Skapa dina egna mallar</title>
    <para
>Använd <menuchoice
><guimenu
>Inställningar</guimenu
> <guimenuitem
>Hantera mallar</guimenuitem
></menuchoice
> som startar mallhanteringsdialogrutan, för att skapa en ny mall. Klicka på <guibutton
>Ny...</guibutton
> i den för att starta Filmallsguiden. Du blir tillfrågad om en valfri fil att omvandla till en mall samt om mallinformationsinställningar, och en mallfil skapas åt dig.</para
> <para
>Som ett alternativ kan du skapa mallen för hand genom att lägga till mallinformation längst upp i vilken fil som helst, lägga till text och makron, och spara den med filändelsen <filename
>katetemplate</filename
>.</para>
    <para
>Mallmenyn uppdateras automatiskt om du väljer att lagra din mall i mallkatalogen.</para>
  </sect2>

  <sect2 id="katefiletemplates-edit">
    <title
>Redigera mallar</title>
    <para
>Använd <menuchoice
><guimenu
>Inställningar</guimenu
> <guimenuitem
>Hantera mallar...</guimenuitem
></menuchoice
> för att redigera en mall. Markera mallen du vill arbeta med, och klicka på <guibutton
>Redigera...</guibutton
>, så öppnas mallfilen. Stäng dialogrutan, redigera mallfilen som önskas, spara och stäng den. Ändringar i mallen får omedelbart effekt, och du kan aktivera mallen för att prova dina ändringar efter du har sparat den.</para>
  </sect2>

  <sect2 id="katefiletemplates-format">
    <title
>&kate;s mallformat</title>
    <para
>Om du använder filer med filändelsen <filename
>katetemplate</filename
>, tolkas de för att hitta mallinformation, makron och en markörposition.</para>

    <sect3 id="katefiletemplates-template-info">
      <title
>Mallinformation</title>
      <para
>Medan filen läses in, behåller tolken rader som börjar med ordet <constant
>katetemplate:</constant
> och söker i dem efter mallinformation på formen VARIABELNAMN=VÄRDE. Den första raden som inte börjar med <constant
>katetemplate:</constant
> antas vara början på mallens innehåll. VÄRDE kan innehålla vilket tecken som helst utom likhetstecken (=). Riktiga variabelnamn är: <variablelist>
          <varlistentry>
            <term
><varname
>Mall</varname
></term>
            <listitem
><para
>Det här är mallens namn, som visas i menyn <menuchoice
><guimenu
>Arkiv</guimenu
> <guimenuitem
>Ny från mall</guimenuitem
></menuchoice
>.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Group</varname
></term>
            <listitem
><para
>Gruppen placerar mallen i en undermeny till menyn <menuchoice
><guimenu
>Arkiv</guimenu
> <guimenuitem
>Ny från mall</guimenuitem
></menuchoice
>.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
><varname
>Name</varname
></term>
            <listitem
><para
>Det här är namnet som dokumentet får, och som visas i fillistan och namnlisten. Om namnet innehåller <userinput
>%n</userinput
> ersätts det med ett nummer, som ökas om flera dokument har samma namn.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Highlight</varname
></term>
            <listitem
><para
>Insticksprogrammet försöker ställa in färgläggningen för det nya dokumentet till den här variabelns värde. Värdet ska vara namnet, som syns under <menuchoice
><guimenu
>Verktyg</guimenu
> <guimenuitem
>Färgläggning</guimenuitem
></menuchoice
>.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Description</varname
></term>
            <listitem
><para
>En kort informativ beskrivning av mallen. Den används för närvarande för att visa en <quote
>Vad är det här</quote
>-sträng för menyalternativet, men kan användas för fler syften i framtiden.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>Author</term>
            <listitem
><para
>En sträng som identifierar upphovsmannen, till exempel på formen <userinput
>Namn &lt;e-postadress&gt;</userinput
>. Den används för närvarande för att visa en <quote
>Vad är det här</quote
>-sträng för menyalternativet, men kan användas för fler syften i framtiden.</para
></listitem>
          </varlistentry>
        </variablelist>
      </para>

    </sect3>

    <sect3 id="katetemplates-macros">
      <title
>Mallmakron</title>

      <para
>Medan mallens innehåll tolkas, expanderas makron på formen <userinput
>%{NAMN}</userinput
> eller <userinput
>${NAMN}</userinput
>. Om du använder prefixet <userinput
>$</userinput
>, behandlas det expanderade makrot som en redigerbar variabel när ett dokument skapas från mallen, medan om du använder <userinput
>%</userinput
> gör det inte det, om inte expansion misslyckades.</para>
      <para
>Följande makron expanderas: <variablelist>
          <varlistentry
><term
>time</term>
            <listitem
><para
>Expanderas till aktuell tid med format enligt landsinställningarna.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>date</term>
            <listitem
><para
>Expanderas till dagens datum med kort format.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>datetime</term>
            <listitem
><para
>Expanderas till aktuell tid och datum, formaterat som en sträng enligt landsinställningarna.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>year</term>
            <listitem
><para
>Innevarande år som ett tal med fyra siffror.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>month</term>
            <listitem
><para
>Fullständigt namn på innevarande månad, enligt dina landsinställningar.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>day</term>
            <listitem
><para
>Expanderas till dagen i innevarande månad.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>hostname</term>
            <listitem
><para
>Expanderas till datorns värddatornamn.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>index</term>
            <listitem
><para
>Expanderas till 'i'.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>fullname</term>
            <listitem
><para
>Expanderas till ditt fullständiga namn, som det definieras av ägarens adress i den vanliga adressboken i &kde;.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>firstname</term>
            <listitem
><para
>Expanderas till ditt förnamn, som det definieras av ägarens adress i den vanliga adressboken i &kde;.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>lastname</term>
            <listitem
><para
>Expanderas till ditt efternamn, som det definieras av ägarens adress i den vanliga adressboken i &kde;.</para>
            </listitem>
          </varlistentry>
          <!-- <varlistentry>
            <term
>username</term>
            <listitem
><para
>Expands to your username.</para
></listitem>
          </varlistentry
> -->
          <varlistentry>
            <term
>email</term>
            <listitem
><para
>Expanderas till din e-postadress, som den definieras av ägarens adress i den vanliga adressboken i &kde;.</para
></listitem>
          </varlistentry>
          <!--<varlistentry>
            <term
>organisation</term>
            <listitem
><para
>This is your organisation, as defined by
                the owner address in your standard KDE
                addressbook.</para
></listitem>
          </varlistentry
>-->
        </variablelist>
      </para>
      <para
>Ett makron som inte finns i listan ovan behandlas som en redigerbar variabel oberoende av prefix. Om samma variabel förekommer flera gånger i mallen, kan de redigeras omedelbart efter dokumentet skapats från mallen.</para>
    </sect3>

    <sect3 id="katefiletemplates-cursor">
      <title
>Ange markörens position</title>
      <para
>Det speciella makrot <userinput
>${cursor}</userinput
> ersätts med en vertikal rad och läggs till sist i listan med redigerbara variabler, oberoende av sin plats i texten.</para>
    </sect3>

  </sect2>
  <sect2>
    <title
>Tack och erkännanden</title>
    <para
>&kate;-insticksprogrammet <quote
>Filmallar</quote
> copyright 2004 &Anders.Lund; &Anders.Lund.mail;. </para>
    <para
>Dokumentation copyright 2004 &Anders.Lund;</para>
  </sect2>
</sect1>

<!-- from doc/kate-addons/xmlcheck.docbook -->
<sect1 id="kate-application-plugin-xmlcheck">
<sect1info>
<authorgroup
><author
><firstname
>Daniel</firstname
> <surname
>Naber</surname
> <affiliation
><address
>&Daniel.Naber.mail;</address
></affiliation>
</author
></authorgroup>
</sect1info>

<title
>&XML;-validering</title>

<para
>Det här insticksprogrammet kontrollerar att &XML;-filer är välformade och giltiga.</para>
<para
>Det här insticksprogrammet kontrollerar nuvarande fil. En lista med varningar och fel visas längst ner i &kate;s huvudfönster. Du kan klicka på ett felmeddelande för att hoppa till motsvarande plats i filen. Om filen har en <quote
>DOCTYPE</quote
>, så används den DTD som anges av DOCTYPE för att kontrollera filens giltighet. Denna DTD förväntas finnas på en plats relativt den nuvarande filen, t.ex. om DOCTYPE refererar till <quote
>DTD/xhtml1-transitional.dtd</quote
> och filen heter <filename
>/home/peter/test.xml</filename
>, så förväntas denna DTD finnas under <filename
>/home/peter/DTD/xhtml1-transitional.dtd</filename
>. Dock så stöds också DTD:er som anges med HTTP.</para>

<para
>Om filen inte har någon doctype, så kontrolleras att den är välformad.</para>

<para
>För att ta reda på mer om &XML;, titta på <ulink url="http://www.w3.org/XML/"
>de officiella W3C &XML;-sidorna</ulink
>.</para>

<para
>Internt anropar insticksprogrammet det externa kommandot <command
>xmllint</command
>, som är en del av libxml2. Om det här programmet inte är riktigt installerat på systemet, fungerar inte insticksprogrammet.</para>

<note
><para
>En tillfällig fil måste skrivas i samma katalog där filen som ska kontrolleras finns, så du måste ha skrivrättigheter i denna katalog.</para
></note>

<para
>För att ladda insticksprogrammet, öppna först &kate;s inställningsdialogruta under <menuchoice
><guimenu
>Inställningar</guimenu
> <guimenuitem
>Anpassa &kate;...</guimenuitem
></menuchoice
> . Markera därefter <guilabel
>XML-validering</guilabel
>, som visas under <guilabel
>Program</guilabel
> <guilabel
>Insticksprogram</guilabel
> och stäng dialogrutan. </para>

<sect2 id="xmlcheck-menu">
<title
>Menystruktur</title>

<variablelist>
<varlistentry>
<term>
<menuchoice
><guimenu
>XML</guimenu
> <guimenuitem
>Validera XML</guimenuitem
> </menuchoice>
</term>
<listitem
><para
>Det här startar kontrollen, som beskrivs ovan.</para
></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="xmlcheck-thanks-and-acknowledgements">
<title
>Tack och erkännanden</title>
<para
>&kate;s insticksprogram <quote
>XML-validering</quote
> copyright 2002 &Daniel.Naber; &Daniel.Naber.mail;. </para>
<para
>Dokumentation copyright 2002 &Daniel.Naber;</para>

</sect2>
</sect1>

<sect1 id="kate-application-plugin-xmltools">
<sect1info>
<authorgroup
><author
><firstname
>Daniel</firstname
> <surname
>Naber</surname
> <affiliation
><address
>&Daniel.Naber.mail;</address
></affiliation>
</author
></authorgroup>
</sect1info>
<title
>&XML;-komplettering</title>

<para
>Det här insticksprogrammet ger tips om vad som är tillåtet på vissa ställen i en &XML;-fil, i enlighet med filens DTD. Det listar möjliga element, egenskaper, egenskapsvärden eller objekt, beroende på markörens plats (t.ex. så listas alla objekt om tecknet till vänster om markören är <quote
>&amp;</quote
>). Det är också möjligt att avsluta den närmaste taggen till vänster som ännu ej avslutats.</para>

<para
>En <acronym
>DTD</acronym
> på &XML;-format, som skapas av Perl-programmet <command
>dtdparse</command
> måste finnas. Den här sortens DTD:er kallas för <quote
>meta-DTD:er</quote
>. Vissa meta-DTD:er medföljer. De är installerade i <filename class="directory"
>$KDEDIR/share/apps/katexmltools/</filename
>, som också är den förvalda katalogen när du väljer <guimenuitem
>Tilldela meta-DTD...</guimenuitem
>. För att skapa dina egna meta-DTD:er, hämta <command
>dtdparse</command
> från <ulink url="http://dtdparse.sourceforge.net"
>http://dtdparse.sourceforge.net</ulink
>.</para>

<sect2 id="xmltools-how-to-use">
<title
>Användning</title>

<para
>Starta &kate; och öppna  inställningsdialogrutan med <menuchoice
><guimenu
>Inställningar</guimenu
> <guimenuitem
>Anpassa &kate;...</guimenuitem
></menuchoice
>. Markera därefter <guilabel
>XML-komplettering</guilabel
>, som visas i avsnittet <guilabel
>Program</guilabel
> <guilabel
>Insticksprogram</guilabel
>. Välj därefter <menuchoice
><guimenu
>XML</guimenu
> <guimenuitem
>Tilldela meta-DTD...</guimenuitem
></menuchoice
>. Om dokumentet inte innehåller någon <quote
>DOCTYPE</quote
> eller en okänd doctype, måste du välja en meta-DTD i filsystemet. Annars så laddas automatiskt den meta-DTD som hör ihop med det nuvarande dokumentets doctype.</para>

<para
>Nu kan du använda insticksprogrammet medan du skriver in text:</para>

<variablelist>

<varlistentry>
<term
><keycap
>&lt;</keycap
> (mindre än tecken)</term>
<listitem
><para
>Det här visar en lista med möjliga element om inte markören redan är inne i en tagg. Observera att du för närvarande inte kan använda det här för att infoga toppnivåelementet (t.ex. <quote
>&lt;html&gt;</quote
>).</para
></listitem>
</varlistentry>

<varlistentry>
<term
><keycap
>&lt;</keycap
><keycap
>/</keycap
> (mindre än tecken + snedstreck)</term>
<listitem
><para
>Att skriva in de här tecknen erbjuder att avsluta det aktuella elementet (det närmaste oavslutade till vänster om markören). Tryck på returtangenten för att acceptera förslaget. I motsats till menyalternativet <guimenuitem
>Avsluta element</guimenuitem
>, fungerar det här bara när en DTD har tilldelats.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><keycap
>"</keycap
> (citationstecken)</term>
<listitem
><para
>Ett citationstecken visar en lista med möjliga attributvärden (om det finns några) när du är inne i en tagg.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><keycap
>&nbsp;</keycap
> (mellanslag)</term>
<listitem
><para
>Den här tangenten visar en lista med möjliga egenskaper för det nuvarande elementet om du är inne i en tagg.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycap
>&amp;</keycap
> (och-tecken)</term>
<listitem
><para
>Den här tangenten visar en lista med namngivna objekt.</para
></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="xmltools-features-and-limitations">
<title
>Funktioner och begränsningar</title>

<para
>Du kan prova alla funktioner och begränsningar genom att ladda <filename
>$KDEDIR/share/apps/katexmltools/testcases.xml</filename
> i &kate; och följa instruktionerna.</para>

</sect2>


<sect2 id="xmltools-menu">
<title
>Menystruktur</title>

<variablelist>
<varlistentry>
<term>
<menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;<keycap
>Retur</keycap
> </keycombo
> </shortcut
> <guimenu
>XML</guimenu
> <guimenuitem
>Infoga element...</guimenuitem
> </menuchoice>
</term>
<listitem
><para
>Det här visar en dialogrutan som låter dig infoga &XML;-element. Tecknen &lt;, &gt; och avslutande tagg infogas automatiskt. Om du har markerat text när menyalternativet utförs, omges den markerade texten av inledande och avslutande tagg. Dialogrutan erbjuder också komplettering av alla element som kan ha infogats på aktuell markörposition, om du har tilldelat en meta-DTD genom att använda <guimenuitem
>Tilldela meta-DTD...</guimenuitem
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;<keycap
>&lt;</keycap
></keycombo
> </shortcut
> <guimenu
>XML</guimenu
> <guimenuitem
>Avsluta element</guimenuitem
> </menuchoice>
</term>
<listitem
><para
>Det här söker i texten efter en tagg som ännu inte avslutats och avslutar den genom att sätta in motsvarande avslutningstagg. Sökningen börjar på markörens plats och går åt vänster. Om ingen tagg som inte har avslutats hittas, händer ingenting.</para
></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>XML</guimenu
> <guimenuitem
>Tilldela meta-DTD...</guimenuitem
> </menuchoice>
</term>
<listitem
><para
>Det här talar om för insticksprogrammet vilken meta-DTD som ska användas för det nuvarande dokumentet. Observera att den här tilldelningen inte sparas. Du måste upprepa den när du startar &kate; nästa gång.</para
></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="xmltools-thanks-and-acknowledgements">
<title
>Tack och erkännanden</title>
<para
>&kate;s insticksprogram <quote
>&XML;-validering</quote
> copyright 2001, 2002 &Daniel.Naber; &Daniel.Naber.mail;. </para>
<para
>KDE programvarusamling 4 version copyright 2010 Tomáš Trnka</para>
<para
>Dokumentation copyright 2001,2002 &Daniel.Naber;</para>
</sect2>

</sect1>

</chapter>
