Sdílet prostřednictvím


Referenční dokumentace jazyka přímého značení grafů (DGML)

Jazyk DGML (Directed Graph Markup Language) popisuje informace používané pro vizualizaci a provádění analýzy složitosti a je formát používaný k zachování map kódu v sadě Visual Studio. K popisu cyklických i acyklických směrných grafů se používá jednoduchý kód XML. Orientovaný graf je sada uzlů, které jsou propojeny pomocí propojení neboli hran. Uzly a propojení mohou být použity pro reprezentaci síťových struktur, jako jsou například prvky v softwarovém projektu.

Upozorňujeme, že některé verze sady Visual Studio podporují pouze podmnožinu funkcí DGML, viz podpora verzí pro nástroje pro architekturu a modelování.

Poznámka:

Při úpravách souboru .dgml usnadňuje technologie IntelliSense určení atributů, které jsou k dispozici pro každý prvek, a jejich hodnot. Pro určení barvy v atributu použijte názvy pro běžné barvy, například „Blue“ (modrá) nebo šestnáctkové hodnoty ARGB, jako je například „#ffa0b1c3“. Jazyk DGML používá malou podmnožinu formátů definice barev Windows Presentation Foundation (WPF). Další informace naleznete v tématu Třídy barev.

Syntaxe DGML

Následující tabulka popisuje druhy prvků, které se používají v DGML:

  • <DirectedGraph></DirectedGraph>

    Tento prvek je kořenovým prvkem dokumentu map kódu (.dgml). V rámci tohoto prvku jsou všechny ostatní prvky jazyka DGML.

    Následující seznam popisuje volitelné atributy, které lze vložit:

    Background - Barva pozadí mapy

    BackgroundImage – Umístění souboru obrázku, který se má použít jako pozadí mapy.

    GraphDirection- Pokud je mapa nastavena na rozložení stromu (Sugiyama), uspořádejte uzly tak, aby většina propojení proudil v zadaném směru: TopToBottom, , LeftToRightBottomToTop, nebo RightToLeft. Viz Změna rozložení mapy.

    Layout- Nastavte mapu na následující rozložení: None, (stromové rozložení), ForceDirected (rychlé shluky) nebo DependencyMatrixSugiyama . Viz Změna rozložení mapy.

    NeighborhoodDistance – Pokud je mapa nastavená na rozložení stromu nebo rychlé rozložení clusterů, zobrazí se pouze uzly, které jsou zadaným číslem (1–7) odkazů mimo vybrané uzly. Viz Změna rozložení mapy.

    Příklad:

    <?xml version="1.0" encoding="utf-8"?>
    <DirectedGraph Title="DrivingTest" Background="Blue" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
       <Nodes>
          ...
       </Nodes>
       <Links>
          ...
       </Links>
       <Categories>
          ...
       </Categories>
       <Properties>
          ...
       </Properties>
    </DirectedGraph>
    
  • <Nodes></Nodes>

    Tento volitelný prvek obsahuje seznam <Node/> prvků, které definují uzly na mapě. Další informace naleznete v elementu <Node/> .

    Poznámka:

    Když v elementu <Link/> odkazujete na nedefinovaný uzel, mapa vytvoří <Node/> prvek automaticky.

    Příklad:

    <?xml version="1.0" encoding="utf-8"?>
    <DirectedGraph Title="DrivingTest" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
       <Nodes>
          <Node ... />
       </Nodes>
       <Links>
          <Link ... />
       </Links>
    </DirectedGraph>
    
  • <Node/>

    Tento prvek definuje jeden uzel. Zobrazí se v <Nodes><Nodes/> seznamu prvků.

    Tento prvek musí obsahovat následující atributy:

    Id – Jedinečný název uzlu a výchozí hodnota atributu Label , pokud není zadán žádný samostatný Label atribut. Tento název se musí shodovat s Source atributem odkazu Target , který na něj odkazuje.

    Následující seznam popisuje některé volitelné atributy, které lze vložit:

    Label – Zobrazovaný název uzlu.

    Atributy stylu. Viz Přizpůsobení map kódu úpravou souborů DGML.

    Category - Název kategorie, která identifikuje prvky, které sdílejí tento atribut. Další informace naleznete v elementu <Category/> .

    Property - Název vlastnosti, která identifikuje prvky, které mají stejnou hodnotu vlastnosti. Další informace naleznete v elementu <Property/> .

    Group – Pokud uzel obsahuje jiné uzly, nastavte tento atribut na Expanded nebo Collapsed zobrazit nebo skrýt jeho obsah. Musí existovat <Link/> prvek, který obsahuje Category="Contains" atribut a určuje nadřazený uzel jako zdrojový uzel a podřízený uzel jako cílový uzel. Viz Prvky kódu skupiny.

    Visibility - Nastavte tento atribut na Visible, Hiddennebo Collapsed. Používá System.Windows.Visibility. Viz Skrýt nebo zobrazit uzly a odkazy.

    Reference - Nastavte tento atribut tak, aby odkaz na dokument nebo adresu URL. Viz Odkazy na dokumenty nebo adresy URL na prvky kódu a odkazy.

    Příklad:

    <?xml version="1.0" encoding="utf-8"?>
    <DirectedGraph Title="DrivingTest" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
       <Nodes>
          <Node Id="Driver" Label="Student" Category="Person" />
          <Node Id="Passenger" Label="Instructor" Category="Person" />
          <Node Id="Car" Label="Car" Category="Automobile" />
          <Node Id="Truck" Label="Truck" Category="Automobile" />
       </Nodes>
       <Links>
          <Link ... />
       </Links>
       <Categories>
          <Category Id="Person" Background="Orange" />
          <Category Id="Automobile" Background="Yellow"/>
       </Categories>
    </DirectedGraph>
    
  • <Links></Links>

    Tento prvek obsahuje seznam <Link> prvků, které definují propojení mezi uzly. Další informace naleznete v elementu <Link/> .

    Příklad:

    <?xml version="1.0" encoding="utf-8"?>
    <DirectedGraph Title="DrivingTest" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
       <Links>
          <Link ... />
       </Links>
    </DirectedGraph>
    
  • <Link/>

    Tento prvek definuje jedno propojení, které připojuje zdrojový uzel k cílovému uzlu. Zobrazí se v <Links></Links> seznamu prvků.

    Poznámka:

    Pokud tento prvek odkazuje na nedefinovaný uzel, dokument mapy automaticky vytvoří uzel, který má zadané atributy, pokud existuje.

    Tento prvek musí obsahovat následující atributy:

    Source – Zdrojový uzel propojení

    Target – Cílový uzel propojení

    Následující seznam popisuje některé volitelné atributy, které lze vložit:

    Label - Zobrazovaný název odkazu

    Atributy stylu. Viz Přizpůsobení map kódu úpravou souborů DGML.

    Category - Název kategorie, která identifikuje prvky, které sdílejí tento atribut. Další informace naleznete v elementu <Category/> .

    Property - Název vlastnosti, která identifikuje prvky, které mají stejnou hodnotu vlastnosti. Další informace naleznete v elementu <Property/> .

    Příklad:

    <?xml version="1.0" encoding="utf-8"?>
    <DirectedGraph Title="DrivingTest" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
       <Nodes>
          <Node Id="Driver" Label="Student" Category="Person" />
          <Node Id="Passenger" Label="Instructor" Category="Person" />
          <Node Id="Car" Label="Car" Category="Automobile" />
          <Node Id="Truck" Label="Truck" Category="Automobile" />
       </Nodes>
       <Links>
          <Category Id="Person" Background="Orange" />
          <Category Id="Automobile" Background="Yellow"/>
          <Link Source="Driver" Target="Car" Label="Passed" Stroke="Black" Background="Green" Category="PassedTest" />
          <Link Source="Driver" Target="Truck" Label="Failed" Stroke="Black" Background="Red" Category="PassedTest" />
       </Links>
    </DirectedGraph>
    
  • <Categories></Categories>

    Tento prvek obsahuje seznam <Category/> prvků. Další informace naleznete v elementu <Category/> .

    Příklad:

    <?xml version="1.0" encoding="utf-8"?>
    <DirectedGraph Title="DrivingTest" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
       <Categories>
           <Category ... />
       </Categories>
    </DirectedGraph>
    
  • <Category/>

    Tento prvek definuje Category atribut, který slouží k identifikaci prvků, které sdílejí tento atribut. Atribut Category lze použít k uspořádání prvků mapování, poskytování sdílených atributů prostřednictvím dědičnosti nebo definování dalších metadat.

    Tento prvek musí obsahovat následující atributy:

    Id – Jedinečný název kategorie a výchozí hodnota atributu Label , pokud není zadán žádný samostatný Label atribut.

    Následující seznam popisuje některé volitelné atributy, které lze vložit:

    Label - Popisný název kategorie.

    BasedOn - Nadřazená kategorie, ze které <Category/> aktuální prvek dědí.

    V příkladu pro tento prvek FailedTest kategorie zdědí jeho Stroke atribut z PassedTest kategorie. Viz "Vytvoření hierarchických kategorií" v části Přizpůsobení map kódu úpravou souborů DGML.

    Kategorie také poskytují základní chování šablony, které řídí vzhled uzlů a odkazů, když jsou zobrazeny na mapě. Viz Přizpůsobení map kódu úpravou souborů DGML.

    Příklad:

    <?xml version="1.0" encoding="utf-8"?>
    <DirectedGraph Title="DrivingTest" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
       <Nodes>
          <Node Id="Driver" Label="Driver" Category="Person" />
          <Node Id="Car" Label="Car" Category="Automobile" />
          <Node Id="Truck" Label="Truck" Category="Automobile" />
          <Node Id="Passenger" Category="Person" />
       </Nodes>
       <Links>
          <Link Source="Driver" Target="Car" Label="Passed" Category="PassedTest" />
          <Link Source="Driver" Target="Truck" Label="Failed" Category="FailedTest" />
       </Links>
       <Categories>
          <Category Id="Person" Background="Orange" />
          <Category Id="Automobile" Background="Yellow"/>
          <Category Id="PassedTest" Label="Passed" Stroke="Black" Background="Green" />
          <Category Id="FailedTest" Label="Failed" BasedOn="PassedTest" Background="Red" />
       </Categories>
    </DirectedGraph>
    
  • <Properties></Properties>

    Tento prvek obsahuje seznam <Property/> prvků. Další informace naleznete v elementu <Property/> .

    Příklad:

    <?xml version="1.0" encoding="utf-8"?>
    <DirectedGraph Title="DrivingTest" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
       <Properties>
           <Property ... />
       </Properties>
    </DirectedGraph>
    
  • <Property/>

    Tento element definuje Property atribut, který můžete použít k přiřazení hodnoty k libovolnému prvku nebo atributu DGML, včetně kategorií a dalších vlastností.

    Tento prvek musí obsahovat následující atributy:

    • Id - Jedinečný název vlastnosti a výchozí hodnota atributu Label , pokud není zadán žádný samostatný Label atribut.

    • DataType - Typ dat uložených vlastností

      Pokud chcete, aby se vlastnost zobrazovala v okně Vlastnosti , zadejte Label zobrazovaný název vlastnosti.

      Viz Přiřazení kategorií prvkům kódu a odkazům.

      Příklad:

    <?xml version="1.0" encoding="utf-8"?>
    <DirectedGraph Title="DrivingTest" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
       <Nodes>
          <Node Id="Driver" Label="Driver" Category="Person" DrivingAge="18"/>
          <Node Id="Car" Label="Car" Category="Automobile" />
          <Node Id="Truck" Label="Truck" Category="Automobile" />
          <Node Id="Passenger" Category="Person" />
       </Nodes>
       <Links>
          <Link Source="Driver" Target="Car" Label="Passed" Category="PassedTest" />
          <Link Source="Driver" Target="Truck" Label="Failed" Category="FailedTest" />
       </Links>
       <Categories>
          <Category Id="Person" Background="Orange" />
          <Category Id="Automobile" Background="Yellow"/>
          <Category Id="PassedTest" Label="Passed" Stroke="Black" Background="Green" />
          <Category Id="FailedTest" Label="Failed" BasedOn="PassedTest" Background="Red" />
       </Categories>
       <Properties>
           <Property Id="DrivingAge" Label="Driving Age" DataType="System.Int32" />
       </Properties>
    </DirectedGraph>
    

Aliasy pro běžně používané cesty

Nahrazení běžně používaných cest aliasy pomáhá zmenšit velikost souboru .dgml a snižuje čas potřebný k načtení nebo uložení souboru. Pokud chcete vytvořit alias, přidejte <Paths></Paths> na konec souboru .dgml oddíl. V této části přidejte <Path/> prvek pro definování aliasu pro cestu:

<Paths>
   <Path Id="MyPathAlias" Value="C:\...\..." />
</Paths>

Pokud chcete odkazovat na alias z elementu v souboru .dgml, uzavřete Id <cestu/> prvek znakem dolaru ($) a závorky (()):

<Nodes>
   <Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" />
</Nodes>
<Properties>
   <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" />
</Properties>

Viz také