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í mapyBackgroundImage
– 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
, ,LeftToRight
BottomToTop
, neboRightToLeft
. Viz Změna rozložení mapy.Layout
- Nastavte mapu na následující rozložení:None
, (stromové rozložení),ForceDirected
(rychlé shluky) neboDependencyMatrix
Sugiyama
. 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 atributuLabel
, pokud není zadán žádný samostatnýLabel
atribut. Tento název se musí shodovat sSource
atributem odkazuTarget
, 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 naExpanded
neboCollapsed
zobrazit nebo skrýt jeho obsah. Musí existovat<Link/>
prvek, který obsahujeCategory="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 naVisible
,Hidden
neboCollapsed
. 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 odkazuAtributy 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. AtributCategory
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 atributuLabel
, 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í jehoStroke
atribut zPassedTest
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 atributuLabel
, 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>