
\begin{manual}

\resetmancounter

\section*{Structural Layer ( graphml\_structure )}
\label{Structural Layer}
\label{graphml_structure}

\mansection{Definition}


An instance \ensuremath{\mathit{gm}} of \ensuremath{\mathit{graphml\nspaceunderscore\_structure}\Ltemplateless T\Ltemplategreater } provides access to local
and qualified names of those elements and attributes that make up the 
structural layer of GraphML (as defined in XML Schema 
{\tt graphml-structure.xsd}).  
   



\setlength{\declwidth}{1cm}\computewidths

\mansection{Creation}

\create{\ensuremath{\mathit{graphml\nspaceunderscore\_structure}\Ltemplateless T\Ltemplategreater }}{\ensuremath{\mathit{gm}}}{}
{
creates an instance \ensuremath{\mathit{gm}} of type \ensuremath{\mathit{graphml\nspaceunderscore\_structure}\Ltemplateless T\Ltemplategreater }.
\\PRECONDITION:\\
Template parameter \ensuremath{T} must implement a constructor \ensuremath{T(\mathit{const}\ \mathit{char}*)}
and provide binary operators \ensuremath{+} (for concatenation) and \ensuremath{\Leq } 
(for equality testing).
   

}

\setlength{\typewidth}{1cm}\setlength{\callwidth}{1cm}\computewidths

\mansection{Operations}

\function{\ensuremath{\mathit{const}\ T\&}}
{\ensuremath{\mathit{gm}\nspacedot.}get\nspaceunderscore\_xml\nspaceunderscore\_decl}
{$\,$}
{
returns the XML declaration string used when exporting \ensuremath{\mathit{gm}}.
Default value is {\tt <?xml version="1.0"?>}.
     

}

\function{\ensuremath{\mathit{void}}}
{\ensuremath{\mathit{gm}\nspacedot.}set\nspaceunderscore\_xml\nspaceunderscore\_decl}
{\ensuremath{T\ \mathit{decl}}}
{
sets the XML declaration string to \ensuremath{\mathit{decl}}.
     

}

