Subject: [xsl] Why is 'analyze-string' producing this weird output? From: "Roger L Costello costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 23 Aug 2023 13:40:04 -0000 |
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] Got it working (using Sax, Christophe Marchand | Thread | Re: [xsl] Why is 'analyze-string' p, David Carlisle d.p.c |
Re: [xsl] xslt create a variable fr, LEGAULT, PHILLIP ple | Date | Re: [xsl] Why is 'analyze-string' p, David Carlisle d.p.c |
Month |