gexf icon indicating copy to clipboard operation
gexf copied to clipboard

xml version

Open duncdrum opened this issue 10 years ago • 5 comments

gexf 1.3 could change to xml 1.1. I think it should be the default, but we'll have to make sure that this doesn't interfere with xml1.0 dates e.g. when importing gexf1.2 graphs.

duncdrum avatar Dec 29 '15 13:12 duncdrum

Can you help me on that one? Does it impact the parser? We only read strings and do all dates parsing ourselves in the code, maybe it doesn't matter then...

mbastian avatar Jan 01 '16 19:01 mbastian

Sure. Unless you use a legacy parser all current parsers should support xml1.1. Which one do you use?

For the colours i used this: because I noticed that you defined everything as string.

<choice>
      <data type="hexBinary">
        <param name="length">3</param>
      </data>
      <data type="string">
        <param name="pattern">#[0-9a-fA-F]{6}</param>
      </data>
    </choice>

I don't understand why you stick to strings though? From my understanding using more specific datatypes in the schema should be more efficient for parsing large files, and also help to generate more meaningful validation errors?

duncdrum avatar Jan 02 '16 23:01 duncdrum

We're using Java's "javax.xml.stream" XMLStreamReader which is the state of the art. I think we can more strict on the datatypes it won't break our parser but I'm really not sure. For the rest, it's all legacy I frankly have no idea how this schemas came to life, @sheymann may know more as he created them.

mbastian avatar Jan 10 '16 11:01 mbastian

I see I used Xerces and Saxon to test my changes to the schema. So far all is good, but i haven't really checked for xml1.1 specific features. In the end going from one to the other is a simple search + replace operation. Since some users wanted it, I ll try to make it work, if it doesn't, we'll just stick to xml1.0. It turns out there are more xml1.0 strongholds then I anticipated. Especially for timezone support having the proper datatypes would make my live a bit easier. Does gephi validate at all during normal operations?

duncdrum avatar Jan 10 '16 12:01 duncdrum

No, we specifically disabled validation. I'm not sure exactly why but probably thought we should always try to read the gexf even with errors.

mbastian avatar Jan 10 '16 13:01 mbastian