<chapter id="plugins">

<chapterinfo>
<authorgroup>
<author
>&Anders.Lund; &Anders.Lund.mail;</author>
<othercredit role="translator"
><firstname
>Nicola</firstname
><surname
>Ruggero</surname
><contrib
>Traduzione della documentazione</contrib
></othercredit
><othercredit role="translator"
><firstname
>Federico</firstname
><surname
>Zenith</surname
><affiliation
><address
><email
>federico.zenith@member.fsf.org</email
></address
></affiliation
><contrib
>Traduzione della documentazione</contrib
></othercredit
> 
</authorgroup>
</chapterinfo>

<title
>Lavorare con le estensioni</title>

<para
>Kate usa due diversi tipi di estensione: quelle per l'applicazione completa di &kate;, e quelle per il solo componente editor. Queste ultime sono disponibili per qualsiasi applicazione usi il componente editor, come KDevelop, Quanta, Kile, Kwrite e molte altre. Le estensioni per l'applicazione sono invece specificamente per &kate;.</para>

<para
>Puoi abilitare entrambi i tipi di estensioni nella <link linkend="configuring-kate-configdialog"
>finestra di configurazione</link
>, che dà anche accesso alle opzioni di configurazione aggiuntive per le estensioni che le richiedano.</para>

<para
>Ci sono molte estensioni disponibili per diversi scopi, e puoi trovarne delle altre sul Web. Alcune sono distribuite assieme al componente editor, come le graffe automatiche, l'inserimento dei file, gli strumenti di dati, e  l'esportazione di testo come &HTML;.</para>

<sect1 id="kate-editor-plugins">
<title
>Estensioni del componente editor</title>

<para
>La scheda <guilabel
>Estensioni</guilabel
> della pagina omonima elenca tutte le estensioni disponibili, e puoi spuntare quelle che vuoi usare. Fai clic sul pulsante <guilabel
>Informazioni</guilabel
> per aprire la finestra <guibutton
>Informazioni su...</guibutton
> dell'estensione.</para>
<para
>Una volta che un'estensione configurabile è spuntata, si attiva il pulsante <guibutton
>Configura</guibutton
>, e ci puoi fare clic per configurare l'estensione selezionata.</para>

