On 2 June 2016 at 13:33, Costello, Roger L. costello@xxxxxxxxx <
xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> Hi Folks,
>
> I need an XPath expression that returns true if the <MI> element is empty
> or, if it's not empty, it contains an uppercase letter of the English
> alphabet followed by a period. For example, this <MI> element is good:
>
> <MI></MI>
>
> As is this:
>
> <MI>H.</MI>
>
> This XPath seems to work fine:
>
> if (MI eq '') then true()
> else if (exists(MI)) then matches(MI, '^[A-Z]\.$')
> else true()
>
> Is there a better (shorter, simpler, more robust) XPath expression?
>
> /Roger
>
you don't need the if tests, (you almost never need an if test returning
true()
just
MI='' or matches(string(MI), '^[A-Z]\.$')
or if you prefer
matches(string(MI), '^([A-Z]\.)?$')
David
|