Uploaded image for project: 'ODF Toolkit'
  1. ODF Toolkit
  2. ODFTOOLKIT-458

Map the ODF XML RelaxNG schema into a GraphDB for Analysis

    XMLWordPrintableJSON

Details

    • Wish
    • Status: In Progress
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    Description

      PROBLEM
      The ODF XML (RelaxNG) schema is too big to easily read or be analysed by humans.
      In version ODF 1.2 it has 598 elements and 1300 attributes.

      SOLUTION
      Therefore I would love to load the ODF XML RelaxNG schema into a GraphDB (for instance Neo4J) and do some basic analysis (sanity checks) on it.
      For instance, I am curious on query questions as:
      a) is a certain ODF element able to become nested (e.g. <text: p>)
      b) is every ODF element with an ID allowed to exist more than once (this issue occurred)
      c) what is the minimum mandatory ODF XML document
      etc.

      These queries could help a lot to understand and test the XML schema.

      Certainly, I would love to have afterwards more tooling.
      For instance, to be able to add metadata to the nodes to categorise nodes (which are meant for metadata, styles, text container, which are just plain boilerplate (e.g. office:body)

      The idea is to improve the generation of ODFDOM source code to allow easier maintainability.

      DESIGN IDEA
      Instead of reading plain RelaxNG, I thought it might be a better idea to read already a 'normalised' document the dumped internal model from MSV. You may find the dump for each ODF version as test references from
      <ODFTOOLKIT_ROOT>/generator/schema2template/src/test/resources/examples/odf
      e.g. http://svn.apache.org/viewvc/incubator/odf/trunk/generator/schema2template/src/test/resources/examples/odf/odf12-msvtree.ref?revision=1167972&view=co

      NOTE:
      You may find more about the information on the dump and the MSV model in:
      <ODFTOOLKIT_ROOT>/generator/schema2template/src/main/java/schema2template/example/odf/OdfHelper.java
      and
      <ODFTOOLKIT_ROOT>/generator/schema2template/target/apidocs/index.html
      https://incubator.apache.org/odftoolkit/0.6.2-incubating/schema2template/

      I would love to have a discussion on further thoughts of yours on the list.

      Attachments

        1. edge.properties
          227 kB
          Svante Schubert
        2. vertex.properties
          439 kB
          Svante Schubert
        3. odf12-graph.xml
          4.06 MB
          Svante Schubert
        4. Gephi-GraphML-Odf-Table-View.png
          155 kB
          Svante Schubert
        5. table_table.graphml
          43 kB
          Svante Schubert

        Activity

          People

            svanteschubert Svante Schubert
            svanteschubert Svante Schubert
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: