Many thanks to Jirka and Peter for their replies, which precisely identified the problem with my ODD's Schematron rules testing sequences of values. Jirka, thanks also for explaining why the error messages seemed so random! I've implemented the changes each of you suggested and the schema is validating properly now.

Cheers,
Elisa

On Thu, May 16, 2019 at 5:24 AM Jirka Kosek <jirka@kosek.cz> wrote:
On 16.5.2019 8:38, Elisa Beshero-Bondar wrote:
> Engine name ISO Schematron
> Start location line: 4996, column: 0

Hi Elisa,

I suppose that oXygen points you to a wrong location as internaly it has
to extract Schematron from RELAX NG file, then compile it to XSLT and
then finally XSLT is run over your XML. oXygen probably can't track
error from XSLT back to Schematron and then back to RELAX NG file (it
would be very hard to do so.)

Problem is in few of your expressions. If you change

<sch:report role="info" test="$backRefs">
to
<sch:report role="info" test="not(empty($backRefs))">

<sch:report role="info" test="$backRefs and not($siRefs)">
to
<sch:report role="info" test="not(empty($backRefs)) and empty($siRefs)">

<sch:report role="warning" test="not($backRefs) and not($siRefs)">
to
<sch:report role="warning" test="empty($backRefs) and empty($siRefs)">

ie. using empty() to check for empty sequence, your validation should be
working again.

                                        Jirka

--
------------------------------------------------------------------
  Jirka Kosek      e-mail: jirka@kosek.cz      http://xmlguru.cz
------------------------------------------------------------------
     Professional XML and Web consulting and training services
DocBook/DITA customization, custom XSLT/XSL-FO document processing
------------------------------------------------------------------
    Bringing you XML Prague conference    http://xmlprague.cz
------------------------------------------------------------------



--
Elisa Beshero-Bondar, PhD
Associate Professor of English
University of Pittsburgh at Greensburg
Humanities Division
150 Finoli Drive
Greensburg, PA  15601  USA
E-mail: ebb8@pitt.edu