<div dir="ltr"><br>Hi there, Shivam here<br>I did research on KML file format , i am working to add support to import and export graphs in KML format. <br>This is a short explanation of my understanding, I request Caio and Tomaz to go through it and help me finalize the grammer for this parser.<br><br>KML is an easy to interpret file format written in the form of nested html like tags "<>". The attributes( values ) are in the <> </> tag present which can be parsed by spirit parser. <br>In the past week I did research and studied the spirit boost library.<br>I have become familiar with both the parser and generator (qi and karma)<br>qi's API , skipper function. Also how the current implementation of rocs uses this library to parse the files.<br><br>Long story short, i think this grammar definition might be enough for importing/exporting graph.<br><br><Graph>   : tells the nested tags will contain, graph nodes, edges etc<br>  <id>        :  can be a number, name , etc symbol denoting graph<br>  <type>    : digraph(directional), graph specifying the type of graph <br><Node>    :  each node present inside the graph<br>  <id>        : a visual id for the node, can be name or digit<br>  <unq id> : a unique id to be used later in joining edges.<br>  <color>  : node color<br>  <style>   : just a generalised definition for all the less required attributes like text size, etc<br><Edge>    : contains all the edges and shows how they are interconnected<br>  <Nodes>: a comma seperated parameter which will speficy the two nodes connect.<br>In case of directed graph the parser will assume it to be first points to the second. Eg: for a and b nodes it will be as a,b and when its directed it will be as a,b but interpreted as a->b <br>  <color> : color of the edge<br>  <wieght> : wieght of the edge<br>  <style>  : other less important attributes.<br><br>An example <br><br><Graph><br><Node><br><id>A</id><br><color> blue </color><br></Node><br><Node><br><id>B</id><br><color> blue </color><br></Node><br><Node><br><id>C</id<br><color> blue </color><br></Node><br><Edge><br><color> <br><connect><br>A,B<br></connect><br>blue<br></color><br></Edge><br></Graph><br> <br>This above parser can be realised using spirit boost library as used in rocs/libgraphtheory/fileformats/grammer files <br><br>Looking forward for everyone's reply on what changes are required.<br></div>