Menu

#114 NOT making changes actually CAUSES changes in customization

ROMA
open
5
2012-09-15
2009-07-20
No

Relevant version string:

"This is Roma version 3.12, last updated 2009-07-13. Using TEI P5 version 1.4.1. Last updated on July 1st 2009."

(Note that the bug was also happening on the version of Roma released just before this one. Travel prevented me from releasing the bug report before the new version was released.)

Introduction

This is a complicated bug. I'm going to provide a summary. However, the steps to reproduce the bug are many so I've made a desktop recording which I'm hosting here:

http://lddubeau.com/downloads/tei-bug-20090720.ogv

I would have attached the recording to this bug report but SourceForge does not accept large attachments.

Summary

Basically, it appears that just navigating the GUI *without requesting changes* causes Roma to still make some changes to the customization behind the scenes. In the following description, the user creates an initial schema and then inspects elements and attributes without requesting changes. In the following description, all the saved files are attached to this bug report in a zip file called myTEI.zip

1. The user creates a customization from a minimal schema. He adds the "test" element and adds to this element the "test1" attribute. He saves the rnc as myTEI-1.rnc and the customization as myTEI-1.xml. Up to this point everything is normal.

2. The user then goes back to check on the "test" element and clicks "Save" WITHOUT actually making any changes. When he returns to the "Schema" tab, he is greeted with the following error message:

Your schema is not valid!!

DOMDocument::relaxNGValidate() [function.DOMDocument-relaxNGValidate]: Did not expect element classes there
DOMDocument::relaxNGValidate() [function.DOMDocument-relaxNGValidate]: Element elementSpec has extra content: classes
DOMDocument::relaxNGValidate() [function.DOMDocument-relaxNGValidate]: Element moduleRef has wrong namespace: expecting http://www.ascc.net/xml/schematron
DOMDocument::relaxNGValidate() [function.DOMDocument-relaxNGValidate]: Element schemaSpec has extra content: moduleRef
DOMDocument::relaxNGValidate() [function.DOMDocument-relaxNGValidate]: Element TEI failed to validate content

He saves the rnc as myTEI-2.rnc and the customization as myTEI-2.xml. Note here that, upon cursory inspection, myTEI-2.rnc seems to be valid.

3. The user then goes back to check on the "test1" attribute of the "test" element. When presented with the list of attributes, he clicks "Save" WITHOUT actually making any changes. When he returns to the "Schema" tab, the error message remains the same. He saves the rnc as myTEI-3.rnc and the customization as myTEI-3.xml.

Observations

1. It appears that the difference between myTEI-1.xml and myTEI-2.xml is the location of the <attList> element. This is clearly visible when using ediff to compare the two files.

2. It appears that the difference between myTEI-2.xml and myTEI-3.xml is that the "mode" attribute on the definition of the "test1" attribute goes from "add" to "change". Again, ediff shows this clearly.

3. There is no significant difference between myTEI-1.rnc and myTEI-2.rnc. (Only a timestamp changes.)

4. myTEI-3.rnc differs from the two other rnc files in that the "test1" attribute is missing. This is probably related to observation 2 above.

5. Going to the "Sanity Checker" tab to check the schema does not result in any significant error message. The checker always say "Schema is CORRECT!", no matter whether it is checking myTEI-1.rnc, myTEI-2.rnc or myTEI-3.rnc.

Discussion

  • Louis-Dominique Dubeau

    zip archive of the files mentioned in this report

     
  • Sebastian Rahtz

    Sebastian Rahtz - 2010-07-06
    • milestone: --> 871212
     
  • Sebastian Rahtz

    Sebastian Rahtz - 2010-07-06

    I am sorry I have not been able to find time to look at this. I am flagging it RED to show that the ticket is at risk

     
  • Lou Burnard

    Lou Burnard - 2012-09-15
    • milestone: 871212 --> ROMA