Great, if you have any issues or questions, feel free to email here or directly. Or use the Git issue thing etc.
Whilst creating it I came up with a spin off that maybe we can discuss. I'll email you directly later. Cheers Ian. On 23 Jan 2017 23:21, "Svante Schubert" <[email protected]> wrote: > Hello Ian, > > Thank you very much for the pointer. > I have not seen the ODF Explorer before and it seems very worth to take a > deeper look into it. > During installation I have seen that you are using as well the > MultiSchemaValidator and I like the idea of using GraphViz together with a > browser front-end. > > As I said, definetly worth to take a closer look into it! > Thanks again for the pointer, Ian! > > Cheers, > Svante > ᐧ > > 2017-01-22 13:47 GMT+01:00 Ian C <[email protected]>: > > > Hi Svante, > > > > have you seen the ODF Explorer tool I created. > > > > Available from https://github.com/hammyau/ODFExplorer > > > > and http://hammyau.github.io/ODFExplorer/ tries to show some more how to > > use it. > > > > The tool there is wrapped in a nodejs web server. But doesn't really need > > to be, the underlying Java is standalone. > > > > Hope that helps. And if not please contact me directly I have been > playing > > around looking into ODF documents for a while now. > > > > And would love to get some feedback and extend the thing for a real user. > > > > Cheers, > > > > Ian > > > > > > > > On Sun, Jan 22, 2017 at 12:34 AM, Svante Schubert < > > [email protected] > > > wrote: > > > > > Hi guys, > > > > > > I need some feed-back of yours! > > > I would like to analyse the ODF XML schema a little more to create test > > > documents, which are valid variations of a certain ODF feature. > > > > > > Think of a paragraph. It is represented by the <text:p> element. > > > If ODF applications would like to have 'sufficient' test documents of > the > > > paragraph feature. How would they proceed? > > > Straight forward someone would generate a test document with none, one > or > > > some random number of generated paragraphs on root level. > > > > > > What else can we think of? Paragraphs being part of header & footer > come > > to > > > my mind. > > > Perhaps a paragraph within a cell? To generalize these cases - within > > > different ODF feature. > > > > > > But how do we know that we have tests for all type of variations? > > > The only possible way seems to me to take a look into the ODF schema. > > > > > > If you open the ODF 1.2 XML RelaxNG schema > > > <http://docs.oasis-open.org/office/v1.2/os/OpenDocument- > > v1.2-os-schema.rng> > > > in > > > an editor or viewer you may find one reference to the <text:p> element: > > > <define name="text-p"> > > > <element name="text:p"> > > > <ref name="paragraph-attrs"/> > > > <zeroOrMore> > > > <ref name="paragraph-content-or-hyperlink"/> > > > </zeroOrMore> > > > </element> > > > </define> > > > Which is used 19 times throughout the schema. > > > The question is: Are there 19 distinct feature scenarios to be tested? > > > > > > When you try to take a look at some of those occurences, you quickly > > > realize that it is very cumbersome to jump back in forth within the > text > > > file. > > > For this reason the Toolkit is generating an HTML file in one of his > > tests. > > > > > > After 'mvn install' on all sources you may find the follwing file > > > odftoolkit20170121/generator/schema2template/target/OdfReference.html > > > I have shared for ease of use at OdfReference.html via public dropbox > > > (1.8MB) <https://dl.dropboxusercontent.com/u/ > 49473263/OdfReference.html > > >. > > > > > > As you see that in the HTML the RelaxNG sequence and choice is yet > > missing. > > > The generator is not evaluating those, yet. > > > > > > If you are curious how this works: > > > The RelaxNG is being parse by using Sun Microsystems > MultiSchemaValidator > > > (MSV). A tool that is able to load DTD, W3C schema and RelaxNG into a > > > common internal model and use any of them for XML validation. > > > Our generator project is using MSV to create an internal model of the > ODF > > > 1.2 RelaxNG schema and create the typed source classes for the ODFDOM > > > project by filling data into templates from the Apache Velocity > project. > > > Basically text files with Java source code, which are accessing data > from > > > environment variabels like Java maps in our case the MSV model. > > > > > > Interesting in this context is the dump of the internal model that can > be > > > found at > > > odftoolkit20170121/generator/schema2template/target/odf12-msvtree.dump > > > Again I have shared it odf12-msvtree.dump via public dropbox (0.6MB) > > > <https://dl.dropboxusercontent.com/u/49473263/odf12-msvtree.dump>. > > > > > > So I would like to have some feed-back of you guys? > > > What are the possible ways to proceed on this task? > > > Is it feasable to load the model of the RelaxNG into a GraphDB to do > some > > > analysing. For instance, can a certain element be nested? > > > Also I would add metadata to elements which belong to a user feature. > > Like > > > all elements that belong to a table, or elements that are basically > just > > > boilerplate, such as <office:body>. > > > > > > What you think? Any experiences in this area by anyone? Any thoughts > are > > > welcome! > > > > > > All the best, > > > Svante > > > ᐧ > > > > > > > > > > > -- > > Cheers, > > > > Ian C > > >