<variablelist>
<varlistentry>
<term
><guilabel
>Graffe automatiche</guilabel
></term>
<listitem
><para
>L'estensione per graffe automatiche sostituisce la funzionalità interna di &kate; per le <quote
>parentesi automatiche</quote
>. Inserisce automaticamente una graffa chiusa, <keycap
>}</keycap
>, in fondo alla riga successiva dopo aver concluso una riga con una aperta, <keycap
>{</keycap
>, e aver premuto il tasto &Enter;.</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
>Strumenti per dati</guilabel
></term>
<listitem
><para
>Abilita gli strumenti di dati come il dizionario dei sinonimi e il controllo ortografico (se installato). Gli strumenti di dati sono disponibili solo quando c'è del testo selezionato, o quando il &RMB; viene premuto su una parola. Se non sono presenti strumenti di dati, anche quando c'è del testo selezionato, devi installarli. Alcuni strumenti di dati fanno parte del pacchetto &koffice;. Se questa estensione è abilitata e gli strumenti di dati sono installati, appariranno degli altri elementi in fondo al menu contestuale.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Esportatore</guilabel
></term>
<listitem
><para
>Questo comando permette di esportare il documento attuale con tutte le informazioni di evidenziazione in un documento HTML con <menuchoice
><guimenu
>File</guimenu
><guimenuitem
>Esporta come HTML</guimenuitem
></menuchoice
>. Inoltre, puoi usare <menuchoice
><guimenu
>Modifica</guimenu
><guimenuitem
>Copia come HTML</guimenuitem
></menuchoice
> per copiare il testo attualmente selezionato come HTML negli appunti di sistema.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Inserimento di icone</guilabel
></term>
<listitem
><para
>L'estensione di inserimento delle icone è utile solo agli sviluppatori di &kde;: aggiunge un elemento <guimenuitem
>Inserisci codice per KIcon</guimenuitem
> nel menu contestuale dell'editor. Se attivo, si apre il menu di selezione delle icone di &kde; (mostrando le icone per le applicazioni, le azioni e così via). Se fai clic su una di esse, il suo nome del file senza estensione verrà inserito come testo. È utile solo per impostare le icone con l'infrastruttura di &kde; con la classe KIcon. </para
></listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Redazione di HTML folle (non Zen, edizione leggera)</guilabel
></term>
<listitem
><para
>Un'estensione che fa codice Zen come il completamento a selettori. Per maggiori informazioni vedi <ulink url="http://en.wikipedia.org/wiki/Zen_Coding"
>cos'è il codice Zen</ulink
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Inserisci file</guilabel
></term>
<listitem
><para
>Questa estensione permette di inserire qualsiasi file leggibile alla posizione del cursore. Se abilitata, il menu <guimenu
>Strumenti</guimenu
> avrà l'ulteriore elemento <guimenuitem
>Inserisci file</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
>Estensioni dell'applicazione &kate;</title>

<!-- from doc/kate-addons/index.docbook -->
<para
>Le estensioni di &kate; sono funzioni aggiuntive per l'editor &kate;. Possono aggiungere nuovi menu e scorciatoie, ed estendere le funzionalità di &kate;. Puoi installarne quante ne vuoi dall'interno di &kate;. Apri la finestra di configurazione di &kate; con <menuchoice
><guimenu
>Impostazioni</guimenu
><guimenuitem
>Configura Kate...</guimenuitem
></menuchoice
>. Seleziona <menuchoice
><guimenu
>Applicazione</guimenu
><guimenuitem
>Estensioni</guimenuitem
></menuchoice
> per scegliere quelle che vuoi. </para>

<para
>Le estensioni per l'applicazione disponibili sono: </para>
<itemizedlist>
<listitem>
<para
>Vista dello strumento <quote
>Trova nei file</quote
>: vista che permette di cercare in tutti i file aperti o nel filesystem;</para>
</listitem>
<listitem>
<para
>Browser di backtrace: vista dello strumento di navigazione dei backtrace;</para>
</listitem>
<listitem>
<para
>Cambio rapido dei documenti: passa rapidamente a un altro documento già aperto;</para>
</listitem>
<listitem>
<para
>Barra delle linguette: aggiunge una barra delle linguetta alla finestra principale di &kate;;</para>
</listitem>
<!--listitem>
<para
>Text Snippets - Configurable Text Snippets</para>
</listitem-->
<listitem>
<para
>Filtro di testo: filtraggio facile del testo;</para>
</listitem>
<listitem>
<para
>Visore di simboli: estrae e visualizza i simboli di riferimento dal sorgente;</para>
</listitem>
<listitem>
<para
>Browser del filesystem: vista dello strumento di navigazione del filesystem;</para>
</listitem>
<listitem>
<para
>Strumento visivo per terminale: vista che incorpora un terminale;</para>
</listitem>
<!--listitem>
<para
>Kate Python Browser Plugin - A Python browser plugin for Kate</para>
</listitem-->
<listitem>
<para
>Estensione CTags: cerca definizioni e dichiarazioni con CTags;</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-filetemplate"
>Modelli di file</link
>: crea nuovi file partendo da dei modelli;</para>
</listitem>
<listitem>
<para
>Apri intestazioni: apri il file <literal role="extension"
>.h/[.cpp|.c]</literal
>;</para>
</listitem>
<listitem>
<para
>Strumenti esterni</para>
</listitem>
<listitem>
<para
>Estensione di generazione: compila o esegui <command
>make</command
> ed elabora i messaggi d'errore;</para>
</listitem>
<listitem>
<para
>Invia file: invia file per posta elettronica;</para>
</listitem>
<listitem>
<para
>Frammenti di Kate: estensione per frammenti con supporto per il completamento del codice;</para>
</listitem>
<listitem>
<para
>Estensione Jovie di KTextEditor: aggiunge una voce del menu per pronunciare il testo;</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-xmlcheck"
>Validazione &XML;</link
>: valida i file &XML; con <command
>xmllint</command
>;</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-xmltools"
>Completamento &XML;</link
>: elenca elementi, attributi, valori di attributi ed entità permessi dalla DTD;</para>
</listitem>
<listitem>
<para
>Schedatura: aggiunge una barra delle linguette alla finestra principale di &kate;.</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
>Modelli di file</title>

  <para
>L'estensione per i modelli di file permette di creare file in base ad altri file.</para>
  <para
>Quando si installa &kate; per la prima volta, si deve abilitare l'estensione:</para>
  <orderedlist>
        <listitem>
          <para
>Fai clic su <menuchoice
><guimenu
>Impostazioni</guimenu
><guimenuitem
>Configura Kate</guimenuitem
></menuchoice
>. </para>
        </listitem>
        <listitem>
          <para
>Nell'albero sulla sinistra, fai clic su <guilabel
>Estensioni</guilabel
>. </para>
        </listitem>
        <listitem>
          <para
>Nel pannello <guilabel
>Gestore delle estensioni</guilabel
> a destra, seleziona <guilabel
>Modelli di file</guilabel
>, e fai quindi clic su <guibutton
>OK</guibutton
>. </para>
        </listitem>
   </orderedlist>
  <para
>Si può ora usare qualsiasi file come modello (ciò crea una copia del file con un &URL; vuoto). Dei file modello speciali possono contenere macro per inserire informazioni come nomi, indirizzi di posta, la data attuale, e posizionare il cursore in un posto appropriato del nuovo file.</para>
  <para
>Si può facilmente creare un nuovo modello da un documento aperto.</para>
  <para
>I modelli salvati nella cartella dei modelli sono elencati nel menu <menuchoice
><guimenu
>File</guimenu
><guimenuitem
>Nuovo da modello</guimenuitem
></menuchoice
>.</para>
  <para
>La cartella dei modelli fa parte del filesystem di &kde;, e consiste almeno di:</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
>Se la variabile d'ambiente <envar
>KDEDIRS</envar
> contiene altre cartelle, saranno cercate delle sottocartelle simili anche in queste. Se vengono trovati modelli con lo stesso nome, viene scelto quello nella cartella locale (<filename class="directory"
>$<envar
>KDEHOME</envar
></filename
>).</para>
  <sect2 id="katefiletemplates-menu">
    <title
>Struttura dei menu</title>

    <variablelist>
      <varlistentry>
        <term>
          <menuchoice
><guimenu
>File</guimenu
> <guisubmenu
>Nuovo da modello</guisubmenu
> <guimenuitem
>Qualsiasi file</guimenuitem
> </menuchoice>
        </term>
        <listitem
><para
>Presenta il selettore dei file, che permette di usare qualsiasi file come modello. Se il file scelto ha l'estensione <literal role="extension"
>.katetemplate</literal
>, verrà analizzato alla ricerca di informazioni del modello e di macro.</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
>File</guimenu
> <guimenuitem
>Nuovo da modello</guimenuitem
> </menuchoice>
        </term>
        <listitem
><para
>Il resto dei sottomenu contiene dei collegamenti a modelli. Fai clic su un elemento per creare un file come descritto dal suo testo.</para
></listitem>
      </varlistentry>

      <!-- Settings menu -->

      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Impostazioni</guimenu
><guimenuitem
>Gestisci modelli...</guimenuitem
></menuchoice
></term>
        <listitem
><para
>Questo avvierà una finestra con un elenco di tutti i modelli trovati nelle cartelle dei modelli, insieme alle opzioni di aggiungerne, modificarli o rimuoverli.</para
></listitem>
      </varlistentry>
    </variablelist>
  </sect2>

  <sect2 id="katefiletemplates-use">
    <title
>Usare un modello di &kate;</title>
    <para
>Quando si crea un file da un modello che contenga delle macro per modelli, alcune macro appaiono come variabili modificabili nel testo. Queste variabili appaiono nel testo come parole sottolineate.</para>
    <para
>La prima variabile sarà selezionata, quindi devi solo scrivere per modificarla. Se il testo del documento contiene più occorrenze della stessa variabile, vengono cambiate mentre la modifichi. Per andare alla variabile modificabile successiva, premi il tasto &Tab;. Quando è stata modificata l'ultima variabile, l'elenco viene rimosso, e il tasto &Tab; funziona come normale.</para>
  </sect2>

  <sect2 id="katefiletemplates-create">
    <title
>Creare i tuoi modelli</title>
    <para
>Per creare un nuovo modello, usa l'elemento <menuchoice
><guimenu
>Impostazioni</guimenu
><guimenuitem
>Gestisci modelli</guimenuitem
></menuchoice
> per avviare la finestra di gestione dei modelli. In questa, fai clic su <guibutton
>Nuovo...</guibutton
> per avviare l'assistente dei modelli di file. Verranno chiesti un file facoltativo da far diventare modello e le impostazioni delle sue informazioni, e sarà quindi creato un file modello.</para
> <para
>In alternativa, puoi creare un modello manualmente aggiungendone le informazioni all'inizio di qualsiasi file, aggiungere testo e macro, e salvarlo con l'estensione <literal role="extension"
>.katetemplate</literal
>.</para>
    <para
>Il menu dei modelli viene aggiornato automaticamente se scegli di salvare il modello nella cartella dei modelli.</para>
  </sect2>

  <sect2 id="katefiletemplates-edit">
    <title
>Modificare i modelli</title>
    <para
>Per modificare un modello, usa <menuchoice
><guimenu
>Impostazioni</guimenu
><guimenuitem
>Gestisci modelli...</guimenuitem
></menuchoice
>. Seleziona il modello sul quale vuoi lavorare e fai clic su <guibutton
>Modifica...</guibutton
>, e il file del modello verrà aperto. Chiudi la finestra, modifica il file del modello come desideri, salvalo e chiudilo. I cambiamenti ai modelli hanno effetto immediato, puoi attivare il modello per provare le modifiche dopo averlo salvato.</para>
  </sect2>

  <sect2 id="katefiletemplates-format">
    <title
>Il formato dei modelli di &kate;</title>
    <para
>Se usi dei file con estensione <literal role="extension"
>.katetemplate</literal
>, saranno analizzati alla ricerca di informazioni, macro del modello e una posizione del cursore.</para>

    <sect3 id="katefiletemplates-template-info">
      <title
>Informazioni del modello</title>
      <para
>Leggendo nel file, il programma di analisi tiene da parte le righe che cominciano per <constant
>katetemplate:</constant
> e ci cerca le informazioni di modello nella forma <replaceable
>nome_variabile</replaceable
>=<replaceable
>valore</replaceable
>. La prima riga che non comincia per <constant
>katetemplate:</constant
> sarà considerata l'inizio dei contenuti del modello. <replaceable
>valore</replaceable
> può contenere qualsiasi carattere tranne il segno di uguale (<symbol
>=</symbol
>). I nomi di variabile ammessi sono: <variablelist>
          <varlistentry>
            <term
><varname
>Template</varname
></term>
            <listitem
><para
>Questo è il nome del modello, mostrato nel menu <menuchoice
><guimenu
>File</guimenu
><guimenuitem
>Nuovo da modello</guimenuitem
></menuchoice
>.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Group</varname
></term>
            <listitem
><para
>Il gruppo posiziona il modello in un sottomenu del menu <menuchoice
><guimenu
>File</guimenu
><guimenuitem
>Nuovo da modello</guimenuitem
></menuchoice
>.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
><varname
>Name</varname
></term>
            <listitem
><para
>Questo è il nome che sarà impostato per il documento, e mostrato nell'elenco dei file e nella barra del titolo. Se il nome contiene <userinput
>%N</userinput
>, questo verrà rimpiazzato con un numero, aumentandolo se ci sono altri documenti con lo stesso nome.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Highlight</varname
></term>
            <listitem
><para
>L'estensione cercherà di impostare l'evidenziazione del nuovo documento al valore di questa variabile. Il valore dovrebbe essere un nome, come si trova nel menu <menuchoice
><guimenu
>Strumenti</guimenu
><guimenuitem
>Modalità di evidenziazione</guimenuitem
></menuchoice
>.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Description</varname
></term>
            <listitem
><para
>Una breve descrizione informativa del modello. È attualmente usata per impostare una stringa <guilabel
>Che cos'è?</guilabel
> per l'elemento del menu, ma potrà essere usata per altre cose in futuro.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>Author</term>
            <listitem
><para
>Una stringa che identifica l'autore, per esempio nella forma <userinput
>Nome &lt;indirizzo di posta&gt;</userinput
>. È attualmente usata per impostare una stringa <guilabel
>Che cos'è?</guilabel
> per l'elemento del menu, ma potrà essere usata per altre cose in futuro.</para
></listitem>
          </varlistentry>
        </variablelist>
      </para>

    </sect3>

    <sect3 id="katetemplates-macros">
      <title
>Macro dei modelli</title>

      <para
>Nell'analisi dei contenuti del modello, vengono espanse le macro nella forma <userinput
>%{<replaceable
>nome</replaceable
>}</userinput
> o <userinput
>${<replaceable
>nome</replaceable
>}</userinput
>. Se usi il prefisso <userinput
>$</userinput
>, la macro espansa sarà trattata come variabile modificabile quando viene creato un documento dal modello, mentre se usi <userinput
>%</userinput
> non lo sarà, a meno che l'espansione non riesca.</para>
      <para
>Vengono espanse le macro seguenti: <variablelist>
          <varlistentry
><term
>time</term>
            <listitem
><para
>Si espande nell'ora attuale nel formato locale.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>date</term>
            <listitem
><para
>Si espande alla data attuale nel formato breve.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>datetime</term>
            <listitem
><para
>Si espande alle data e ora correnti, formattate come una stringa secondo le impostazioni locali.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>year</term>
            <listitem
><para
>L'anno corrente come numero di quattro cifre.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>month</term>
            <listitem
><para
>Il nome completo del mese corrente, secondo la localizzazione.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>day</term>
            <listitem
><para
>Si espande all'attuale giorno del mese.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>hostname</term>
            <listitem
><para
>Si espande al nome host del computer.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>index</term>
            <listitem
><para
>Si espande a <userinput
>i</userinput
>.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>fullname</term>
            <listitem
><para
>Si espande al tuo nome completo, come definito nell'indirizzo del proprietario nella rubrica di &kde;.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>firstname</term>
            <listitem
><para
>Si espande al tuo nome, come definito nell'indirizzo del proprietario nella rubrica di &kde;.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>lastname</term>
            <listitem
><para
>Si espande al tuo cognome, come definito nell'indirizzo del proprietario nella rubrica di &kde;.</para>
            </listitem>
          </varlistentry>
          <!-- <varlistentry>
            <term
>username</term>
            <listitem
><para
>Expands to your username.</para
></listitem>
          </varlistentry
> -->
          <varlistentry>
            <term
>email</term>
            <listitem
><para
>Si espande al tuo indirizzo di posta elettronica, come definito nell'indirizzo del proprietario nella rubrica di &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
>Qualsiasi macro al di fuori dall'elenco qui sopra è trattata come modificabile, indipendentemente dal prefisso. Se la stessa variabile ricorre più volte nel modello, può essere modificata immediatamente dopo aver creato un documento dal modello.</para>
    </sect3>

    <sect3 id="katefiletemplates-cursor">
      <title
>Impostare la posizione del cursore</title>
      <para
>La macro speciale <userinput
>${cursor}</userinput
> sarà sostituita con una barra verticale e aggiunta alla fine dell'elenco delle variabili modificabili, indipendentemente dalla sua posizione nel testo.</para>
    </sect3>

  </sect2>
  <sect2>
    <title
>Ringraziamenti e riconoscimenti</title>
    <para
>Estensione di &kate; <quote
>Modelli di file</quote
>, copyright 2004 di &Anders.Lund; &Anders.Lund.mail;. </para>
    <para
>Copyright della documentazione 2004 di &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
>Validazione &XML;</title>

<para
>Questa estensione controlla che i file &XML; siano validi e scritti in forma corretta.</para>
<para
>L'estensione controlla il file attuale. Sul fondo della finestra principale di &kate; apparirà un elenco di avvertimenti ed errori. Puoi fare clic su un messaggio d'errore per saltare al punto corrispondente nel file. Se il file ha un <quote
>DOCTYPE</quote
>, si userà il suo DTD per controllarne la validità. Ci si aspetta che il DTD sia in posizione relativa al file attuale: per esempio se il doctype si riferisce a <filename
>DTD/xhtml1-transitional.dtd</filename
> e il file è <filename
>/home/pippo/prova.xml</filename
>, ci si aspetta che il DTD sia a <filename
>/home/pippo/DTD/xhtml1-transitional.dtd</filename
>. Comunque, sono supportati anche i DTD remoti specificati con http.</para>

<para
>Se il file non ha un doctype, ne sarà controllata la corretta formattazione.</para>

<para
>Per saperne di più su &XML;, vedi le <ulink url="http://www.w3.org/XML/"
>pagine ufficiali del W3C su &XML;</ulink
>.</para>

<para
>Internamente, questa estensione chiama il comando esterno <command
>xmllint</command
>, che fa parte di libxml2. Se questo comando non è correttamente installato sul sistema, l'estensione non funzionerà.</para>

<note
><para
>Deve essere scritto un file temporaneo nella stessa cartella del file che viene controllato, quindi avrai bisogno dell'accesso in scrittura a quella cartella.</para
></note>

<para
>Per caricare questa estensione apri la finestra di configurazione di &kate; sotto <menuchoice
><guimenu
>Impostazioni</guimenu
><guimenuitem
>Configura Kate...</guimenuitem
></menuchoice
>. Seleziona quindi <guilabel
>Validazione XML</guilabel
> che apparirà nella sezione <guilabel
>Estensioni</guilabel
>, sotto <guilabel
>Applicazione</guilabel
>, e chiudi la finestra. </para>

<sect2 id="xmlcheck-menu">
<title
>Struttura dei menu</title>

<variablelist>
<varlistentry>
<term>
<menuchoice
><guimenu
>XML</guimenu
> <guimenuitem
>Convalida XML</guimenuitem
> </menuchoice>
</term>
<listitem
><para
>Questo avvierà il controllo, come sopra descritto.</para
></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="xmlcheck-thanks-and-acknowledgements">
<title
>Ringraziamenti e riconoscimenti</title>
<para
>Estensione di &kate; <quote
>Validazione XML</quote
>, copyright 2002 di &Daniel.Naber; &Daniel.Naber.mail;. </para>
<para
>Copyright 2002 della documentazione di &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
>Completamento &XML;</title>

<para
>Questa estensione suggerisce cosa è ammissibile in un certo punto di un file &XML;, secondo la DTD del file. Elencherà i possibili elementi, attributi, valori degli attributi o entità a seconda della posizione del cursore (per esempio, se il carattere a sinistra del cursore è <quote
>&amp;</quote
>, vengono elencate tutte le entità). È anche possibile chiudere l'ultimo tag aperto a sinistra.</para>

<para
>La <acronym
>DTD</acronym
> deve esistere in formato &XML;, come prodotta dal programma Perl <command
>dtdparse</command
>. Indicheremo una tale DTD come <quote
>meta-DTD</quote
>. Sono fornite alcune meta-DTD; sono installate in <filename class="directory"
>$<envar
>KDEDIR</envar
>/share/apps/katexmltools/</filename
>, che è anche la cartella predefinita alla selezione di <guimenuitem
>Assegna meta-DTD</guimenuitem
>. Per produrre le tue meta-DTD, recupera <command
>dtdparse</command
> da <ulink url="http://dtdparse.sourceforge.net"
>questo indirizzo</ulink
>.</para>

<sect2 id="xmltools-how-to-use">
<title
>Uso</title>

<para
>Avvia &kate; e apri apri la finestra di configurazione sotto <menuchoice
><guimenu
>Impostazioni</guimenu
><guimenuitem
>Configura Kate</guimenuitem
></menuchoice
>. Seleziona quindi <guilabel
>Completamento XML</guilabel
> che apparirà nella sezione <guilabel
>Estensioni</guilabel
>, sotto <guilabel
>Applicazione</guilabel
>, e chiudi la finestra. Dopodiché, seleziona <menuchoice
><guimenu
>XML</guimenu
><guimenuitem
>Assegna meta-DTD</guimenuitem
></menuchoice
>. Se il documento non contiene nessun <quote
>DOCTYPE</quote
> o questo è ignoto, dovrai selezionare una meta-DTD dal filesystem. Altrimenti, la meta-DTD corrispondente al DOCTYPE del documento attuale sarà automaticamente caricata.</para>

<para
>Puoi ora usare l'estensione mentre scrivi del testo:</para>

<variablelist>

<varlistentry>
<term
><keycap
>&lt;</keycap
> (minore)</term>
<listitem
><para
>Questo attiverà un elenco di elementi possibili, a meno che il cursore sia già dentro a un tag. Nota che attualmente non puoi usarlo per inserire degli elementi di massimo livello (per esempio <quote
>&lt;html&gt;</quote
>).</para
></listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="seq"
><keycap
>&lt;</keycap
><keycap
>/</keycap
></keycombo
> (minore e sbarra)</term>
<listitem
><para
>Inserire questi caratteri chiuderà l'elemento attuale (l'ultimo aperto a sinistra del cursore). Premi &Enter; per accettare il suggerimento. Al contrario dell'elemento del menu <guimenuitem
>Chiudi elemento</guimenuitem
>, questo funziona solo quando è stata assegnata una DTD.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><keycap
>"</keycap
> (virgolette)</term>
<listitem
><para
>Il tasto delle virgolette attiverà un elenco di valori possibili per gli attributi (se ce ne sono) se sei all'interno di un tag.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><keycap
>&nbsp;</keycap
> (spazio)</term>
<listitem
><para
>Questo tasto attiverà un elenco di attributi possibili per l'elemento attuale se sei dentro a un tag.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycap
>&amp;</keycap
> (e commerciale)</term>
<listitem
><para
>Questo tasto attiverà un elenco di entità.</para
></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="xmltools-features-and-limitations">
<title
>Funzionalità e limiti</title>

