Changes

Jump to navigation Jump to search
698 bytes added ,  13:11, 2 July 2021
no edit summary
==inspect:type==
 
{{Mark|Updated with Version 9.6:}} options added.
{| width='100%'
|-
| width='120' | '''Signatures'''
|{{Func|inspect:type|$value as item()*|xs:string}}<br/>{{Func|inspect:type|$value as item()*, $options as map(*)|xs:string}}
|-
| '''Summary'''
|Returns a string representation of the type of a {{Code|$value}}:
* The string includes the occurrence indicator.
* The type of functions and nodes may be stricter than the returned type.
* For type checking, the standard expressions {{Code|typeswitch}} and {{Code|instance of}} should be used instead.
The following {{Code|$options}} are available:
* {{Code|item}}: If enabled, only the item type is returned and the occurrence indicator is omitted. The default is {{Code|false()}}.
* {{Code|mode}}: If {{Code|value}} is specified, the assigned type of the result value is returned. With {{Code|expression}} the type of the input expression is returned (please note that the original expression may already have been rewritten at compile-time). With {{Code|computed}}, the exact value is computed at runtime, based on the expression and the result value. The default is {{Code|computed}}.
|-
| '''Examples'''
|
* <code>inspect:type(1 to 100(<a/>, <a/>))</code> returns yields <code>xs:integerelement(a)+</code>* <code>inspect:type(map { 'a': (1, 2)[. = 1] })</code> returns <code>map(*)</code>; a stricter type representation would be yields <code>map(xs:string, xs:stringinteger)</code>* <code>inspect:type(<a/>1 to 100, map { 'item': true()</code> returns <code>element(})</code>; a stricter type representation would be yields <code>element(a)xs:integer</code>
|}
=Changelog=
 
;Version 9.6
* Updated: [[#inspect:type|inspect:type]]: options added
;Version 9.3
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu