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 |