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

  • From: Bjoern Hoehrmann <derhoermi@g...>
  • To: "Paul Spencer" <xml-dev-list@b...>
  • Date: Thu, 18 Jan 2007 19:08:09 +0100

* Paul Spencer wrote:
>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.

Well, that should help unless you are trying to use both ' and " in the
string. If you need that, you have to use concat(...) or a variable. I'd
think you can use <sch:param name='apos' value='&apos;' ... or so and
then use $apos in the expression.
-- 
Björn Höhrmann · mailto:bjoern@h... · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ 


[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