Subject: Re: [xsl] xsl:analyze-string From: "M. David Peterson" <m.david@xxxxxxxxxx> Date: Mon, 02 Aug 2004 02:04:22 -0600 |
Problem:
I have xml looking like <record>19/08/1992 09:08 111938 500014.08b</record>
Of interest is the last field, the dos file name. Its general form is nnnnnn.nnA n=int, A =A-Z.
I can use the analyze-string to parse this (mostly), I'm missing a processing model to take care of exceptions.
E.g. xxx.01a is a particular (valid form). On occasions someone has misnamed the file xxx.ola using o instead of 0 letter l instead of 1.
I'm missing the nest of cases: My code is shown below. What's the logic to posively select all the known/valid combinations are exhausted? I want to add some form of error markup to identify these rogues.
Valid options include, for regex-group(5)
nnb nnm nnl nnf lab
TIA, regards DaveP
<xsl:template match="record"> <xsl:analyze-string select="." flags="i" regex= "([0-9]+/[0-9]+/[0-9]+) +([0-9]+:[0-9]+) +([0-9]+) +([0-9]+)\.([0-9a-z]+)" > <xsl:matching-substring> <file> <nm><xsl:value-of select="regex-group(4)"/></nm> <ext><xsl:value-of select="regex-group(5)"/></ext> <xsl:analyze-string select="regex-group(5)" flags="i" regex= "([0-9]{{1,2}})([a-z])"> <xsl:matching-substring> <vol><xsl:value-of select="regex-group(1)"/></vol> <type> <xsl:choose> <xsl:when test="regex-group(2) = 'b' or regex-group(2) = 'B'"> <xsl:text>braille</xsl:text> </xsl:when> <xsl:when test="regex-group(2) = 'm' or regex-group(2) = 'M'"> <xsl:text>Moon</xsl:text> </xsl:when> <xsl:when test="regex-group(2) = 'l' or regex-group(2) = 'L'"> <xsl:text>ATOD</xsl:text> </xsl:when> <xsl:when test="regex-group(2) = 'f' or regex-group(2) = 'F'"> <xsl:text>DiskFile</xsl:text> </xsl:when> <xsl:otherwise> <xsl:value-of select="."/> </xsl:otherwise> </xsl:choose> </type> </xsl:matching-substring> </xsl:analyze-string>
<xsl:if test="regex-group(5)='lab'"> <type>label</type> </xsl:if> </file> </xsl:matching-substring> </xsl:analyze-string> </xsl:template>
Regards DaveP.
**** snip here *****
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Phraser (was:xsl:analyze-, cking | Thread | RE: [xsl] xsl:analyze-string, Michael Kay |
Re: [xsl] xsl:analyze-string, M. David Peterson | Date | RE: [xsl] xsl:analyze-string, Michael Kay |
Month |