[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Basic template matching issues - I think?
Subject: Re: Basic template matching issues - I think?
From: Ruud Grosmann <r.grosmann@xxxxxx>
Date: Tue, 20 Nov 2012 13:35:45 +0100
|
On 11/20/12 13:28, An OldBloke wrote:
I'm getting the following error trying to integrate regex into a transform that previously used concat and string searching as it's much more flexible.
The error is:-
C:\>java -jar saxon9he.jar -o Result.xml text.xml regextime.xslt
Error on line 22 column 5 of regextime.xslt:
SXXP0003: Error reported by XML parser: The value of attribute "select" associated with an
element type "null" must not contain the '<' character.
Failed to compile stylesheet. 1 error detected.
I just can't see what I've done wrong, so am hoping you kind folks can put me on the (x)path again.
XML file:
<Log Device="SERVER1">
<myCommand Command="test" Time="12/11/2012 11:12:04 AM" Port="9999" IP="1.1.1.1">
<Struct>
<OUTID>SERVER2</OUTID>
<INID>SERVER3</INID>
<test>
<item>2</item>
<GUID>21EC2020-3AEA-1069-A2DD-08002B30309D</GUID>
<status>OK</status>
</test>
</Struct>
</myCommand>
</Log>
xsl Transform:
<?xml version="1.0"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" name="TextFormat" omit-xml-declaration="yes"/>
<xsl:template match="Log">
<xsl:apply-templates select="myCommand"/>
</xsl:template>
<xsl:template match="myCommand">
<nomCommand>
<xsl:element name="Command"><xsl:value-of select="@Command"/></xsl:element>
<xsl:template match="Time">
<xsl:analyze-string select="@Time" regex="(\d{2})\/(\d{2})\/(\d{4}) (\d{1,2}):(\d{2}):(\d{2})">
<xsl:matching-substring>
<xsl:value-of select="concat(string(number(regex-group(3))), '-',
string(number(regex-group(2))), '-',
string(number(regex-group(1))), 'T',
format-number(regex-group(4), '00'), ':',
regex-group(5), ':',
regex-group(6) />
</xsl:matching-substring>
</xsl:analyze-string>
</xsl:Template>
<xsl:element name="Port"><xsl:value-of select="@Port"/></xsl:element>
</nomCommand>
</xsl:template>
</xsl:stylesheet>
hi Neil,
you forgot to close the select attribute with a double quote.
regards, Ruud
|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
RSS 2.0 |
|
Atom 0.3 |
|
|