Re: [xsl] Why is 'analyze-string' producing this weird output?

Subject: Re: [xsl] Why is 'analyze-string' producing this weird output?
From: "Graydon graydon@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 23 Aug 2023 13:50:27 -0000
On Wed, Aug 23, 2023 at 01:40:17PM -0000, Roger L Costello costello@xxxxxxxxx scripsit:
> I created several ENTITIES for use by my XSLT:
> 
> <!ENTITY section-num "[0-9]+(\.[0-9]+)+">
> <!ENTITY section-name "[A-Z][a-zA-Z /]+">
> <!ENTITY paren "\([^\)]+\)">
> 
> I use 'analyze-string' to break apart the input:
[snip]
> That produces this erroneous output:
> 
> <header>
>     <section-num>5.2</section-num>
>     <section-name>.2</section-name>
>     <abbreviated-name>Record Type</abbreviated-name>
> </header>
> 
> I am baffled why I am getting that output. 
> 
> What am I doing wrong, please?

Your regular expression has more than three capturing groups and
capturing groups inside other capturing groups are NOT ignored.  So
you're using incorrect references to groups.

It might be much simpler to tokenize your input on white space and test
the first two results for "is this a section num?" and "is this a
section name?" before putting everything after the first two back
together.

-- Graydon

-- 
Graydon Saunders  | graydonish@xxxxxxxxxxxx
^fs oferiode, pisses swa mfg.
-- Deor  ("That passed, so may this.")

Current Thread