# {py:mod}`arelle.FunctionFn` ```{py:module} arelle.FunctionFn ``` ```{autodoc2-docstring} arelle.FunctionFn :allowtitles: ``` ## Module Contents ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`call ` - ```{autodoc2-docstring} arelle.FunctionFn.call :summary: ``` * - {py:obj}`node_name ` - ```{autodoc2-docstring} arelle.FunctionFn.node_name :summary: ``` * - {py:obj}`nilled ` - ```{autodoc2-docstring} arelle.FunctionFn.nilled :summary: ``` * - {py:obj}`string ` - ```{autodoc2-docstring} arelle.FunctionFn.string :summary: ``` * - {py:obj}`data ` - ```{autodoc2-docstring} arelle.FunctionFn.data :summary: ``` * - {py:obj}`base_uri ` - ```{autodoc2-docstring} arelle.FunctionFn.base_uri :summary: ``` * - {py:obj}`document_uri ` - ```{autodoc2-docstring} arelle.FunctionFn.document_uri :summary: ``` * - {py:obj}`error ` - ```{autodoc2-docstring} arelle.FunctionFn.error :summary: ``` * - {py:obj}`trace ` - ```{autodoc2-docstring} arelle.FunctionFn.trace :summary: ``` * - {py:obj}`fn_dateTime ` - ```{autodoc2-docstring} arelle.FunctionFn.fn_dateTime :summary: ``` * - {py:obj}`fn_abs ` - ```{autodoc2-docstring} arelle.FunctionFn.fn_abs :summary: ``` * - {py:obj}`fn_ceiling ` - ```{autodoc2-docstring} arelle.FunctionFn.fn_ceiling :summary: ``` * - {py:obj}`fn_floor ` - ```{autodoc2-docstring} arelle.FunctionFn.fn_floor :summary: ``` * - {py:obj}`fn_round ` - ```{autodoc2-docstring} arelle.FunctionFn.fn_round :summary: ``` * - {py:obj}`fn_round_half_to_even ` - ```{autodoc2-docstring} arelle.FunctionFn.fn_round_half_to_even :summary: ``` * - {py:obj}`codepoints_to_string ` - ```{autodoc2-docstring} arelle.FunctionFn.codepoints_to_string :summary: ``` * - {py:obj}`string_to_codepoints ` - ```{autodoc2-docstring} arelle.FunctionFn.string_to_codepoints :summary: ``` * - {py:obj}`compare ` - ```{autodoc2-docstring} arelle.FunctionFn.compare :summary: ``` * - {py:obj}`codepoint_equal ` - ```{autodoc2-docstring} arelle.FunctionFn.codepoint_equal :summary: ``` * - {py:obj}`concat ` - ```{autodoc2-docstring} arelle.FunctionFn.concat :summary: ``` * - {py:obj}`string_join ` - ```{autodoc2-docstring} arelle.FunctionFn.string_join :summary: ``` * - {py:obj}`substring ` - ```{autodoc2-docstring} arelle.FunctionFn.substring :summary: ``` * - {py:obj}`string_length ` - ```{autodoc2-docstring} arelle.FunctionFn.string_length :summary: ``` * - {py:obj}`normalize_space ` - ```{autodoc2-docstring} arelle.FunctionFn.normalize_space :summary: ``` * - {py:obj}`normalize_unicode ` - ```{autodoc2-docstring} arelle.FunctionFn.normalize_unicode :summary: ``` * - {py:obj}`upper_case ` - ```{autodoc2-docstring} arelle.FunctionFn.upper_case :summary: ``` * - {py:obj}`lower_case ` - ```{autodoc2-docstring} arelle.FunctionFn.lower_case :summary: ``` * - {py:obj}`translate ` - ```{autodoc2-docstring} arelle.FunctionFn.translate :summary: ``` * - {py:obj}`encode_for_uri ` - ```{autodoc2-docstring} arelle.FunctionFn.encode_for_uri :summary: ``` * - {py:obj}`iri_to_uri ` - ```{autodoc2-docstring} arelle.FunctionFn.iri_to_uri :summary: ``` * - {py:obj}`escape_html_uri ` - ```{autodoc2-docstring} arelle.FunctionFn.escape_html_uri :summary: ``` * - {py:obj}`contains ` - ```{autodoc2-docstring} arelle.FunctionFn.contains :summary: ``` * - {py:obj}`starts_with ` - ```{autodoc2-docstring} arelle.FunctionFn.starts_with :summary: ``` * - {py:obj}`ends_with ` - ```{autodoc2-docstring} arelle.FunctionFn.ends_with :summary: ``` * - {py:obj}`substring_before ` - ```{autodoc2-docstring} arelle.FunctionFn.substring_before :summary: ``` * - {py:obj}`substring_after ` - ```{autodoc2-docstring} arelle.FunctionFn.substring_after :summary: ``` * - {py:obj}`substring_functions ` - ```{autodoc2-docstring} arelle.FunctionFn.substring_functions :summary: ``` * - {py:obj}`regexFlags ` - ```{autodoc2-docstring} arelle.FunctionFn.regexFlags :summary: ``` * - {py:obj}`matches ` - ```{autodoc2-docstring} arelle.FunctionFn.matches :summary: ``` * - {py:obj}`replace ` - ```{autodoc2-docstring} arelle.FunctionFn.replace :summary: ``` * - {py:obj}`tokenize ` - ```{autodoc2-docstring} arelle.FunctionFn.tokenize :summary: ``` * - {py:obj}`resolve_uri ` - ```{autodoc2-docstring} arelle.FunctionFn.resolve_uri :summary: ``` * - {py:obj}`true ` - ```{autodoc2-docstring} arelle.FunctionFn.true :summary: ``` * - {py:obj}`false ` - ```{autodoc2-docstring} arelle.FunctionFn.false :summary: ``` * - {py:obj}`_not ` - ```{autodoc2-docstring} arelle.FunctionFn._not :summary: ``` * - {py:obj}`years_from_duration ` - ```{autodoc2-docstring} arelle.FunctionFn.years_from_duration :summary: ``` * - {py:obj}`months_from_duration ` - ```{autodoc2-docstring} arelle.FunctionFn.months_from_duration :summary: ``` * - {py:obj}`days_from_duration ` - ```{autodoc2-docstring} arelle.FunctionFn.days_from_duration :summary: ``` * - {py:obj}`hours_from_duration ` - ```{autodoc2-docstring} arelle.FunctionFn.hours_from_duration :summary: ``` * - {py:obj}`minutes_from_duration ` - ```{autodoc2-docstring} arelle.FunctionFn.minutes_from_duration :summary: ``` * - {py:obj}`seconds_from_duration ` - ```{autodoc2-docstring} arelle.FunctionFn.seconds_from_duration :summary: ``` * - {py:obj}`year_from_dateTime ` - ```{autodoc2-docstring} arelle.FunctionFn.year_from_dateTime :summary: ``` * - {py:obj}`month_from_dateTime ` - ```{autodoc2-docstring} arelle.FunctionFn.month_from_dateTime :summary: ``` * - {py:obj}`day_from_dateTime ` - ```{autodoc2-docstring} arelle.FunctionFn.day_from_dateTime :summary: ``` * - {py:obj}`hours_from_dateTime ` - ```{autodoc2-docstring} arelle.FunctionFn.hours_from_dateTime :summary: ``` * - {py:obj}`minutes_from_dateTime ` - ```{autodoc2-docstring} arelle.FunctionFn.minutes_from_dateTime :summary: ``` * - {py:obj}`seconds_from_dateTime ` - ```{autodoc2-docstring} arelle.FunctionFn.seconds_from_dateTime :summary: ``` * - {py:obj}`timezone_from_dateTime ` - ```{autodoc2-docstring} arelle.FunctionFn.timezone_from_dateTime :summary: ``` * - {py:obj}`year_from_date ` - ```{autodoc2-docstring} arelle.FunctionFn.year_from_date :summary: ``` * - {py:obj}`month_from_date ` - ```{autodoc2-docstring} arelle.FunctionFn.month_from_date :summary: ``` * - {py:obj}`day_from_date ` - ```{autodoc2-docstring} arelle.FunctionFn.day_from_date :summary: ``` * - {py:obj}`timezone_from_date ` - ```{autodoc2-docstring} arelle.FunctionFn.timezone_from_date :summary: ``` * - {py:obj}`hours_from_time ` - ```{autodoc2-docstring} arelle.FunctionFn.hours_from_time :summary: ``` * - {py:obj}`minutes_from_time ` - ```{autodoc2-docstring} arelle.FunctionFn.minutes_from_time :summary: ``` * - {py:obj}`seconds_from_time ` - ```{autodoc2-docstring} arelle.FunctionFn.seconds_from_time :summary: ``` * - {py:obj}`timezone_from_time ` - ```{autodoc2-docstring} arelle.FunctionFn.timezone_from_time :summary: ``` * - {py:obj}`adjust_dateTime_to_timezone ` - ```{autodoc2-docstring} arelle.FunctionFn.adjust_dateTime_to_timezone :summary: ``` * - {py:obj}`adjust_date_to_timezone ` - ```{autodoc2-docstring} arelle.FunctionFn.adjust_date_to_timezone :summary: ``` * - {py:obj}`adjust_time_to_timezone ` - ```{autodoc2-docstring} arelle.FunctionFn.adjust_time_to_timezone :summary: ``` * - {py:obj}`resolve_QName ` - ```{autodoc2-docstring} arelle.FunctionFn.resolve_QName :summary: ``` * - {py:obj}`QName ` - ```{autodoc2-docstring} arelle.FunctionFn.QName :summary: ``` * - {py:obj}`prefix_from_QName ` - ```{autodoc2-docstring} arelle.FunctionFn.prefix_from_QName :summary: ``` * - {py:obj}`local_name_from_QName ` - ```{autodoc2-docstring} arelle.FunctionFn.local_name_from_QName :summary: ``` * - {py:obj}`namespace_uri_from_QName ` - ```{autodoc2-docstring} arelle.FunctionFn.namespace_uri_from_QName :summary: ``` * - {py:obj}`QName_functions ` - ```{autodoc2-docstring} arelle.FunctionFn.QName_functions :summary: ``` * - {py:obj}`namespace_uri_for_prefix ` - ```{autodoc2-docstring} arelle.FunctionFn.namespace_uri_for_prefix :summary: ``` * - {py:obj}`in_scope_prefixes ` - ```{autodoc2-docstring} arelle.FunctionFn.in_scope_prefixes :summary: ``` * - {py:obj}`name ` - ```{autodoc2-docstring} arelle.FunctionFn.name :summary: ``` * - {py:obj}`local_name ` - ```{autodoc2-docstring} arelle.FunctionFn.local_name :summary: ``` * - {py:obj}`namespace_uri ` - ```{autodoc2-docstring} arelle.FunctionFn.namespace_uri :summary: ``` * - {py:obj}`Node_functions ` - ```{autodoc2-docstring} arelle.FunctionFn.Node_functions :summary: ``` * - {py:obj}`number ` - ```{autodoc2-docstring} arelle.FunctionFn.number :summary: ``` * - {py:obj}`lang ` - ```{autodoc2-docstring} arelle.FunctionFn.lang :summary: ``` * - {py:obj}`root ` - ```{autodoc2-docstring} arelle.FunctionFn.root :summary: ``` * - {py:obj}`boolean ` - ```{autodoc2-docstring} arelle.FunctionFn.boolean :summary: ``` * - {py:obj}`index_of ` - ```{autodoc2-docstring} arelle.FunctionFn.index_of :summary: ``` * - {py:obj}`empty ` - ```{autodoc2-docstring} arelle.FunctionFn.empty :summary: ``` * - {py:obj}`exists ` - ```{autodoc2-docstring} arelle.FunctionFn.exists :summary: ``` * - {py:obj}`distinct_values ` - ```{autodoc2-docstring} arelle.FunctionFn.distinct_values :summary: ``` * - {py:obj}`insert_before ` - ```{autodoc2-docstring} arelle.FunctionFn.insert_before :summary: ``` * - {py:obj}`remove ` - ```{autodoc2-docstring} arelle.FunctionFn.remove :summary: ``` * - {py:obj}`reverse ` - ```{autodoc2-docstring} arelle.FunctionFn.reverse :summary: ``` * - {py:obj}`subsequence ` - ```{autodoc2-docstring} arelle.FunctionFn.subsequence :summary: ``` * - {py:obj}`unordered ` - ```{autodoc2-docstring} arelle.FunctionFn.unordered :summary: ``` * - {py:obj}`zero_or_one ` - ```{autodoc2-docstring} arelle.FunctionFn.zero_or_one :summary: ``` * - {py:obj}`one_or_more ` - ```{autodoc2-docstring} arelle.FunctionFn.one_or_more :summary: ``` * - {py:obj}`exactly_one ` - ```{autodoc2-docstring} arelle.FunctionFn.exactly_one :summary: ``` * - {py:obj}`deep_equal ` - ```{autodoc2-docstring} arelle.FunctionFn.deep_equal :summary: ``` * - {py:obj}`count ` - ```{autodoc2-docstring} arelle.FunctionFn.count :summary: ``` * - {py:obj}`avg ` - ```{autodoc2-docstring} arelle.FunctionFn.avg :summary: ``` * - {py:obj}`fn_max ` - ```{autodoc2-docstring} arelle.FunctionFn.fn_max :summary: ``` * - {py:obj}`fn_min ` - ```{autodoc2-docstring} arelle.FunctionFn.fn_min :summary: ``` * - {py:obj}`fn_sum ` - ```{autodoc2-docstring} arelle.FunctionFn.fn_sum :summary: ``` * - {py:obj}`id ` - ```{autodoc2-docstring} arelle.FunctionFn.id :summary: ``` * - {py:obj}`idref ` - ```{autodoc2-docstring} arelle.FunctionFn.idref :summary: ``` * - {py:obj}`doc ` - ```{autodoc2-docstring} arelle.FunctionFn.doc :summary: ``` * - {py:obj}`doc_available ` - ```{autodoc2-docstring} arelle.FunctionFn.doc_available :summary: ``` * - {py:obj}`collection ` - ```{autodoc2-docstring} arelle.FunctionFn.collection :summary: ``` * - {py:obj}`position ` - ```{autodoc2-docstring} arelle.FunctionFn.position :summary: ``` * - {py:obj}`last ` - ```{autodoc2-docstring} arelle.FunctionFn.last :summary: ``` * - {py:obj}`current_dateTime ` - ```{autodoc2-docstring} arelle.FunctionFn.current_dateTime :summary: ``` * - {py:obj}`current_date ` - ```{autodoc2-docstring} arelle.FunctionFn.current_date :summary: ``` * - {py:obj}`current_time ` - ```{autodoc2-docstring} arelle.FunctionFn.current_time :summary: ``` * - {py:obj}`implicit_timezone ` - ```{autodoc2-docstring} arelle.FunctionFn.implicit_timezone :summary: ``` * - {py:obj}`default_collation ` - ```{autodoc2-docstring} arelle.FunctionFn.default_collation :summary: ``` * - {py:obj}`static_base_uri ` - ```{autodoc2-docstring} arelle.FunctionFn.static_base_uri :summary: ``` * - {py:obj}`format_number ` - ```{autodoc2-docstring} arelle.FunctionFn.format_number :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`DECIMAL_5 ` - ```{autodoc2-docstring} arelle.FunctionFn.DECIMAL_5 :summary: ``` * - {py:obj}`nonSpacePattern ` - ```{autodoc2-docstring} arelle.FunctionFn.nonSpacePattern :summary: ``` * - {py:obj}`NaN ` - ```{autodoc2-docstring} arelle.FunctionFn.NaN :summary: ``` * - {py:obj}`fnFunctions ` - ```{autodoc2-docstring} arelle.FunctionFn.fnFunctions :summary: ``` ```` ### API ````{py:data} DECIMAL_5 :canonical: arelle.FunctionFn.DECIMAL_5 :value: > 'Decimal(...)' ```{autodoc2-docstring} arelle.FunctionFn.DECIMAL_5 ``` ```` `````{py:exception} fnFunctionNotAvailable() :canonical: arelle.FunctionFn.fnFunctionNotAvailable Bases: {py:obj}`Exception` ````{py:method} __repr__() :canonical: arelle.FunctionFn.fnFunctionNotAvailable.__repr__ ```` ````` ````{py:function} call(xc: arelle.formula.XPathContext.XPathContext, p: arelle.formula.XPathParser.OperationDef, localname: str, contextItem: arelle.formula.XPathContext.ContextItem, args: arelle.formula.XPathContext.ResultStack) -> arelle.formula.XPathContext.RecursiveContextItem :canonical: arelle.FunctionFn.call ```{autodoc2-docstring} arelle.FunctionFn.call ``` ```` ````{py:function} node_name(xc, p, contextItem, args) :canonical: arelle.FunctionFn.node_name ```{autodoc2-docstring} arelle.FunctionFn.node_name ``` ```` ````{py:function} nilled(xc, p, contextItem, args) :canonical: arelle.FunctionFn.nilled ```{autodoc2-docstring} arelle.FunctionFn.nilled ``` ```` ````{py:function} string(xc, p, contextItem, args) :canonical: arelle.FunctionFn.string ```{autodoc2-docstring} arelle.FunctionFn.string ``` ```` ````{py:function} data(xc, p, contextItem, args) :canonical: arelle.FunctionFn.data ```{autodoc2-docstring} arelle.FunctionFn.data ``` ```` ````{py:function} base_uri(xc, p, contextItem, args) :canonical: arelle.FunctionFn.base_uri ```{autodoc2-docstring} arelle.FunctionFn.base_uri ``` ```` ````{py:function} document_uri(xc, p, contextItem, args) :canonical: arelle.FunctionFn.document_uri ```{autodoc2-docstring} arelle.FunctionFn.document_uri ``` ```` ````{py:function} error(xc, p, contextItem, args) :canonical: arelle.FunctionFn.error ```{autodoc2-docstring} arelle.FunctionFn.error ``` ```` ````{py:function} trace(xc, p, contextItem, args) :canonical: arelle.FunctionFn.trace ```{autodoc2-docstring} arelle.FunctionFn.trace ``` ```` ````{py:function} fn_dateTime(xc, p, contextItem, args) :canonical: arelle.FunctionFn.fn_dateTime ```{autodoc2-docstring} arelle.FunctionFn.fn_dateTime ``` ```` ````{py:function} fn_abs(xc, p, contextItem, args) :canonical: arelle.FunctionFn.fn_abs ```{autodoc2-docstring} arelle.FunctionFn.fn_abs ``` ```` ````{py:function} fn_ceiling(xc, p, contextItem, args) :canonical: arelle.FunctionFn.fn_ceiling ```{autodoc2-docstring} arelle.FunctionFn.fn_ceiling ``` ```` ````{py:function} fn_floor(xc, p, contextItem, args) :canonical: arelle.FunctionFn.fn_floor ```{autodoc2-docstring} arelle.FunctionFn.fn_floor ``` ```` ````{py:function} fn_round(xc, p, contextItem, args) :canonical: arelle.FunctionFn.fn_round ```{autodoc2-docstring} arelle.FunctionFn.fn_round ``` ```` ````{py:function} fn_round_half_to_even(xc, p, contextItem, args) :canonical: arelle.FunctionFn.fn_round_half_to_even ```{autodoc2-docstring} arelle.FunctionFn.fn_round_half_to_even ``` ```` ````{py:function} codepoints_to_string(xc, p, contextItem, args) :canonical: arelle.FunctionFn.codepoints_to_string ```{autodoc2-docstring} arelle.FunctionFn.codepoints_to_string ``` ```` ````{py:function} string_to_codepoints(xc, p, contextItem, args) :canonical: arelle.FunctionFn.string_to_codepoints ```{autodoc2-docstring} arelle.FunctionFn.string_to_codepoints ``` ```` ````{py:function} compare(xc, p, contextItem, args) :canonical: arelle.FunctionFn.compare ```{autodoc2-docstring} arelle.FunctionFn.compare ``` ```` ````{py:function} codepoint_equal(xc, p, contextItem, args) :canonical: arelle.FunctionFn.codepoint_equal ```{autodoc2-docstring} arelle.FunctionFn.codepoint_equal ``` ```` ````{py:function} concat(xc, p, contextItem, args) :canonical: arelle.FunctionFn.concat ```{autodoc2-docstring} arelle.FunctionFn.concat ``` ```` ````{py:function} string_join(xc, p, contextItem, args) :canonical: arelle.FunctionFn.string_join ```{autodoc2-docstring} arelle.FunctionFn.string_join ``` ```` ````{py:function} substring(xc, p, contextItem, args) :canonical: arelle.FunctionFn.substring ```{autodoc2-docstring} arelle.FunctionFn.substring ``` ```` ````{py:function} string_length(xc, p, contextItem, args) :canonical: arelle.FunctionFn.string_length ```{autodoc2-docstring} arelle.FunctionFn.string_length ``` ```` ````{py:data} nonSpacePattern :canonical: arelle.FunctionFn.nonSpacePattern :value: > 'compile(...)' ```{autodoc2-docstring} arelle.FunctionFn.nonSpacePattern ``` ```` ````{py:function} normalize_space(xc, p, contextItem, args) :canonical: arelle.FunctionFn.normalize_space ```{autodoc2-docstring} arelle.FunctionFn.normalize_space ``` ```` ````{py:function} normalize_unicode(xc, p, contextItem, args) :canonical: arelle.FunctionFn.normalize_unicode ```{autodoc2-docstring} arelle.FunctionFn.normalize_unicode ``` ```` ````{py:function} upper_case(xc, p, contextItem, args) :canonical: arelle.FunctionFn.upper_case ```{autodoc2-docstring} arelle.FunctionFn.upper_case ``` ```` ````{py:function} lower_case(xc, p, contextItem, args) :canonical: arelle.FunctionFn.lower_case ```{autodoc2-docstring} arelle.FunctionFn.lower_case ``` ```` ````{py:function} translate(xc, p, contextItem, args) :canonical: arelle.FunctionFn.translate ```{autodoc2-docstring} arelle.FunctionFn.translate ``` ```` ````{py:function} encode_for_uri(xc, p, contextItem, args) :canonical: arelle.FunctionFn.encode_for_uri ```{autodoc2-docstring} arelle.FunctionFn.encode_for_uri ``` ```` ````{py:function} iri_to_uri(xc, p, contextItem, args) :canonical: arelle.FunctionFn.iri_to_uri ```{autodoc2-docstring} arelle.FunctionFn.iri_to_uri ``` ```` ````{py:function} escape_html_uri(xc, p, contextItem, args) :canonical: arelle.FunctionFn.escape_html_uri ```{autodoc2-docstring} arelle.FunctionFn.escape_html_uri ``` ```` ````{py:function} contains(xc, p, contextItem, args) :canonical: arelle.FunctionFn.contains ```{autodoc2-docstring} arelle.FunctionFn.contains ``` ```` ````{py:function} starts_with(xc, p, contextItem, args) :canonical: arelle.FunctionFn.starts_with ```{autodoc2-docstring} arelle.FunctionFn.starts_with ``` ```` ````{py:function} ends_with(xc, p, contextItem, args) :canonical: arelle.FunctionFn.ends_with ```{autodoc2-docstring} arelle.FunctionFn.ends_with ``` ```` ````{py:function} substring_before(xc, p, contextItem, args) :canonical: arelle.FunctionFn.substring_before ```{autodoc2-docstring} arelle.FunctionFn.substring_before ``` ```` ````{py:function} substring_after(xc, p, contextItem, args) :canonical: arelle.FunctionFn.substring_after ```{autodoc2-docstring} arelle.FunctionFn.substring_after ``` ```` ````{py:function} substring_functions(xc, args, contains=None, startEnd=None, beforeAfter=None) :canonical: arelle.FunctionFn.substring_functions ```{autodoc2-docstring} arelle.FunctionFn.substring_functions ``` ```` ````{py:function} regexFlags(xc, p, args, n) :canonical: arelle.FunctionFn.regexFlags ```{autodoc2-docstring} arelle.FunctionFn.regexFlags ``` ```` ````{py:function} matches(xc, p, contextItem, args) :canonical: arelle.FunctionFn.matches ```{autodoc2-docstring} arelle.FunctionFn.matches ``` ```` ````{py:function} replace(xc, p, contextItem, args) :canonical: arelle.FunctionFn.replace ```{autodoc2-docstring} arelle.FunctionFn.replace ``` ```` ````{py:function} tokenize(xc, p, contextItem, args) :canonical: arelle.FunctionFn.tokenize ```{autodoc2-docstring} arelle.FunctionFn.tokenize ``` ```` ````{py:function} resolve_uri(xc, p, contextItem, args) :canonical: arelle.FunctionFn.resolve_uri ```{autodoc2-docstring} arelle.FunctionFn.resolve_uri ``` ```` ````{py:function} true(xc, p, contextItem, args) :canonical: arelle.FunctionFn.true ```{autodoc2-docstring} arelle.FunctionFn.true ``` ```` ````{py:function} false(xc, p, contextItem, args) :canonical: arelle.FunctionFn.false ```{autodoc2-docstring} arelle.FunctionFn.false ``` ```` ````{py:function} _not(xc, p, contextItem, args) :canonical: arelle.FunctionFn._not ```{autodoc2-docstring} arelle.FunctionFn._not ``` ```` ````{py:function} years_from_duration(xc, p, contextItem, args) :canonical: arelle.FunctionFn.years_from_duration ```{autodoc2-docstring} arelle.FunctionFn.years_from_duration ``` ```` ````{py:function} months_from_duration(xc, p, contextItem, args) :canonical: arelle.FunctionFn.months_from_duration ```{autodoc2-docstring} arelle.FunctionFn.months_from_duration ``` ```` ````{py:function} days_from_duration(xc, p, contextItem, args) :canonical: arelle.FunctionFn.days_from_duration ```{autodoc2-docstring} arelle.FunctionFn.days_from_duration ``` ```` ````{py:function} hours_from_duration(xc, p, contextItem, args) :canonical: arelle.FunctionFn.hours_from_duration ```{autodoc2-docstring} arelle.FunctionFn.hours_from_duration ``` ```` ````{py:function} minutes_from_duration(xc, p, contextItem, args) :canonical: arelle.FunctionFn.minutes_from_duration ```{autodoc2-docstring} arelle.FunctionFn.minutes_from_duration ``` ```` ````{py:function} seconds_from_duration(xc, p, contextItem, args) :canonical: arelle.FunctionFn.seconds_from_duration ```{autodoc2-docstring} arelle.FunctionFn.seconds_from_duration ``` ```` ````{py:function} year_from_dateTime(xc, p, contextItem, args) :canonical: arelle.FunctionFn.year_from_dateTime ```{autodoc2-docstring} arelle.FunctionFn.year_from_dateTime ``` ```` ````{py:function} month_from_dateTime(xc, p, contextItem, args) :canonical: arelle.FunctionFn.month_from_dateTime ```{autodoc2-docstring} arelle.FunctionFn.month_from_dateTime ``` ```` ````{py:function} day_from_dateTime(xc, p, contextItem, args) :canonical: arelle.FunctionFn.day_from_dateTime ```{autodoc2-docstring} arelle.FunctionFn.day_from_dateTime ``` ```` ````{py:function} hours_from_dateTime(xc, p, contextItem, args) :canonical: arelle.FunctionFn.hours_from_dateTime ```{autodoc2-docstring} arelle.FunctionFn.hours_from_dateTime ``` ```` ````{py:function} minutes_from_dateTime(xc, p, contextItem, args) :canonical: arelle.FunctionFn.minutes_from_dateTime ```{autodoc2-docstring} arelle.FunctionFn.minutes_from_dateTime ``` ```` ````{py:function} seconds_from_dateTime(xc, p, contextItem, args) :canonical: arelle.FunctionFn.seconds_from_dateTime ```{autodoc2-docstring} arelle.FunctionFn.seconds_from_dateTime ``` ```` ````{py:function} timezone_from_dateTime(xc, p, contextItem, args) :canonical: arelle.FunctionFn.timezone_from_dateTime ```{autodoc2-docstring} arelle.FunctionFn.timezone_from_dateTime ``` ```` ````{py:function} year_from_date(xc, p, contextItem, args) :canonical: arelle.FunctionFn.year_from_date ```{autodoc2-docstring} arelle.FunctionFn.year_from_date ``` ```` ````{py:function} month_from_date(xc, p, contextItem, args) :canonical: arelle.FunctionFn.month_from_date ```{autodoc2-docstring} arelle.FunctionFn.month_from_date ``` ```` ````{py:function} day_from_date(xc, p, contextItem, args) :canonical: arelle.FunctionFn.day_from_date ```{autodoc2-docstring} arelle.FunctionFn.day_from_date ``` ```` ````{py:function} timezone_from_date(xc, p, contextItem, args) :canonical: arelle.FunctionFn.timezone_from_date ```{autodoc2-docstring} arelle.FunctionFn.timezone_from_date ``` ```` ````{py:function} hours_from_time(xc, p, contextItem, args) :canonical: arelle.FunctionFn.hours_from_time ```{autodoc2-docstring} arelle.FunctionFn.hours_from_time ``` ```` ````{py:function} minutes_from_time(xc, p, contextItem, args) :canonical: arelle.FunctionFn.minutes_from_time ```{autodoc2-docstring} arelle.FunctionFn.minutes_from_time ``` ```` ````{py:function} seconds_from_time(xc, p, contextItem, args) :canonical: arelle.FunctionFn.seconds_from_time ```{autodoc2-docstring} arelle.FunctionFn.seconds_from_time ``` ```` ````{py:function} timezone_from_time(xc, p, contextItem, args) :canonical: arelle.FunctionFn.timezone_from_time ```{autodoc2-docstring} arelle.FunctionFn.timezone_from_time ``` ```` ````{py:function} adjust_dateTime_to_timezone(xc, p, contextItem, args) :canonical: arelle.FunctionFn.adjust_dateTime_to_timezone ```{autodoc2-docstring} arelle.FunctionFn.adjust_dateTime_to_timezone ``` ```` ````{py:function} adjust_date_to_timezone(xc, p, contextItem, args) :canonical: arelle.FunctionFn.adjust_date_to_timezone ```{autodoc2-docstring} arelle.FunctionFn.adjust_date_to_timezone ``` ```` ````{py:function} adjust_time_to_timezone(xc, p, contextItem, args) :canonical: arelle.FunctionFn.adjust_time_to_timezone ```{autodoc2-docstring} arelle.FunctionFn.adjust_time_to_timezone ``` ```` ````{py:function} resolve_QName(xc, p, contextItem, args) :canonical: arelle.FunctionFn.resolve_QName ```{autodoc2-docstring} arelle.FunctionFn.resolve_QName ``` ```` ````{py:function} QName(xc, p, contextItem, args) :canonical: arelle.FunctionFn.QName ```{autodoc2-docstring} arelle.FunctionFn.QName ``` ```` ````{py:function} prefix_from_QName(xc, p, contextItem, args) :canonical: arelle.FunctionFn.prefix_from_QName ```{autodoc2-docstring} arelle.FunctionFn.prefix_from_QName ``` ```` ````{py:function} local_name_from_QName(xc, p, contextItem, args) :canonical: arelle.FunctionFn.local_name_from_QName ```{autodoc2-docstring} arelle.FunctionFn.local_name_from_QName ``` ```` ````{py:function} namespace_uri_from_QName(xc, p, contextItem, args) :canonical: arelle.FunctionFn.namespace_uri_from_QName ```{autodoc2-docstring} arelle.FunctionFn.namespace_uri_from_QName ``` ```` ````{py:function} QName_functions(xc, p, args, prefix=False, localName=False, namespaceURI=False) :canonical: arelle.FunctionFn.QName_functions ```{autodoc2-docstring} arelle.FunctionFn.QName_functions ``` ```` ````{py:function} namespace_uri_for_prefix(xc, p, contextItem, args) :canonical: arelle.FunctionFn.namespace_uri_for_prefix ```{autodoc2-docstring} arelle.FunctionFn.namespace_uri_for_prefix ``` ```` ````{py:function} in_scope_prefixes(xc, p, contextItem, args) :canonical: arelle.FunctionFn.in_scope_prefixes ```{autodoc2-docstring} arelle.FunctionFn.in_scope_prefixes ``` ```` ````{py:function} name(xc, p, contextItem, args) :canonical: arelle.FunctionFn.name ```{autodoc2-docstring} arelle.FunctionFn.name ``` ```` ````{py:function} local_name(xc, p, contextItem, args) :canonical: arelle.FunctionFn.local_name ```{autodoc2-docstring} arelle.FunctionFn.local_name ``` ```` ````{py:function} namespace_uri(xc, p, contextItem, args) :canonical: arelle.FunctionFn.namespace_uri ```{autodoc2-docstring} arelle.FunctionFn.namespace_uri ``` ```` ````{py:function} Node_functions(xc, contextItem, args, name=None, localName=None, namespaceURI=None) :canonical: arelle.FunctionFn.Node_functions ```{autodoc2-docstring} arelle.FunctionFn.Node_functions ``` ```` ````{py:data} NaN :canonical: arelle.FunctionFn.NaN :value: > 'float(...)' ```{autodoc2-docstring} arelle.FunctionFn.NaN ``` ```` ````{py:function} number(xc, p, contextItem, args) :canonical: arelle.FunctionFn.number ```{autodoc2-docstring} arelle.FunctionFn.number ``` ```` ````{py:function} lang(xc, p, contextItem, args) :canonical: arelle.FunctionFn.lang ```{autodoc2-docstring} arelle.FunctionFn.lang ``` ```` ````{py:function} root(xc, p, contextItem, args) :canonical: arelle.FunctionFn.root ```{autodoc2-docstring} arelle.FunctionFn.root ``` ```` ````{py:function} boolean(xc: arelle.formula.XPathContext.XPathContext, p: arelle.formula.XPathParser.FormulaToken | None, contextItem: arelle.formula.XPathContext.ContextItem | None, args: arelle.formula.XPathContext.ResultStack) -> bool :canonical: arelle.FunctionFn.boolean ```{autodoc2-docstring} arelle.FunctionFn.boolean ``` ```` ````{py:function} index_of(xc, p, contextItem, args) :canonical: arelle.FunctionFn.index_of ```{autodoc2-docstring} arelle.FunctionFn.index_of ``` ```` ````{py:function} empty(xc, p, contextItem, args) :canonical: arelle.FunctionFn.empty ```{autodoc2-docstring} arelle.FunctionFn.empty ``` ```` ````{py:function} exists(xc, p, contextItem, args) :canonical: arelle.FunctionFn.exists ```{autodoc2-docstring} arelle.FunctionFn.exists ``` ```` ````{py:function} distinct_values(xc, p, contextItem, args) :canonical: arelle.FunctionFn.distinct_values ```{autodoc2-docstring} arelle.FunctionFn.distinct_values ``` ```` ````{py:function} insert_before(xc, p, contextItem, args) :canonical: arelle.FunctionFn.insert_before ```{autodoc2-docstring} arelle.FunctionFn.insert_before ``` ```` ````{py:function} remove(xc, p, contextItem, args) :canonical: arelle.FunctionFn.remove ```{autodoc2-docstring} arelle.FunctionFn.remove ``` ```` ````{py:function} reverse(xc, p, contextItem, args) :canonical: arelle.FunctionFn.reverse ```{autodoc2-docstring} arelle.FunctionFn.reverse ``` ```` ````{py:function} subsequence(xc, p, contextItem, args) :canonical: arelle.FunctionFn.subsequence ```{autodoc2-docstring} arelle.FunctionFn.subsequence ``` ```` ````{py:function} unordered(xc, p, contextItem, args) :canonical: arelle.FunctionFn.unordered ```{autodoc2-docstring} arelle.FunctionFn.unordered ``` ```` ````{py:function} zero_or_one(xc, p, contextItem, args) :canonical: arelle.FunctionFn.zero_or_one ```{autodoc2-docstring} arelle.FunctionFn.zero_or_one ``` ```` ````{py:function} one_or_more(xc, p, contextItem, args) :canonical: arelle.FunctionFn.one_or_more ```{autodoc2-docstring} arelle.FunctionFn.one_or_more ``` ```` ````{py:function} exactly_one(xc, p, contextItem, args) :canonical: arelle.FunctionFn.exactly_one ```{autodoc2-docstring} arelle.FunctionFn.exactly_one ``` ```` ````{py:function} deep_equal(xc, p, contextItem, args) :canonical: arelle.FunctionFn.deep_equal ```{autodoc2-docstring} arelle.FunctionFn.deep_equal ``` ```` ````{py:function} count(xc, p, contextItem, args) :canonical: arelle.FunctionFn.count ```{autodoc2-docstring} arelle.FunctionFn.count ``` ```` ````{py:function} avg(xc, p, contextItem, args) :canonical: arelle.FunctionFn.avg ```{autodoc2-docstring} arelle.FunctionFn.avg ``` ```` ````{py:function} fn_max(xc, p, contextItem, args) :canonical: arelle.FunctionFn.fn_max ```{autodoc2-docstring} arelle.FunctionFn.fn_max ``` ```` ````{py:function} fn_min(xc, p, contextItem, args) :canonical: arelle.FunctionFn.fn_min ```{autodoc2-docstring} arelle.FunctionFn.fn_min ``` ```` ````{py:function} fn_sum(xc, p, contextItem, args) :canonical: arelle.FunctionFn.fn_sum ```{autodoc2-docstring} arelle.FunctionFn.fn_sum ``` ```` ````{py:function} id(xc, p, contextItem, args) :canonical: arelle.FunctionFn.id ```{autodoc2-docstring} arelle.FunctionFn.id ``` ```` ````{py:function} idref(xc, p, contextItem, args) :canonical: arelle.FunctionFn.idref ```{autodoc2-docstring} arelle.FunctionFn.idref ``` ```` ````{py:function} doc(xc, p, contextItem, args) :canonical: arelle.FunctionFn.doc ```{autodoc2-docstring} arelle.FunctionFn.doc ``` ```` ````{py:function} doc_available(xc, p, contextItem, args) :canonical: arelle.FunctionFn.doc_available ```{autodoc2-docstring} arelle.FunctionFn.doc_available ``` ```` ````{py:function} collection(xc, p, contextItem, args) :canonical: arelle.FunctionFn.collection ```{autodoc2-docstring} arelle.FunctionFn.collection ``` ```` ````{py:function} position(xc, p, contextItem, args) :canonical: arelle.FunctionFn.position ```{autodoc2-docstring} arelle.FunctionFn.position ``` ```` ````{py:function} last(xc, p, contextItem, args) :canonical: arelle.FunctionFn.last ```{autodoc2-docstring} arelle.FunctionFn.last ``` ```` ````{py:function} current_dateTime(xc, p, contextItem, args) :canonical: arelle.FunctionFn.current_dateTime ```{autodoc2-docstring} arelle.FunctionFn.current_dateTime ``` ```` ````{py:function} current_date(xc, p, contextItem, args) :canonical: arelle.FunctionFn.current_date ```{autodoc2-docstring} arelle.FunctionFn.current_date ``` ```` ````{py:function} current_time(xc, p, contextItem, args) :canonical: arelle.FunctionFn.current_time ```{autodoc2-docstring} arelle.FunctionFn.current_time ``` ```` ````{py:function} implicit_timezone(xc, p, contextItem, args) :canonical: arelle.FunctionFn.implicit_timezone ```{autodoc2-docstring} arelle.FunctionFn.implicit_timezone ``` ```` ````{py:function} default_collation(xc, p, contextItem, args) :canonical: arelle.FunctionFn.default_collation ```{autodoc2-docstring} arelle.FunctionFn.default_collation ``` ```` ````{py:function} static_base_uri(xc, p, contextItem, args) :canonical: arelle.FunctionFn.static_base_uri ```{autodoc2-docstring} arelle.FunctionFn.static_base_uri ``` ```` ````{py:function} format_number(xc, p, args) :canonical: arelle.FunctionFn.format_number ```{autodoc2-docstring} arelle.FunctionFn.format_number ``` ```` ````{py:data} fnFunctions :canonical: arelle.FunctionFn.fnFunctions :value: > None ```{autodoc2-docstring} arelle.FunctionFn.fnFunctions ``` ````