bmatzelle / nini

An uncommonly powerful .NET configuration library
Other
49 stars 25 forks source link

DTD and/or XML Schema (XSD) file for Nini? [Priority: very, very low] #9

Open GwynethLlewelyn opened 1 year ago

GwynethLlewelyn commented 1 year ago

Hi there!

I have absolutely no idea if this library is still being maintained or not, so bear with me...

I've stumbled across Nini inside the source code of an 'old' project, OpenSimulator ā€” started around 2007 and with continued ongoing development to this day ā€” where most (if not all) configuration files are, in a way or another, formatted using Nini's XML, since that's the ubiquitously used library in many of its subsystems and tools, very likely because, well, there was nothing else available back then šŸ˜…

In order to parse all those XML configuration files, I'd love to know if there was ever an officially developed DTD, or, even better, a XML Schema, which could be used for validation purposes. I'm aware that the format is reasonably simple and straightforward (therefore it should be even easier to parse with a DTD/XSD!); nevertheless, going through the source code here, I couldn't find a reference to any such file.

I'm just asking!... obviously, I can try to write my own DTD from scratch (and with a little patience, even the XSD...), but, of course, if there were an official source for such a document, it could be simply placed as a link to be fetched during validation...

Thanks in advance for any insights! And remember: this is a very low priority 'request', I'm not expecting an answer 'soon'.

bmatzelle commented 1 year ago

The XML format is so simple (key/value pair) that I didn't even consider creating a DTD for it.

GwynethLlewelyn commented 1 year ago

Oh I totally agree with the format's simplicity :) To be honest, it's mostly to satisfy my code editor, which complains about the lack of schemata and/or DTDs :)

And, of course, if it already existed, I didn't need to do any work in producing it ā€” so, before wasting time, I thought to ask first ;-)