<chapter id="import-export">
<title
>Importar i exportar</title>
<sect1 id="import-export-projects">
    <title
>Intercanviar projectes del &rocs;</title>
    <para
>Els projectes del &rocs; es poden importar i exportar com fitxers d'arxiu <literal
>.tar.gz</literal
>. Aquests arxius es poden utilitzar per a intercanviar projectes. Podeu importar i exportar amb <menuchoice
><guimenu
>Document de graf</guimenu
> <guimenuitem
>Importa un graf</guimenuitem
></menuchoice
> i <menuchoice
><guimenu
>Document de graf</guimenu
> <guimenuitem
>Exporta el graf com a</guimenuitem
></menuchoice
>, respectivament. </para>
</sect1>

<sect1 id="import-export-graphs">
    <title
>Importar i exportar documents de graf</title>
    <para
>&rocs; actualment suporta la importació i exportació dels següents formats de fitxer:</para>
    <itemizedlist>
        <listitem
><para
>Fitxers DOT, també coneguts com fitxers Graphviz</para
></listitem>
        <listitem
><para
>Fitxers GML</para
></listitem>
        <listitem
><para
>Fitxers en el format de grafs trivial</para
></listitem>
        <listitem
><para
>Format de llenguatge de marcat Keyhole</para
></listitem>
    </itemizedlist>

<sect2 id="format-specification-tgf">
<title
>Format de grafs trivial</title>
<para
>El <emphasis
>format de grafs trivial</emphasis
> (TGF) és un format de fitxer basat en text simple per a la descripció dels grafs. Un fitxer TGF consta d'una llista de definicions de node, que assignen els identificadors dels nodes a les etiquetes, seguits per una llista de les arestes. En aquest format, és possible tenir més d'una etiqueta per node i un valor per a cada aresta. &rocs; interpreta grafs importats com a grafs no dirigits. Els grafs exportats contindran dues arestes per connexió si les connexions són bidireccionals. </para>

<sect3>
<title
>Especificació del format</title>
    <itemizedlist>
        <listitem
><para
>El fitxer comença amb una llista de nodes (un node per línia), seguit per una línia amb el caràcter únic «#», seguit per una llista d'arestes (una aresta per línia).</para
></listitem>
        <listitem
><para
>Un node consisteix d'un nombre enter (identificador), seguit d'un espai, seguit per una cadena arbitrària.</para
></listitem>
        <listitem
><para
>Un aresta es compon de dos nombres enters (identificadors) separats per un espai, seguit per un espai, seguit per una cadena arbitrària. Se suposa que l'aresta dirigida apunta des del primer identificador fins al segon.</para
></listitem>
    </itemizedlist>
</sect3>
<sect3>
<title
>Exemple</title>
<programlisting
>1 node inicial
2 transmissor
3 pila
#
1 2 blau
2 1 vermell
2 3 verd
</programlisting>
</sect3>
</sect2>

<sect2 id="format-specification-dot">
<title
>Llenguatge DOT / Format de fitxer de grafs Graphviz</title>
<para
>El llenguatge DOT és un llenguatge de descripció de grafs de text pla, que permet, tant una representació de grafs llegible, així com un processament eficient pels programes de disseny de grafs. DOT és el format de fitxer predeterminat per a la suite de visualització de grafs Graphviz, però també és àmpliament utilitzat per altres eines de graf. Les extensions de fitxer habituals per a DOT són <emphasis
>.gv</emphasis
> i <emphasis
>.dot</emphasis
>. </para>

<sect3>
<title
>Característiques no implementades</title>
<para
>&rocs; pot analitzar cada fitxer de grafs que contingui un graf especificat d'acord amb l'especificació del llenguatge DOT<footnote
><para
>http://www.graphviz.org/content/dot-language</para
></footnote
>. La implementació de les característiques del llenguatge és completa, tot i les següents excepcions: </para>
    <itemizedlist>
        <listitem
><para
>subgraf: A causa de la manca d'un concepte de subgraf en &rocs;, els subgrafs només s'importen com un conjunt d'elements de dades i connexions. En especial, no s'importaran les connexions cap o des dels subgrafs.</para
></listitem>
        <listitem
><para
>Els atributs &HTML; i &XML;: Els atributs (com les etiquetes) que contenen la sintaxi &HTML; o &XML; es llegeixen sense canvis. En especial, no es llegeix cap atribut com el tipus de lletra i estil.</para
></listitem>
    </itemizedlist>
</sect3>
<sect3>
<title
>Exemple</title>
<programlisting
>digraph myGraph {
    a -> b -> c;
    b -> d;
}
</programlisting>
</sect3>
</sect2>

</sect1>
</chapter>