Difference between revisions of "Conversion Module"
Jump to navigation
Jump to search
m (Text replace - "assigned to the \{\{Code\|([^}]*)\}\} namespace" to "assigned to the <code><nowiki>$1</nowiki></code> namespace") |
|||
Line 9: | Line 9: | ||
==convert:binary-to-string== | ==convert:binary-to-string== | ||
+ | |||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
Line 26: | Line 27: | ||
==convert:string-to-base64== | ==convert:string-to-base64== | ||
+ | |||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
Line 43: | Line 45: | ||
==convert:string-to-hex== | ==convert:string-to-hex== | ||
+ | |||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
Line 62: | Line 65: | ||
==convert:bytes-to-base64== | ==convert:bytes-to-base64== | ||
+ | |||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
Line 79: | Line 83: | ||
==convert:bytes-to-hex== | ==convert:bytes-to-hex== | ||
+ | |||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
Line 89: | Line 94: | ||
==convert:binary-to-bytes== | ==convert:binary-to-bytes== | ||
+ | |||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
Line 106: | Line 112: | ||
==convert:integer-to-base== | ==convert:integer-to-base== | ||
+ | |||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
Line 113: | Line 120: | ||
| '''Summary''' | | '''Summary''' | ||
|Converts {{Code|$num}} to base {{Code|$base}}, interpreting it as a 64-bit unsigned integer.<br />The first {{Code|$base}} elements of the sequence {{Code|'0',..,'9','a',..,'z'}} are used as digits.<br />Valid bases are {{Code|2, .., 36}}.<br /> | |Converts {{Code|$num}} to base {{Code|$base}}, interpreting it as a 64-bit unsigned integer.<br />The first {{Code|$base}} elements of the sequence {{Code|'0',..,'9','a',..,'z'}} are used as digits.<br />Valid bases are {{Code|2, .., 36}}.<br /> | ||
+ | |- | ||
+ | | '''Errors''' | ||
+ | |{{Error|BXCO0003|#Errors}} The specified base is not in the range 2-36. | ||
|- | |- | ||
| '''Examples''' | | '''Examples''' | ||
Line 121: | Line 131: | ||
==convert:integer-from-base== | ==convert:integer-from-base== | ||
+ | |||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
Line 128: | Line 139: | ||
| '''Summary''' | | '''Summary''' | ||
|Decodes an {{Code|xs:integer}} from {{Code|$str}}, assuming that it's encoded in base {{Code|$base}}.<br /> The first {{Code|$base}} elements of the sequence {{Code|'0',..,'9','a',..,'z'}} are allowed as digits, case doesn't matter. <br />Valid bases are 2 - 36.<br /> If {{Code|$str}} contains more than 64 bits of information, the result is truncated arbitarily. | |Decodes an {{Code|xs:integer}} from {{Code|$str}}, assuming that it's encoded in base {{Code|$base}}.<br /> The first {{Code|$base}} elements of the sequence {{Code|'0',..,'9','a',..,'z'}} are allowed as digits, case doesn't matter. <br />Valid bases are 2 - 36.<br /> If {{Code|$str}} contains more than 64 bits of information, the result is truncated arbitarily. | ||
+ | |- | ||
+ | | '''Errors''' | ||
+ | |{{Error|BXCO0003|#Errors}} The specified base is not in the range 2-36. | ||
|- | |- | ||
| '''Examples''' | | '''Examples''' | ||
Line 210: | Line 224: | ||
|- | |- | ||
|{{Code|BXCO0002}} | |{{Code|BXCO0002}} | ||
+ | |The specified encoding is invalid or not supported. | ||
+ | |- | ||
+ | |{{Code|BXCO0003}} | ||
+ | |The specified base is not in the range 2-36. | ||
+ | |- | ||
+ | |{{Code|BXCO0003}} | ||
|The specified encoding is invalid or not supported. | |The specified encoding is invalid or not supported. | ||
|} | |} |
Revision as of 17:32, 30 October 2015
This XQuery Module contains functions to convert data between different formats.
Conventions
All functions in this module are assigned to the http://basex.org/modules/convert
namespace, which is statically bound to the convert
prefix.
All errors are assigned to the http://basex.org/errors
namespace, which is statically bound to the bxerr
prefix.
Strings
convert:binary-to-string
Signatures | convert:binary-to-string($bytes as xs:anyAtomicType) as xs:string convert:binary-to-string($bytes as xs:anyAtomicType, $encoding as xs:string) as xs:string
|
Summary | Converts the specifed binary data (xs:base64Binary, xs:hexBinary) to a string. The UTF-8 default encoding can be overwritten with the optional $encoding argument.
|
Errors | BXCO0001 : The input is an invalid XML string, or the wrong encoding has been specified. Invalid XML characters will be ignored if the CHECKSTRINGS option is turned off.BXCO0002 : The specified encoding is invalid or not supported.
|
Examples |
|
convert:string-to-base64
Signatures | convert:string-to-base64($input as xs:string) as xs:base64Binary convert:string-to-base64($input as xs:string, $encoding as xs:string) as xs:base64Binary
|
Summary | Converts the specified string to a xs:base64Binary item. If the default encoding is chosen, conversion will be cheap, as both xs:string and xs:base64Binary items are internally represented as byte arrays.The UTF-8 default encoding can be overwritten with the optional $encoding argument.
|
Errors | BXCO0001 : The input cannot be represented in the specified encoding.BXCO0002 : The specified encoding is invalid or not supported.
|
Examples |
|
convert:string-to-hex
Signatures | convert:string-to-hex($input as xs:string) as xs:hexBinary convert:string-to-hex($input as xs:string, $encoding as xs:string) as xs:hexBinary
|
Summary | Converts the specified string to a xs:hexBinary item. If the default encoding is chosen, conversion will be cheap, as both xs:string and xs:hexBinary items are internally represented as byte arrays.The UTF-8 default encoding can be overwritten with the optional $encoding argument.
|
Errors | BXCO0001 : The input cannot be represented in the specified encoding.BXCO0002 : The specified encoding is invalid or not supported.
|
Examples |
|
Binary Data
convert:bytes-to-base64
Signatures | convert:bytes-to-base64($input as xs:byte*) as xs:base64Binary
|
Summary | Converts the specified byte sequence to a xs:base64Binary item. Conversion is cheap, as xs:base64Binary items are internally represented as byte arrays.
|
Errors | BXCO0001 : The input cannot be represented in the specified encoding.BXCO0002 : The specified encoding is invalid or not supported.
|
Examples |
|
convert:bytes-to-hex
Signatures | convert:bytes-to-hex($input as xs:byte*) as xs:hexBinary
|
Summary | Converts the specified byte sequence to a xs:hexBinary item. Conversion is cheap, as xs:hexBinary items are internally represented as byte arrays.
|
convert:binary-to-bytes
Signatures | convert:binary-to-bytes($bin as xs:anyAtomicType) as xs:byte*
|
Summary | Returns the specified binary data (xs:base64Binary, xs:hexBinary) as a sequence of bytes. |
Examples |
|
Numbers
convert:integer-to-base
Signatures | convert:integer-to-base($num as xs:integer, $base as xs:integer) as xs:string |
Summary | Converts $num to base $base , interpreting it as a 64-bit unsigned integer.The first $base elements of the sequence '0',..,'9','a',..,'z' are used as digits.Valid bases are 2, .., 36 . |
Errors | BXCO0003 : The specified base is not in the range 2-36.
|
Examples |
|
convert:integer-from-base
Signatures | convert:integer-from-base($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, case doesn't matter. Valid bases are 2 - 36. If $str contains more than 64 bits of information, the result is truncated arbitarily.
|
Errors | BXCO0003 : The specified base is not in the range 2-36.
|
Examples |
|
Dates and Durations
convert:integer-to-dateTime
Signatures | convert:integer-to-dateTime($ms as xs:integer) as xs:dateTime |
Summary | Converts the specified number of milliseconds since 1 Jan 1970 to an item of type xs:dateTime. |
Examples |
|
convert:dateTime-to-integer
Signatures | convert:dateTime-to-integer($dateTime as xs:dateTime) as xs:integer |
Summary | Converts the specified item of type xs:dateTime to the number of milliseconds since 1 Jan 1970. |
Examples |
|
convert:integer-to-dayTime
Signatures | convert:integer-to-dayTime($ms as xs:integer) as xs:dayTimeDuration |
Summary | Converts the specified number of milliseconds to an item of type xs:dayTimeDuration. |
Examples |
|
convert:dayTime-to-integer
Signatures | convert:dayTime-to-integer($dayTime as xs:dayTimeDuration) as xs:integer |
Summary | Converts the specified item of type xs:dayTimeDuration to milliseconds represented by an integer. |
Examples |
|
Errors
Code | Description |
---|---|
BXCO0001
|
The input is an invalid XML string, or the wrong encoding has been specified. |
BXCO0002
|
The specified encoding is invalid or not supported. |
BXCO0003
|
The specified base is not in the range 2-36. |
BXCO0003
|
The specified encoding is invalid or not supported. |
Changelog
- Version 7.5
- Added:
convert:integer-to-dateTime
,convert:dateTime-to-integer
,convert:integer-to-dayTime
,convert:dayTime-to-integer
The module was introduced with Version 7.3. Some of the functions have been adopted from the obsolete Utility Module.