Browsable GraphML Grammar

CC-BY

Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: markup/graphical/graphml/doux/extracted
Source used for this grammar: Guillaume Doux, A metamodel for the GraphML format 1.0, GraphML.ecore, 2009/03/16

Summary

Syntax

LocatedElement ::=
	Root
LocatedElement ::=
	Element
LocatedElement ::=
	Port
LocatedElement ::=
	EndPoint
LocatedElement ::=
	Data
Root ::=
	[keys]::Key+ [graphs]::Graph+
Element ::=
	Key
Element ::=
	Graph
Element ::=
	Edge
Element ::=
	HyperEdge
Element ::=
	Node
Element ::=
	[id]::String [datas]::Data+
Key ::=
	[for]::ElemType [attrName]::String [type]::AttrType [defValue]::String
Graph ::=
	[contents]::Element+ [edgeDefault]::EdgeType
Edge ::=
	[source]::Node [target]::Node [sourceport]::Port [targetport]::Port
HyperEdge ::=
	[endpoints]::EndPoint+
Node ::=
	[subgraph]::Graph [ports]::Port+
Port ::=
	[name]::String
EndPoint ::=
	[node]::Node [port]::Port
Data ::=
	[key]::String [value]::String
ElemType ::=
	[edge]::ε
	[node]::ε
	[graph]::ε
AttrType ::=
	[double]::ε
	[string]::ε
	[integer]::ε
	[boolean]::ε
EdgeType ::=
	[directed]::ε
	[undirected]::ε
Boolean ::=
	"true"
	"false"
Integer ::=
	integer
String ::=
	string

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []