|
Subject: Re: [xsl] Why is 'analyze-string' producing this weird output? From: "David Carlisle d.p.carlisle@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 23 Aug 2023 13:46:14 -0000 |
arrg as I said entities is confusing..
<!ENTITY section-num "[0-9]+(\.[0-9]+)+">
^^^ group 2 not group 1
On Wed, 23 Aug 2023 at 14:44, David Carlisle <d.p.carlisle@xxxxxxxxx> wrote:
> Your group counting is off (using entities is not helping:-)
>
> <!ENTITY section-num "[0-9]+(\.[0-9]+)+">
> ^^^1
> <!ENTITY section-name "[A-Z][a-zA-Z /]+">
> <!ENTITY paren "\([^\)]+\)">
> I use 'analyze-string' to break apart the input:
>
> <xsl:analyze-string select="$line" regex="^(§ion-num;)
> (§ion-name;) (&paren;)$">
>
>
> ^^^1 ^^^3 ^^^4
>
>
> David
>
>
>
>
> On Wed, 23 Aug 2023 at 14:40, Roger L Costello costello@xxxxxxxxx <
> xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
>> Hi Folks,
>>
>> I'm baffled.
>>
>> Here is a sample input line:
>>
>> 5.2 Record Type (S/T)
>>
>> The first part -- 5.2 -- is the 'section number'.
>>
>> The second part -- Record Type -- is the 'section name'.
>>
>> The third part -- (S/T) -- is the 'abbreviated name'.
>>
>> I want the XSLT to generate this:
>>
>> <header>
>> <section-num>5.2</section-num>
>> <section-name>Record Type</section-name>
>> <abbreviated-name>(S/T)</abbreviated-name>
>> </header>
>>
>> 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:
>>
>> <xsl:analyze-string select="$line" regex="^(§ion-num;)
>> (§ion-name;) (&paren;)$">
>> <xsl:matching-substring>
>> <header>
>> <section-num><xsl:value-of
>> select="regex-group(1)"/></section-num>
>> <section-name><xsl:value-of
>> select="regex-group(2)"/></section-name>
>> <abbreviated-name><xsl:value-of
>> select="regex-group(3)"/></abbreviated-name>
>> </header>
>> </xsl:matching-substring>
>> </xsl:analyze-string>
>>
>> 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?
>>
>> /Roger
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Why is 'analyze-string' p, Roger L Costello cos | Thread | Re: [xsl] Why is 'analyze-string' p, Graydon graydon@xxxx |
| Re: [xsl] Why is 'analyze-string' p, David Carlisle d.p.c | Date | Re: [xsl] Why is 'analyze-string' p, Graydon graydon@xxxx |
| Month |