← Prev in month ← Prev in thread

Schematron and apostrophes

From
Paul Spencer <>
To
Xml-Dev <>
Date
2007-01-18T17:46:52
ID
<>
Thread
Schematron and apostrophes
I have a rule in Schematron 1.5 to test for characters outside those allowed
in a text string (I have shortened the list of characters here):

<report test="@AddressFormat='BS7666' and
string-length(translate(add:*/add:Description,'?@%&apos;&amp;()*+,-. ',''))
&gt; 0">A BS7666 AON description must only contain the specified
characters</report>

The problem I have is with the &apos;. This is the result of the
transformation using skeleton1-5.xslt:

<xsl:if test="@AddressFormat='BS7666' and
string-length(translate(add:*/add:Description,'?@%'&amp;()*+,-. ','')) &gt;
0">

The problem is that the apostrophe entity has been resolved. I had wondered
whether I need to escape it again (&amp;apos;), but the ampersand entity is
not resolved, so this does not work either. Swapping the apostrophe and
quote delimiters does not help.

Any ideas to either fix the way I am doing this or for a different way to
achieve the same in Schematron? This rule will be used in several systems,
and I cannot control the application environment. As far as I know, everyone
is using MSXML, but whatever I end up with should not be XSLT-processor
dependent.

Regards

Paul Spencer
← Prev in month ← Prev in thread