ph-schematron
ph-schematron copied to clipboard
Rule is fired even if context was matched by a previous rule
Using the following Schematron:
<sch:schema>
<sch:pattern>
<sch:rule context="element">
<sch:assert test="true()"/>
</sch:rule>
<sch:rule context="*">
<sch:assert test="false()"/>
</sch:rule>
</sch:pattern>
</sch:schema>
And the following document:
<?pi Processing instruction ?>
<element attribute="value">
<!-- Comment -->
<element>Text content</element>
</element>
I expect the second rule not to fire. But it does:
<?xml version="1.0" encoding="UTF-8"?>
<schematron-output xmlns="http://purl.oclc.org/dsdl/svrl">
<active-pattern/>
<fired-rule context="//element"/>
<fired-rule context="//*"/>
<failed-assert location="/element" test="false()">
<text/>
</failed-assert>
<failed-assert location="/element/element" test="false()">
<text/>
</failed-assert>
</schematron-output>
This was discovered with running ph-schematron 5.2.0 against a in-progress schematron testsuite. The complete test results are shown here.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.