<para
>Puoi provare tutte le funzioni e i limiti caricando in &kate; <filename
>$<envar
>KDEDIR</envar
>/share/apps/katexmltools/testcases.xml</filename
> e seguendo le istruzioni.</para>

</sect2>


<sect2 id="xmltools-menu">
<title
>Struttura dei menu</title>

<variablelist>
<varlistentry>
<term>
<menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;&Enter;</keycombo
> </shortcut
> <guimenu
>XML</guimenu
> <guimenuitem
>Inserisci elemento</guimenuitem
> </menuchoice>
</term>
<listitem
><para
>Questo aprirà una finestra che permette di inserire un elemento &XML;. Saranno inseriti automaticamente i caratteri &lt;, &gt; e il tag di chiusura. Se avevi selezionato del testo al momento della selezione di questo elemento del menu, il testo sarà incluso tra i tag di apertura e chiusura. La finestra offre il completamento per tutti gli elementi che possono essere inseriti alla posizione attuale del cursore se hai assegnato una meta-DTD con <guimenuitem
>Assegna meta-DTD</guimenuitem
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;<keycap
>&lt;</keycap
></keycombo
> </shortcut
> <guimenu
>XML</guimenu
> <guimenuitem
>Chiudi elemento</guimenuitem
> </menuchoice>
</term>
<listitem
><para
>Questo cercherà nel testo un tag non ancora chiuso e lo chiuderà inserendone il tag di chiusura corrispondente. La ricerca parte alla posizione del cursore e va verso sinistra. Se non è possibile trovare un tag aperto, non succederà nulla.</para
></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>XML</guimenu
> <guimenuitem
>Assegna meta-DTD</guimenuitem
> </menuchoice>
</term>
<listitem
><para
>Questo dirà all'estensione quale meta-DTD usare per il documento attuale. Nota che questa assegnazione non verrà salvata. La dovrai ripetere al prossimo riavvio di &kate;.</para
></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="xmltools-thanks-and-acknowledgements">
<title
>Ringraziamenti e riconoscimenti</title>
<para
>Estensione di &kate; <quote
>Completamento XML</quote
>, copyright 2001, 2002 di &Daniel.Naber; &Daniel.Naber.mail;. </para>
<para
>Copyright della versione per KDE SC 4 2010 di Tomáš Trnka</para>
<para
>Copyright 2001, 2002 della documentazione di &Daniel.Naber;</para>
</sect2>

</sect1>

</chapter>
