Hi all,
I want to do the following:
<xsl:value-of select=“regexp:match($Address, ‘(?<=[0-9]{4}\s*).*$’)”/>
I use a pattern matcher class as an extension function in Saxon. Works fine, with one problem: Perl5 regular expression syntax uses (?<= … ) for a zero-width positive lookbehind assertion. Passing the < as it is, results in
javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: attribute values may not contain ‘<’
which I understand, but replacing the offending ‘<’ by < passes the entity unprocessed to the java method.
Seems I missed something - how to use a literal ‘<’ in an attribute value, especially if that attribute is a method call within a xsl:value-of select attribute?