<html>
 <head></head> 
 <body>
  <div style="background-color:white; width=100%;">
   <div>
    I hope this doesn't clash with the existing KML file format which can be read by Marble:
    <br />
    <br />
    <a href="https://en.m.wikipedia.org/wiki/Keyhole_Markup_Language" target="_top">https://en.m.wikipedia.org/wiki/Keyhole_Markup_Language</a>
    <br />
    <br />BR
    <br />Torsten
   </div>
   <div>
    <br />
    <br />
    <br />
    <hr />Gesendet mit der 
    <a href="https://kommunikationsdienste.t-online.de/redirects/email_app_android_sendmail_footer">Telekom Mail App</a>
   </div>
   <div>
    <br />
    <br />--- Original-Nachricht ---
    <br />
    <b>Von: </b>Shivam Balikondwar
    <br />
    <b>Betreff: </b>Season of KDE 2020 - ROCS IDE - Add File backends, Week : 1
    <br />
    <b>Datum: </b>21.01.2020, 12:49 Uhr
    <br />
    <b>An: </b>tcanabrava@kde.org, Caio Tonetti, kde-soc@kde.org
    <br />
    <br />
    <br />
   </div>
  </div>
  <div>
   <div>
    <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>
   </div>
  </div>
 </body>
</html>