Re: [xsl] recognize character entities

Subject: Re: [xsl] recognize character entities
From: Abel Online <>
Date: Thu, 31 Aug 2006 18:23:19 +0200
David Carlisle wrote:
*[not(matches(., '^[&#33;-&#591;]'))]
There's a slight but maybe tricky difference between this method and your original attempt. In the previous expression you did not provide for empty nodes. I'm not sure if it matters, but:

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

matches only those nodes that start with a special character, and does not match empty nodes, while:

*[not(matches(., '^[&#33;-&#591;]'))]

matches all noted that do not start with a special character. This will hold true for empty nodes as well. To mimic the original intent more closely, you need:

*[not(matches(., '^[&#33;-&#591;]|^$'))]

which will return true for all special characters and false for an empty node. (unless of course you do want to do something with empty nodes, but forgot about it in your original attempt ;)


Abel Braaksma

Current Thread