<chapter id="import-export">
<title
>Import och export</title>
<sect1 id="import-export-projects">
    <title
>Utbyt &rocs;-projekt</title>
    <para
>&rocs;-projekt kan importeras och exporteras som <literal
>.tar.gz</literal
> arkivfiler. Dessa arkiv kan användas för att utbyta projekt. Import och export kan utföras med <menuchoice
><guimenu
>Grafdokument</guimenu
> <guimenuitem
>Importera graf</guimenuitem
></menuchoice
> respektive <menuchoice
><guimenu
>Grafdokument</guimenu
> <guimenuitem
>Exportera graf</guimenuitem
></menuchoice
>. </para>
</sect1>

<sect1 id="import-export-graphs">
    <title
>Import och export av grafdokument</title>
    <para
>&rocs; stöder för närvarande import och export av följande filformat:</para>
    <itemizedlist>
        <listitem
><para
>DOT-filer, också kända som Graphviz-filer</para
></listitem>
        <listitem
><para
>GML-filer</para
></listitem>
        <listitem
><para
>Filer med Trivial Graph-format</para
></listitem>
        <listitem
><para
>Keyhole Markup Language-format</para
></listitem>
    </itemizedlist>

<sect2 id="format-specification-tgf">
<title
>Trivial Graph-filformat</title>
<para
><emphasis
>Trivial Graph-formatet</emphasis
> (TGF) är ett enkelt textbaserat filformat för att beskriva grafer. En TGF-fil består av en lista med noddefinitioner, som avbildar nod-identifierare på etiketter, följt av en lista med bågarna. Det är bara möjligt att ha en etikett per nod och ett värde per båge i detta format. &rocs; tolkar importerade grafer som oriktade grafer. Exporterade grafer innehåller två bågar per anslutning om anslutningarna är bidirektionella. </para>

<sect3>
<title
>Formatspecifikation</title>
    <itemizedlist>
        <listitem
><para
>Filen börjar med en lista med noder (en nod per rad), följt av en rad med det enda tecknet "#", följt av en lista med bågar (en båge per rad).</para
></listitem>
        <listitem
><para
>En nod består av ett heltal (identifierare), följt av ett mellanslag, följt av en godtycklig sträng.</para
></listitem>
        <listitem
><para
>En båge består av två heltal (identifierare) åtskilda med ett mellanslag, följda av ett mellanslag, följt av en godtycklig sträng. Det antas att den riktade bågen pekar från den första identifieraren till den andra.</para
></listitem>
    </itemizedlist>
</sect3>
<sect3>
<title
>Exempel</title>
<programlisting
>1 startnod
2 sändare
3 mottagare
#
1 2 blå
2 1 röd
2 3 grön
</programlisting>
</sect3>
</sect2>

<sect2 id="format-specification-dot">
<title
>DOT-språket, Graphviz graffilformat</title>
<para
>DOT-språket är ett grafbeskrivningsspråk med vanlig text som både tillåter en bra mänskligt läsbar representation av grafer samt en effektiv behandling av graflayoutprogram. DOT är standardfilformat för Graphviz grafvisualiseringssvit, men används också av många andra grafverktyg. De vanliga filändelserna för DOT är <emphasis
>.gv</emphasis
> och <emphasis
>.dot</emphasis
>. </para>

<sect3>
<title
>Funktioner som inte stöds</title>
<para
>&rocs; kan tolka alla graffiler som innehåller en graf angiven enligt språkdefinitionen för DOT<footnote
><para
>http://www.graphviz.org/content/dot-language</para
></footnote
>. Stödet för språkets funktioner är fullständigt, trots följande undantag: </para>
    <itemizedlist>
        <listitem
><para
>delgraf: På grund av avsaknaden av ett delgrafskoncept i &rocs;, importeras bara delgrafer som en uppsättning dataelement och anslutningar. I synnerhet importeras inte anslutningar till eller från delgrafer.</para
></listitem>
        <listitem
><para
>&HTML;- och &XML;-attribut: Attribut (som beteckningar) som innehåller &HTML;- eller &XML;-syntax läses oförändrade. I synnerhet läses inte justeringar av teckensnitt och stilar från sådana attribut.</para
></listitem>
    </itemizedlist>
</sect3>
<sect3>
<title
>Exempel</title>
<programlisting
>digraph min_graf {
    a -> b -> c;
    b -> d;
}
</programlisting>
</sect3>
</sect2>

</sect1>
</chapter>