Page 1 of 1

Error transforming ODD spec to rnc or rng

Posted: Wed Jan 18, 2017 8:58 pm
by sderrick
I have a ODD specification for our schema and have been using Oxygen's built in schema transformation scenerios TEI ODD to RelaxNG XML and to RelaxNG Compact to generate our schema files.

I tried to run the scenario on our ODD file and I am getting an error and there are errors in the generated schema files. The ODD file has not changed since I last successfully generated the schema files.

The error is
System ID: /home/scott/Oxygen XML Editor 18-1/frameworks/tei/xml/tei/stylesheet/odds/teiodds.xsl
Scenario: TEI ODD XHTML
XML file: /home/scott/workspace/mbel-work/schemas/mbel.odd
XSL file: /home/scott/Oxygen XML Editor 18-1/frameworks/tei/xml/tei/stylesheet/odds/odd2odd.xsl
Document type: TEI ODD
Engine name: Saxon-PE 9.6.0.7
Severity: fatal
Description: XTTE0570: An empty sequence is not allowed as the value of variable $max
Start location: 2265:0
URL: http://www.w3.org/TR/xslt20/#err-XTTE0570
The error in the rnc file is
conflicting ID-types for attribute "id" from namespace "http://www.w3.org/XML/1998/namespace" of element "benediction" from namespace "http://mbelibrary.org/ns1"
and this is indicated as where the error is in the rnc file

Code: Select all


mbel_macro.anyXML =
element * - (tei:* | teix:egXML) {
attribute * { text }*,
(text | mbel_macro.anyXML)*
}
this is what that looks like in the last time I generated the rnc with no error.

Code: Select all

mbel_macro.anyXML =
element * - (ns3:* | egXML) {
attribute * { text }*,
(text | mbel_macro.anyXML)*
}
it just doesn't make sense that I'm having errors now with a source ODD file that has not changed?

Scott

Re: Error transforming ODD spec to rnc or rng

Posted: Wed Jan 18, 2017 9:08 pm
by sderrick
I fired up an older version of the editor, 17.0 and it transforms the ODD file fine.

Not a perfect solution but it keeps me going.

Scott

Re: Error transforming ODD spec to rnc or rng

Posted: Fri Jan 20, 2017 3:42 pm
by alex_jitianu
Hi Scott,
XTTE0570: An empty sequence is not allowed as the value of variable $max
I've noticed this error myself and logged an issue on the TEI C/Stylesheets project: https://github.com/TEIC/Stylesheets/issues/190 . What's interesting is that in my case it appeared when I ran the transformation using Saxon 9.7. I see that you are using Oxygen 18.1 which comes bundled with Saxon 9.6 so perhaps you found a situation in which the problem reproduces with 9.6 too.

Are you using the TEI framework that comes with Oxygen? If you do, then you could install the latest TEI framework packed by TEI itself which contains the latest released XSLTs (in which the problem was solved).
conflicting ID-types for attribute "id" from namespace "http://www.w3.org/XML/1998/namespace" of element "benediction" from namespace "http://mbelibrary.org/ns1"
Perhaps you could post this issue on TEIC/Stylesheet? The stylesheets that generate this RNC are developed there so chances are they will know more about it.
it just doesn't make sense that I'm having errors now with a source ODD file that has not changed?
Oxygen 17 comes with an older version of TEI stylesheets. Oxygen 18.1 has a newer version of the stylesheets so that's why the different behavior for the same ODD.

Best regards,
Alex

Re: Error transforming ODD spec to rnc or rng

Posted: Fri Jan 20, 2017 6:55 pm
by sderrick
Alex,
thanks for posting that I'm not alone. misery loves company!

I am using a customized tei schema, downloaded from the TEI website and our customization's added to the odd file. I was making a small change when I noticed the error.

I will post the error to the list you mentioned.

thanks, scott

Re: Error transforming ODD spec to rnc or rng

Posted: Fri Mar 17, 2017 6:29 pm
by sderrick
This issue is still happening. Had to make a change to our schema. Modified the ODD file, compiled with 18.1 and there is an error in the .rnc file. Compiled with version 17, no problem.

Scott

Re: Error transforming ODD spec to rnc or rng

Posted: Fri Mar 17, 2017 7:59 pm
by sderrick
I forgot to include I'm using build <oXygen/> XML Editor 18.1, build 2017020917, which I think is the latest release.

The error is
System ID: /home/scott/Oxygen XML Editor 18-1a/frameworks/tei/xml/tei/stylesheet/odds/teiodds.xsl
Scenario: TEI ODD XHTML
XML file: /home/scott/workspace/mbel-work/schemas/mbel.odd
XSL file: /home/scott/Oxygen XML Editor 18-1a/frameworks/tei/xml/tei/stylesheet/odds/odd2odd.xsl
Document type: TEI ODD
Engine name: Saxon-PE 9.6.0.7
Severity: fatal
Description: XTTE0570: An empty sequence is not allowed as the value of variable $max
Start location: 2265:0
URL: http://www.w3.org/TR/xslt20/#err-XTTE0570

Re: Error transforming ODD spec to rnc or rng

Posted: Mon Mar 20, 2017 11:39 am
by Radu
Hi,

We do not have control over how the TEI project builds their XSLTs.
Oxygen 19.0 which we plan to release in about 2-3 weeks will come with the newest TEI 3.1.0 XSLTs bundled. So maybe this will fix the problem. I'm not sure because we would need a sample (email support@oxygenxml.com) to test this on our side. If we can reproduce the problem on our side we could add an issue on the TEI GitHub issues list and maybe propose a workaround.
You can also separately download the TEI 3.1.0 XSLTs from the TEI website and use them to convert the ODD, see if it works better for you.

Regards,
Radu

Re: Error transforming ODD spec to rnc or rng

Posted: Tue Mar 21, 2017 8:21 pm
by sderrick
I updated the tei framework as described here http://blogs.it.ox.ac.uk/jamesc/2014/04 ... in-oxygen/ and all is well!!!