Writing SIF XML DTD…

In order to help SIF file format documentation, I started to write a XML DTD.

It would be useful also to validate SIF :slight_smile:
Linux command line:
$ xmllint --noout --dtdvalid synfig.dtd test.sif

It is still waaay incomplete and probably has mistakes.

Anyway, if someone wants to help, here it is:

synfig-dtd.zip (518 Bytes)


I’m back to it.

It’s ‘almost’ complete now.

  • There is one error: there’s no element called “value_node”. Actually, it should list all value_node names like (animated|subtract|…)
  • It’s missing a lot of value node elements :wink: But that’s a lot of (more) work to do, and I’m tired now.
    All missing ones are LinkableValueNode, and it may have its links/parameters as attributes (if ValueBase) or as child nodes (if ValueNode)
  • It’s messy. I need an idea how to organize it… Simply by sorting all elements in a alphabetical ordering?

I make it available via Google Docs…

1 Like

Maybe I should have used XSD schema… but I didn’t know it until yesterday lol

In the end, I decide to first make a textual description/documentation.

It’s a Work In Progress, but I’d like some feedback here.
Preview: https://synfig-docs-dev--79.org.readthedocs.build/en/79/common/sif_file_format.html


Bravo for all this work :slight_smile:
As it is a WiP, may I suggest to use tables for display the information?
It would permit to make it less long, more compact and easier to read :stuck_out_tongue:

Any suggestion about the table layout?

Btw, I tried to follow the SVG 2.0 specs style here.

Well, I think I finished it. Finally.

1 Like

Now it’s easier to create a DTD, XSD or even python, javascript, ruby libraries or plugins lol
Or rewrite it to a better format :stuck_out_tongue:

By ‘easier’ I mean easier than reading the source code, at least.