Changes

Jump to navigation Jump to search
728 bytes added ,  14:17, 20 July 2022
no edit summary
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:binary-to-string|$bytes as xs:anyAtomicType|xs:string}}<br/>{{Func|convert:binary-to-string|$bytes as xs:anyAtomicType, $encoding as xs:string|xs:string}}<br/>{{Func|convert:binary-to-string|$bytes as xs:anyAtomicType, $encoding as xs:string, $fallback as xs:boolean|xs:string}}
|-valign="top"
| '''Summary'''
|Converts the specifed {{Code|$bytes}} ({{Code|xs:base64Binary}}, {{Code|xs:hexBinary}}) to a string:
* The UTF-8 default encoding can be overwritten with the optional {{Code|$encoding}} argument.
* By default, invalid characters will be rejected. If {{Code|$fallback}} is set to true, these characters will be replaced with the Unicode replacement character <code>FFFD</code> (&#xFFFD;).
|-valign="top"
| '''Errors'''
|{{Error|string|#Errors}} The input is an invalid XML string, or the wrong encoding has been specified.<br/>{{Error|BXCO0002|#Errors}} The specified encoding is invalid or not supported.
|-valign="top"
| '''Examples'''
|
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:string-to-base64|$string as xs:string|xs:base64Binary}}<br/>{{Func|convert:string-to-base64|$string as xs:string, $encoding as xs:string|xs:base64Binary}}
|-valign="top"
| '''Summary'''
|Converts the specified {{Code|$string}} to an {{Code|xs:base64Binary}} item. If the default encoding is chosen, conversion will be cheap, as strings and binaries are both internally represented as byte arrays.<br/>The UTF-8 default encoding can be overwritten with the optional {{Code|$encoding}} argument.
|-valign="top"
| '''Errors'''
|{{Error|binary|#Errors}} The input cannot be represented in the specified encoding.<br/>{{Error|encoding|#Errors}} The specified encoding is invalid or not supported.
|-valign="top"
| '''Examples'''
|
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:string-to-hex|$string as xs:string|xs:hexBinary}}<br/>{{Func|convert:string-to-hex|$string as xs:string, $encoding as xs:string|xs:hexBinary}}
|-valign="top"
| '''Summary'''
|Converts the specified {{Code|$string}} to an {{Code|xs:hexBinary}} item. If the default encoding is chosen, conversion will be cheap, as strings and binaries are both internally represented as byte arrays.<br/>The UTF-8 default encoding can be overwritten with the optional {{Code|$encoding}} argument.
|-valign="top"
| '''Errors'''
|{{Error|binary|#Errors}} The input cannot be represented in the specified encoding.<br/>{{Error|encoding|#Errors}} The specified encoding is invalid or not supported.
|-valign="top"
| '''Examples'''
|
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:integers-to-base64|$integers as xs:integer*|xs:base64Binary}}
|-valign="top"
| '''Summary'''
|Converts the specified {{Code|$integers}} to an item of type {{Code|xs:base64Binary}}:
* Only the first 8 bits of the supplied integers will be considered.
* Conversion of byte sequences is very efficient, as items of binary type are internally represented as byte arrays.
|-valign="top"
| '''Examples'''
|
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:integers-to-hex|$integers as xs:integer*|xs:hexBinary}}
|-valign="top"
| '''Summary'''
|Converts the specified {{Code|$integers}} to an item of type {{Code|xs:hexBinary}}:
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:binary-to-integers|$binary as xs:anyAtomicType|xs:integer*}}
|-valign="top"
| '''Summary'''
|Returns the specified {{Code|$binary}} ({{Code|xs:base64Binary}}, {{Code|xs:hexBinary}}) as a sequence of unsigned integers (octets).
|-valign="top"
| '''Examples'''
|
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:binary-to-bytes|$binary as xs:anyAtomicType|xs:byte*}}
|-valign="top"
| '''Summary'''
|Returns the specified {{Code|$binary}} ({{Code|xs:base64Binary}}, {{Code|xs:hexBinary}}) as a sequence of bytes. The conversion is very cheap and takes no additional memory, as items of binary type are internally represented as byte arrays.
|-valign="top"
| '''Examples'''
|
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:integer-to-base|$number as xs:integer, $base as xs:integer|xs:string}}<br />
|-valign="top"
| '''Summary'''
|Converts {{Code|$number}} to a string, using the specified {{Code|$base}}, interpreting it as a 64-bit unsigned integer.<br />The first base elements of the sequence {{Code|'0',..,'9','a',..,'z'}} are used as digits.<br />Valid bases are {{Code|2, .., 36}}.<br />
|-valign="top"
| '''Errors'''
|{{Error|base|#Errors}} The specified base is not in the range 2-36.
|-valign="top"
| '''Examples'''
|
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:integer-from-base|$string as xs:string, $base as xs:integer|xs:integer}}<br />
|-valign="top"
| '''Summary'''
|Decodes an integer from {{Code|$string}}, using the specified {{Code|$base}}.<br /> The first base elements of the sequence {{Code|'0',..,'9','a',..,'z'}} are allowed as digits; case does not matter. <br />Valid bases are 2 - 36.<br /> If the supplied string contains more than 64 bits of information, the result will be truncated.
|-valign="top"
| '''Errors'''
|{{Error|base|#Errors}} The specified base is not in the range 2-36.<br/>{{Error|integer|#Errors}} The specified digit is not valid for the given range.
|-valign="top"
| '''Examples'''
|
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:integer-to-dateTime|$milliseconds as xs:integer|xs:dateTime}}<br />
|-valign="top"
| '''Summary'''
|Converts the specified number of {{Code|$milliseconds}} since 1 Jan 1970 to an item of type xs:dateTime.<br />
|-valign="top"
| '''Examples'''
|
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:dateTime-to-integer|$dateTime as xs:dateTime|xs:integer}}<br />
|-valign="top"
| '''Summary'''
|Converts the specified {{Code|$dateTime}} item to the number of milliseconds since 1 Jan 1970.<br />
|-valign="top"
| '''Examples'''
|
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:integer-to-dayTime|$milliseconds as xs:integer|xs:dayTimeDuration}}<br />
|-valign="top"
| '''Summary'''
|Converts the specified number of {{Code|$milliseconds}} to an item of type xs:dayTimeDuration.<br />
|-valign="top"
| '''Examples'''
|
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:dayTime-to-integer|$dayTime as xs:dayTimeDuration|xs:integer}}<br />
|-valign="top"
| '''Summary'''
|Converts the specified {{Code|$dayTime}} duration to milliseconds represented by an integer.<br />
|-valign="top"
| '''Examples'''
|
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:encode-key|$key as xs:string|xs:string}}<br />{{Func|convert:encode-key|$key as xs:string, $lax as xs:boolean|xs:string}}<br />
|-valign="top"
| '''Summary'''
|Encodes the specified {{Code|$key}} (with the optional {{Code|$lax}} conversion method) to a valid NCName representation, which can be used to create an element node:
* If lax conversion is chosen, invalid characters are replaced with underscores or (when invalid as first character of an element name) prefixed with an underscore. The resulting string may be better readable, but it cannot necessarily be converted back to the original form.
This encoding is employed by the {{Code|direct}} conversion format in the [[JSON Module]] and the [[CSV Module]].
|-valign="top"
| '''Examples'''
|
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|convert:decode-key|$key as xs:string|xs:string}}<br />{{Func|convert:decode-key|$key as xs:string, $lax as xs:boolean|xs:string}}<br />
|-valign="top"
| '''Summary'''
|Decodes the specified {{Code|$key}} (with the optional {{Code|$lax}} conversion method) to the original string representation.<br />Keys supplied to this function are usually element names from documents that have been created with the [[JSON Module]] or [[CSV Module]].
|-valign="top"
| '''Examples'''
|
* <code>convert:decode-key(name(<_0021/>))</code> yields <code>!</code>.
* <code>json:doc("doc.json")//* ! convert:decode-key(name())</code> yields the original string representation of all names of a JSON document.
|-valign="top"
| '''Errors'''
|{{Error|key|#Errors}} The specified key cannot be decoded to its original representation.
! width="110"|Code
| Description
|-valign="top"
|{{Code|base}}
|The specified base is not in the range 2-36.
|-valign="top"
|{{Code|binary}}
|The input cannot be converted to a binary representation.
|-valign="top"
|{{Code|encoding}}
|The specified encoding is invalid or not supported.
|-valign="top"
|{{Code|integer}}
|The specified digit is not valid for the given range.
|-valign="top"
|{{Code|key}}
|The specified key cannot be decoded to its original representation.
|-valign="top"
|{{Code|string}}
|The input is an invalid XML string, or the wrong encoding has been specified.
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu