Output Module
Revision as of 14:56, 15 February 2011 by Leonard.woerteler (talk  contribs)
This module contains auxiliary XQuery Functions, which can be used for testing and profiling the code. All functions are preceded by the util:
prefix.
util:eval
Signatures  util:eval($expr as xs:string) as item()* 
Summary  Evaluates the argument at runtime. 
Rules  This function dynamically evaluates $expr as XQuery expression and returns the resulting items. 
Examples  The expression util:eval("1+3") returns 4 . 
util:run
Signatures  util:run($input as xs:string) as item()* 
Summary  Opens the argument as file and evaluates it at runtime. 
Rules  This function opens $input as file, evaluates it as XQuery expression, and returns the resulting items. 
util:mb
Signatures  util:mb($expr as item()) as xs:double util:mb($expr as item(), $cache as xs:boolean) as xs:double 
Summary  Measures the memory consumption for evaluating the argument. 
Rules  This function measures the amount of memory that is needed to evaluate $expr . If the value of $cache is true() , the result will be cached. The returned xs:double value represents the amount of memory in megabytes. 
Examples  The expression util:mb("1 to 100000") might return 0 .The expression util:mb("1 to 100000", true()) might return 26.678 . 
util:ms
Signatures  util:ms($expr as item()) as xs:double util:ms($expr as item(), $cache as xs:boolean) as xs:double 
Summary  Measures the time needed for evaluating the argument. 
Rules  This function measures the time needed to evaluate $expr . If the value of $cache is true() , the result will be cached. The returned xs:double value represents the needed time in milliseconds. 
Examples  The expression util:ms("1 to 100000") might return 25.69 .The expression util:ms("1 to 100000", true()) might return 208.12 . 
util:integertobase
Signatures  util:integertobase($num as xs:integer, $base as xs:integer) as xs:string 
Summary  Converts $num to base $base , interpreting it as a 64bit unsigned integer. The first $base elements of the sequence '0',..,'9','a',..,'z' are used as digits. 
Rules  Valid bases are 2, .., 36 . 
Examples  The expression util:integertobase(22, 5) returns '42' .The expression util:integertobase(1, 16) returns 'ffffffffffffffff' . 
util:integerfrombase
Signatures  util:integerfrombase($str as xs:string, $base as xs:integer) as xs:integer 
Summary  Decodes an xs:integer from $str , assuming that it's encoded in base $base .The first $base elements of the sequence '0',..,'9','a',..,'z' are allowed as digits. 
Rules  Valid bases are 2, .., 36 .If $str contains more than 64 bits of information, the result is truncated arbitarily.

Examples  The expression util:integerfrombase('42', 5) returns 22 .The expression util:integerfrombase('ffffffffffffffff', 16) returns 1 .The expression util:integerfrombase(util:integertobase(123, 7), 7) returns 123 . 