после замены текста 'abc' на '-abc' с помощью быстрого исправления у меня все еще есть возможность заменить текст 'abc' на '-abc'.
Ввод XML:
<data>
<text>10abc and 20-abc</text>
<text>30abc test 40abc and 15-abc </text>
</data>
schematronкод:
<sch:pattern>
<sch:rule context="//text()">
<sch:report
test="contains(.,'abc ')"sqf:fix="group-fix">abc not allowed without hypen</sch:report>
<sqf:group id="group-fix">
<sqf:fix id="abc-fix" use-when="contains(current(),'abc')">
<sqf:description>
<sqf:title>replace</sqf:title>
</sqf:description>
<sqf:replace>
<xsl:analyze-string select="." regex="(\d+)abc\s">
<xsl:matching-substring><xsl:value-of select="regex-group(1)"/><xsl:value-of select="'-abc'"/><xsl:text> </xsl:text></xsl:matching-substring>
<xsl:non-matching-substring><xsl:value-of select="."/></xsl:non-matching-substring>
</xsl:analyze-string>
</sqf:replace>
</sqf:fix>
</sqf:group>
</sch:rule>
</sch:pattern>
почему я получаю возможность заменить 'abc' на '-abc' снова даже после того, как замена завершена? Может кто-нибудь сказать мне, что не так с кодом? Заранее спасибо