I am happy to be corrected. Cheers,
E. ---- Eliot Kimber, Owner Contrext, LLC http://contrext.com On 7/29/15, 10:42 AM, "Florent Georges" <fgeor...@gmail.com on behalf of li...@fgeorges.org> wrote: >Hi, > >That would base the type annotation on the lexical value. For >instance, the string '0' would be labelled as "integer" (given you >test for xs:integer before xs:string): > >let $var := '0' >return > if ( $var castable as xs:integer ) > then 'integer' > else if ( $var castable as xs:string ) > then 'string' > else > 'unknown type' >(: -> 'integer' :) > >The operator "instance of" would solve that problem. But then, for >that purpose, there is the "typeswitch" instruction: > >typeswitch ( '0' ) > case xs:integer return > 'integer' > case xs:string return > 'string' > default return > 'unknown type' >(: -> 'string' :) > >Regards, > >-- >Florent Georges >http://fgeorges.org/ >http://h2oconsulting.be/ > > >On 29 July 2015 at 17:34, Eliot Kimber <ekim...@contrext.com> wrote: >> I believe you need to use the "castable as" or "instance of" operators >>to >> determine the type, e.g.: >> >> let $typeName := >> if ($somevar castable as xs:integer) >> then 'integer' >> else if ($somevar castable as xs:string) >> then 'string' >> else 'unknown type' >> >> Or something close to that. There is also "instance of", which might be >> >> I also found this paper, which might be interesting: >> >> >>http://www.balisage.net/Proceedings/vol8/html/Holstege01/BalisageVol8-Hol >>st >> ege01.html >> >> Cheers, >> >> E. >> ---- >> Eliot Kimber, Owner >> Contrext, LLC >> http://contrext.com >> >> >> >> >> On 7/29/15, 9:54 AM, "Rob Stapper" >> <basex-talk-boun...@mailman.uni-konstanz.de on behalf of >> r.stap...@lijbrandt.nl> wrote: >> >>>Hello, >>> >>>I must be overlooking something, so excuses in advance, but: How can I >>>retrieve the datatype of a variable? >>> >>>TIA, >>>Rob Stapper >>> >>> >>> >>>________________________________________ >>> >>> >>> >>> >>> <https://www.avast.com/antivirus> >>> >>> >>> >>> Dit e-mailbericht is gecontroleerd op >>>virussen met Avast >>>antivirussoftware. >>> >>>www.avast.com <https://www.avast.com/antivirus> >>> >>> >>> >> >> >