Page 1 of 1

RNG validation in oXygen 11

Posted: Fri Nov 06, 2009 6:17 am
by madde001
Hi George et al,

I just noticed a validation behavior in version 11 that strikes me as different from in the past. I'm wondering if I'm hallucinating.

I have a RNG schema like this:

<grammar
xmlns="http://relaxng.org/ns/structure/1.0">
<start>
<element name="root">
<element name="child">
<value>xyz</value>
</element>
</element>
</start>
</grammar>

I create a partial instance like this:

<root>

</root>

I would expect to get a red light, since I am missing required content. But instead I get a green light. What is going on?

John

Re: RNG validation in oXygen 11

Posted: Fri Nov 06, 2009 8:39 am
by george
Hi John,

Trying this but as expected oXygen gives me

Code: Select all


SystemID: /Users/george/test/test.xml
Engine name: Jing
Severity: error
Description: element "root" incomplete; missing required element "child"
Start location: 5:8
Please note that Jing has a property exposed in the oXygen options that makes the validation check if the document is "feasibly valid", that means it can reach a valid state by adding content or markup. When this option is set Jing makes all the patterns optional and then performs the validation. If I enable that then of course I get no validation errors because the document will become valid by adding a child element. So, make sure you have the "Check feasibly valid" option disabled from Options->Preferences -- XML -- XML Parser page in the Relax NG group. You will need to use "Reset cache and validate" first time or reopen the XML file in order to have the new option applied when you perform the validation.

I included my test files below, I added a schema association on the XML file:

test.xml

Code: Select all


<?xml version="1.0" encoding="UTF-8"?>
<?oxygen RNGSchema="test.rng" type="xml"?>
<root>

</root>
test.rng

Code: Select all


<grammar
xmlns="http://relaxng.org/ns/structure/1.0">
<start>
<element name="root">
<element name="child">
<value>xyz</value>
</element>
</element>
</start>
</grammar>
Best Regards,
George

Re: RNG validation in oXygen 11

Posted: Fri Nov 06, 2009 4:20 pm
by madde001
Thanks, George. That was it. When I installed the upgrade, I must have selected "check feasibly valid" in Preferences. (I never until now knew what that meant, so I learned something here.)

Also, the change in Jing did not take effect until I did a "Reset cache and validate" action, so I guess I overlooked it when I previously tried fiddling blindly with Preferences.

John