xsl-list
[Top] [All Lists]

Re: [xsl] recognize character entities

2006-08-31 12:10:47
On 8/31/06, David Carlisle <davidc(_at_)nag(_dot_)co(_dot_)uk> wrote:

> strange is that the matches() regex allows only decimal values as
> range 592 represents here hex 0250

The regex syntax doesn't allow any numeric references in decimal or hex.
You have to use a character. However before being passed to XPath, teh
attribute is parsed by an XML parser so you can use any XML syntax for
that character, named entity references (as defined in a dtd) teh
character in the file's encoding,  decimal character references (as you
have) or hex character references, which would use the & # x 0 2 5 0 ;
syntax.

 match="*[matches(substing(text()[1], 1, 1), '[&#592;-&#99999;]')]">

It's probably simpler to just restrict the regex to the first character,
rather than use substring:


 match="*[matches(., '^[&#592;-&#99999;]')]">

Sorry I've joined this thread late, but if you want to check if a
character is within a certain range there's always
string-to-codepoints() .... it may well be faster.

cheers
andrew

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--