|
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 |