Subject: RE: [xsl] Basic template matching issues - I think? From: Liam R E Quin <liam@xxxxxx> Date: Tue, 20 Nov 2012 13:51:04 -0500 |
On Tue, 2012-11-20 at 17:55 +0000, An OldBloke wrote: > C:\>java -jar saxon9he.jar -o Result.xml text.xml regextime.xslt > Error at xsl:analyze-string on line 13 of regextime.xslt: > XTDE1140: Error in regular expression: net.sf.saxon.trans.XPathException: Error at > character 8 in regular expression "(\d{2})\/(\d{2})\/(\d{4}) (\d{...": invalid > escape sequence > Failed to compile stylesheet. 1 error detected. Character 8 in the expression would be the \ in \/ and indeed we find if we check the spec that \/ is not a valid sequence. Remember that \ introduces things that are special. If you want a / that is not special, just put a / there. It's necessary to escape / in ed, sed, vi, if you used / as the delimiter for the expression -- s/pattern/replacement with \/ in it/ but that does not apply in XSLT. The special characters in regular expressions *without* a / are [ ] ( ) { } + * ? ^ $ > > > I'm looking to re-format the time attribute to a datetime format - > from '12/11/2012 6:12:04 AM' to '2012-22-12T06:12:04' in this case. > Unless anyone knows a better way of re-formatting date/times? - I'm > open to ideas. Your result doesn't correspond to the input; I'm not sure how you get 2012-22-12 from 12/11/2012. Maybe you mean 22/12/2012. I'd watch for variants like 2/3/2012 by the way, so use \d{1,2} for the day and month (or month and day if the date might be in American format). So we get to (\d{{1,2}})/(\d{{1,2}})\/(\d{{4}}) (\d{{1,2}}):(\d{{2}}):(\d{{2}}) which may work. I'd use a variable to avoid having to double the braces: <xsl:variable name="datetime-regex" select="(\d{1,2})/(\d{1,2})\/(\d{4}) (\d{1,2}):(\d{2}):(\d{2})" /> <xsl:analyze-string select="Time" regex="{$datetime-regex}"> . . . Liam -- Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/ Pictures from old books: http://fromoldbooks.org/ Ankh: irc.sorcery.net irc.gnome.org freenode/#xml
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Basic template matching i, David Carlisle | Thread | [xsl] Pearls of XSLT and XPath 3.0 , Costello, Roger L. |
Re: [xsl] Basic template matching i, David Carlisle | Date | Re: [xsl] analyze-string gotcha/rem, Ihe Onwuka |
Month |