\function{\ensuremath{T\&}}
{\ensuremath{\mathit{gm}\nspacedot.}get\nspaceunderscore\_doctype\nspaceunderscore\_decl}
{$\,$}
{
returns the document type declaration inserted when exporting \ensuremath{\mathit{gm}} 
using XML Document Type Definition (DTD) for type specification.
Default value is {\tt http://graphml.graphdrawing.org/dtds/1.0rc/graphml.dtd}.
     

}

\function{\ensuremath{\mathit{void}}}
{\ensuremath{\mathit{gm}\nspacedot.}set\nspaceunderscore\_doctype\nspaceunderscore\_decl}
{\ensuremath{T\ \mathit{decl}}}
{
sets the document type declaration string to \ensuremath{\mathit{decl}}.
     

}

\function{\ensuremath{\mathit{const}\ T\&}}
{\ensuremath{\mathit{gm}\nspacedot.}get\nspaceunderscore\_schema\nspaceunderscore\_loc}
{$\,$}
{
   returns the value given to attribute {\tt schemaLocation} when 
   exporting \ensuremath{\mathit{gm}} using XML Schema for type specification.
   Default value is
   {\tt http://graphml.graphdrawing.org/xmlns/1.0rc graphml-structure-1.0rc.xsd}
     

}

\function{\ensuremath{\mathit{void}}}
{\ensuremath{\mathit{gm}\nspacedot.}set\nspaceunderscore\_schema\nspaceunderscore\_loc}
{\ensuremath{T\ \mathit{loc}}}
{
sets the XML Schema location string to \ensuremath{\mathit{loc}}.
     

}

\function{\ensuremath{\mathit{bool}}}
{\ensuremath{\mathit{gm}\nspacedot.}is\nspaceunderscore\_prefixed}
{$\,$}
{
    returns \ensuremath{\mathit{true}} if and only if the GraphML namespace prefix is
    not empty.
     

}

\function{\ensuremath{\mathit{const}\ T\&}}
{\ensuremath{\mathit{gm}\nspacedot.}get\nspaceunderscore\_graphml\nspaceunderscore\_prefix}
{$\,$}
{
    returns the GraphML namespace prefix used 
    with qualified GraphML element names.
     

}

\function{\ensuremath{\mathit{void}}}
{\ensuremath{\mathit{gm}\nspacedot.}set\nspaceunderscore\_graphml\nspaceunderscore\_prefix}
{\ensuremath{T\ \mathit{pfx}}}
{
sets the GraphML namespace prefix to \ensuremath{\mathit{pfx}} and updates all
qualified GraphML element names accordingly.
     

}

\function{\ensuremath{\mathit{const}\ T\&}}
{\ensuremath{\mathit{gm}\nspacedot.}get\nspaceunderscore\_xlink\nspaceunderscore\_prefix}
{$\,$}
{
    returns the XLink namespace prefix used with the XLink attributes
    of GraphML element {\tt <locator>}.
     

}

\function{\ensuremath{\mathit{void}}}
{\ensuremath{\mathit{gm}\nspacedot.}set\nspaceunderscore\_xlink\nspaceunderscore\_prefix}
{\ensuremath{T\ \mathit{pfx}}}
{
sets the XLink namespace prefix to \ensuremath{\mathit{pfx}}. 
     

}

\function{\ensuremath{\mathit{const}\ T\&}}
{\ensuremath{\mathit{gm}\nspacedot.}ns\nspaceunderscore\_uri}
{$\,$}
{
returns {\tt http://graphml.graphdrawing.org/xmlns/1.0rc}, i.e.\ the 
GraphML namespace URI of GraphML Version~1.0rc (on which this package
is based).
     

}


\headerline{local element names}
   



\function{\ensuremath{\mathit{const}\ T\&}}
{\ensuremath{\mathit{gm}\nspacedot.}graphml\nspaceunderscore\_ln}
{$\,$}
{
returns {\tt "graphml"}, i.e.\ the local name of GraphML element 
{\tt <graphml>}.
     

}


Methods 
\ensuremath{\mathit{desc\nspaceunderscore\_ln}},
\ensuremath{\mathit{key\nspaceunderscore\_ln}},
\ensuremath{\mathit{default\nspaceunderscore\_ln}},
\ensuremath{\mathit{data\nspaceunderscore\_ln}},
\ensuremath{\mathit{graph\nspaceunderscore\_ln}},
\ensuremath{\mathit{node\nspaceunderscore\_ln}},
\ensuremath{\mathit{port\nspaceunderscore\_ln}},
\ensuremath{\mathit{edge\nspaceunderscore\_ln}},
\ensuremath{\mathit{hyperedge\nspaceunderscore\_ln}},
\ensuremath{\mathit{endpoint\nspaceunderscore\_ln}}, and
\ensuremath{\mathit{locator\nspaceunderscore\_ln}} have the same meaning accordingly.
   




\headerline{qualified element names}
   



\function{\ensuremath{\mathit{const}\ T\&}}
{\ensuremath{\mathit{gm}\nspacedot.}graphml\nspaceunderscore\_qn}
{$\,$}
{
returns the qualified name of GraphML element {\tt <graphml>}.
     

}


Methods 
\ensuremath{\mathit{key\nspaceunderscore\_qn}},
\ensuremath{\mathit{default\nspaceunderscore\_qn}},
\ensuremath{\mathit{data\nspaceunderscore\_qn}},
\ensuremath{\mathit{graph\nspaceunderscore\_qn}},
\ensuremath{\mathit{node\nspaceunderscore\_qn}},
\ensuremath{\mathit{port\nspaceunderscore\_qn}},
\ensuremath{\mathit{edge\nspaceunderscore\_qn}},
\ensuremath{\mathit{hyperedge\nspaceunderscore\_qn}},
\ensuremath{\mathit{endpoint\nspaceunderscore\_qn}},
\ensuremath{\mathit{locator\nspaceunderscore\_qn}}, and
\ensuremath{\mathit{desc\nspaceunderscore\_qn}} have the same meaning accordingly.
   




\headerline{attribute names}
   



\function{\ensuremath{\mathit{const}\ T\&}}
{\ensuremath{\mathit{gm}\nspacedot.}key\nspaceunderscore\_id}
{$\,$}
{
returns {\tt "id"}, i.e.\  the name of the attribute that identifies
a GraphML element {\tt <key>}.
     

}


Methods
\ensuremath{\mathit{key\nspaceunderscore\_for}},
\ensuremath{\mathit{data\nspaceunderscore\_key}},
\ensuremath{\mathit{data\nspaceunderscore\_id}},
\ensuremath{\mathit{graph\nspaceunderscore\_edgedefault}},
\ensuremath{\mathit{node\nspaceunderscore\_id}},
\ensuremath{\mathit{port\nspaceunderscore\_name}},
\ensuremath{\mathit{edge\nspaceunderscore\_id}},
\ensuremath{\mathit{edge\nspaceunderscore\_default}},
\ensuremath{\mathit{edge\nspaceunderscore\_source}},
\ensuremath{\mathit{edge\nspaceunderscore\_target}},
\ensuremath{\mathit{edge\nspaceunderscore\_sourceport}},
\ensuremath{\mathit{edge\nspaceunderscore\_targetport}},
\ensuremath{\mathit{hyperedge\nspaceunderscore\_id}},
\ensuremath{\mathit{endpoint\nspaceunderscore\_id}},
\ensuremath{\mathit{endpoint\nspaceunderscore\_node}},
\ensuremath{\mathit{endpoint\nspaceunderscore\_port}}, and
\ensuremath{\mathit{endpoint\nspaceunderscore\_type}}
have the same meaning accordingly.
 



\function{\ensuremath{\mathit{const}\ T\&}}
{\ensuremath{\mathit{gm}\nspacedot.}locator\nspaceunderscore\_href\nspaceunderscore\_ln}
{$\,$}
{
returns {\tt "href"}, 
i.e.\ the \emph{local} attribute name for attribute {\tt href} 
of GraphML element {\tt <locator>}.
For a GraphML document to be valid, this attribute is prefixed with
the XLink prefix followed by a colon.
     

}

\function{\ensuremath{\mathit{const}\ T\&}}
{\ensuremath{\mathit{gm}\nspacedot.}locator\nspaceunderscore\_type\nspaceunderscore\_ln}
{$\,$}
{
returns {\tt "type"},
i.e.\ the \emph{local} attribute name for attribute {\tt type}
of GraphML element {\tt <locator>}.
For a GraphML document to be valid, this attribute is prefixed with
the XLink prefix followed by a colon.
     

}

\end{manual}


