Schematron Validation. Unknown system function: matches
Posted: Mon Nov 28, 2022 7:57 pm
Hi Team,
i configured custom xml schema associated for xml. under validation tab i create new entry with custom schamatron file. While running validation i got below errors. schmatron validation is using xerces engine. I tried with default engine but still the same error.
Rule: <iso:rule context="jd:footnote.reference">
<iso:assert test="@refid = //jd:footnote/@ID">{ES1042} Footnote.reference exists without corresponding footnote.The footnoteref element with ID <iso:value-of select="@refid"/> does not correspond to a footnote</iso:assert>
<iso:report test="matches(., '\s')">{WS1042} Footnote.reference contains a space</iso:report>
</iso:rule>
Error: "Error in expression matches(., '\s'): Unknown system function: matches" Rule: <iso:rule context="//jd:csc|//jd:bold|//jd:ital|//jd:underscore">
<!-- .. is used to get the parent text including the text in specified context -->
<iso:let name="preceding" value="string-join(preceding-sibling::* | preceding-sibling::text(), '')" />
<iso:let name="following" value="string-join(following-sibling::* | following-sibling::text(), '')" />
Error: "Error in expression string-join (preceding-sibling::* | preceding-sibling::text (), ''): Unknown system function: string-join"
i configured custom xml schema associated for xml. under validation tab i create new entry with custom schamatron file. While running validation i got below errors. schmatron validation is using xerces engine. I tried with default engine but still the same error.
Rule: <iso:rule context="jd:footnote.reference">
<iso:assert test="@refid = //jd:footnote/@ID">{ES1042} Footnote.reference exists without corresponding footnote.The footnoteref element with ID <iso:value-of select="@refid"/> does not correspond to a footnote</iso:assert>
<iso:report test="matches(., '\s')">{WS1042} Footnote.reference contains a space</iso:report>
</iso:rule>
Error: "Error in expression matches(., '\s'): Unknown system function: matches" Rule: <iso:rule context="//jd:csc|//jd:bold|//jd:ital|//jd:underscore">
<!-- .. is used to get the parent text including the text in specified context -->
<iso:let name="preceding" value="string-join(preceding-sibling::* | preceding-sibling::text(), '')" />
<iso:let name="following" value="string-join(following-sibling::* | following-sibling::text(), '')" />
Error: "Error in expression string-join (preceding-sibling::* | preceding-sibling::text (), ''): Unknown system function: string-join"