Schematron:issue with @subject

This should cover W3C XML Schema, Relax NG and DTD related problems.
Patrik
Posts: 280
Joined: Thu Nov 28, 2013 9:32 am
Location: Hamburg/Germany
Contact:

Schematron:issue with @subject

Post by Patrik »

Hi,

I have created the following simplified test case:

Code: Select all

<root>
<element1>
<child/>
</element1>
<element2/>
</root>

Code: Select all

<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
<sch:pattern>
<sch:rule context="root">
<sch:assert test="false()" subject="element2">Test1</sch:assert>
<sch:assert test="false()" subject="element1[1]/childxxx">Test2</sch:assert>
</sch:rule>
</sch:pattern>
</sch:schema>
When there exists only the second schematron check the error mesage will link with the context element "root" since the xpath within subject won't find anything - which is what I'd expect.
But when using the 1st assert as well the second error mesage will link to element2 (the subject from the previous rule) which seems to be a bug to me.

I noticed this behavior with oXygen 18.1.

Thanks and regards,
Patrik
tavy
Posts: 365
Joined: Thu Jul 01, 2004 12:29 pm

Re: Schematron:issue with @subject

Post by tavy »

Hi Patrik,

Yes, this seems to be a problem. The location of the context item should be used if the xpath value from the subject attribute won't find anything. I added an issue on out issue tracker for this.
Thanks for your feedback.

Best Regards,
Octavian
Octavian Nadolu
<oXygen/> XML Editor
http://www.oxygenxml.com
sorin_carbunaru
Posts: 402
Joined: Mon May 09, 2016 9:37 am

Re: Schematron:issue with @subject

Post by sorin_carbunaru »

Hello Patrik,

Just wanted to let you know that this issue has been fixed in oXygen 21, which was released on Friday.

All the best wishes,
Sorin Carbunaru
oXygen XML
Post Reply