[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Paul Spencer" <xml-dev-list@b...>
  • To: "Xml-Dev" <xml-dev@l...>
  • Date: Thu, 18 Jan 2007 17:46:52 -0000

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



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member