Hello Constantine, Why don't you try it out on a smaller subset (for $a in (/csv/record/bib_rec_id[position() < 1000)?
My guess is the cast is faster, but when you try it you will now for sure. Cheers, Dirk On 03/04/14 17:32, Hondros, Constantine (ELS-AMS) wrote: > Hello all, > > I'm scanning millions of XML records imported from CSV looking for instances > of 'bib_rec_id' which are non-numeric. Which of these two is if-statements > likely to complete earlier? > > for $a in (/csv/record/bib_rec_id) > return > if ($a castable as xs:integer) then ... blah > > or > > if (matches($a, '^[0-9]+$')) then ... blah > > > Yes - I'm trying it out now, but I suspect it will be quicker to ask than > wait for either query to complete. > > TIA. > > ________________________________ > > Elsevier B.V. Registered Office: Radarweg 29, 1043 NX Amsterdam, The > Netherlands, Registration No. 33156677, Registered in The Netherlands. > > > > _______________________________________________ > BaseX-Talk mailing list > [email protected] > https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk > -- Dirk Kirsten, BaseX GmbH, http://basex.org |-- Firmensitz: Blarerstrasse 56, 78462 Konstanz |-- Registergericht Freiburg, HRB: 708285, Geschäftsführer: | Dr. Christian Grün, Dr. Alexander Holupirek, Michael Seiferle `-- Phone: 0049 7531 28 28 676, Fax: 0049 7531 20 05 22 _______________________________________________ BaseX-Talk mailing list [email protected] https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk

