void populate_context_any_uri(static_context* sctx) { { DECL_WITH_KIND(sctx, fn_resolve_uri, (createQName("http://www.w3.org/2005/xpath-functions","","resolve-uri"), GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.ANY_URI_TYPE_QUESTION), FunctionConsts::FN_RESOLVE_URI_1); } { DECL_WITH_KIND(sctx, fn_resolve_uri, (createQName("http://www.w3.org/2005/xpath-functions","","resolve-uri"), GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.ANY_URI_TYPE_QUESTION), FunctionConsts::FN_RESOLVE_URI_2); } }
void populate_context_fn_hof_functions(static_context* sctx) { { DECL_WITH_KIND(sctx, fn_function_lookup_3_0, (createQName("http://www.w3.org/2005/xpath-functions","","function-lookup"), GENV_TYPESYSTEM.QNAME_TYPE_ONE, GENV_TYPESYSTEM.INTEGER_TYPE_ONE, GENV_TYPESYSTEM.ANY_FUNCTION_TYPE_QUESTION), FunctionConsts::FN_FUNCTION_LOOKUP_2); } { DECL_WITH_KIND(sctx, op_zorba_function_lookup_3_0, (createQName("http://zorba.io/internal/zorba-ops","","function-lookup"), GENV_TYPESYSTEM.QNAME_TYPE_ONE, GENV_TYPESYSTEM.INTEGER_TYPE_ONE, GENV_TYPESYSTEM.ITEM_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION, GENV_TYPESYSTEM.ANY_FUNCTION_TYPE_QUESTION), FunctionConsts::OP_ZORBA_FUNCTION_LOOKUP_5); } { DECL_WITH_KIND(sctx, fn_function_name_3_0, (createQName("http://www.w3.org/2005/xpath-functions","","function-name"), GENV_TYPESYSTEM.ANY_FUNCTION_TYPE_ONE, GENV_TYPESYSTEM.QNAME_TYPE_QUESTION), FunctionConsts::FN_FUNCTION_NAME_1); } { DECL_WITH_KIND(sctx, fn_function_arity_3_0, (createQName("http://www.w3.org/2005/xpath-functions","","function-arity"), GENV_TYPESYSTEM.ANY_FUNCTION_TYPE_ONE, GENV_TYPESYSTEM.INTEGER_TYPE_ONE), FunctionConsts::FN_FUNCTION_ARITY_1); } }
void populateContext_Hoisting(static_context* sctx) { const char* zorba_op_ns = static_context::ZORBA_OP_NS; DECL(sctx, zop_hoist, (createQName(zorba_op_ns, "", "hoist"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.ITEM_TYPE_STAR)); DECL(sctx, zop_unhoist, (createQName(zorba_op_ns, "", "unhoist"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.ITEM_TYPE_STAR)); }
void populate_context_random(static_context* sctx) { { DECL_WITH_KIND(sctx, fn_zorba_random_seeded_random, (createQName("http://zorba.io/modules/random","","seeded-random"), GENV_TYPESYSTEM.INTEGER_TYPE_ONE, GENV_TYPESYSTEM.INTEGER_TYPE_ONE, GENV_TYPESYSTEM.INTEGER_TYPE_STAR), FunctionConsts::FN_ZORBA_RANDOM_SEEDED_RANDOM_2); } { DECL_WITH_KIND(sctx, fn_zorba_random_random, (createQName("http://zorba.io/modules/random","","random"), GENV_TYPESYSTEM.INTEGER_TYPE_ONE, GENV_TYPESYSTEM.INTEGER_TYPE_STAR), FunctionConsts::FN_ZORBA_RANDOM_RANDOM_1); } { DECL_WITH_KIND(sctx, fn_zorba_util_uuid, (createQName("http://zorba.io/util-functions","","uuid"), GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_ZORBA_UTIL_UUID_0); } { DECL_WITH_KIND(sctx, fn_zorba_util_uuid, (createQName("http://zorba.io/modules/random","","uuid"), GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_ZORBA_RANDOM_UUID_0); } }
void populate_context_accessors_impl(static_context* sctx) { DECL(sctx, fn_name_func, (createQName(static_context::W3C_FN_NS, "", "name"), GENV_TYPESYSTEM.STRING_TYPE_ONE)); DECL(sctx, fn_name_func, (createQName(static_context::W3C_FN_NS, "", "name"), GENV_TYPESYSTEM.ANY_NODE_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_ONE)); DECL_WITH_KIND(sctx, fn_data_3_0, (createQName("http://www.w3.org/2005/xpath-functions","","data"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR), FunctionConsts::FN_DATA_0); }
void populateContext_Constructors(static_context* sctx) { const char* zorba_op_ns = static_context::ZORBA_OP_NS; DECL(sctx, op_enclosed_expr, (createQName(zorba_op_ns, "", "enclosed-expr"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.ITEM_TYPE_STAR)); }
xqtref_t fn_analyze_string_3_0::getReturnType(const fo_expr* caller) const { return GENV_TYPESYSTEM.create_node_type( store::StoreConsts::elementNode, createQName(static_context::W3C_FN_NS,"","analyze-string-result"), NULL, SequenceType::QUANT_ONE, false, false); }
void populate_context_booleans(static_context* sctx) { { DECL_WITH_KIND(sctx, op_is_same_node, (createQName("http://zorba.io/internal/xquery-ops","","is-same-node"), GENV_TYPESYSTEM.ANY_NODE_TYPE_QUESTION, GENV_TYPESYSTEM.ANY_NODE_TYPE_QUESTION, GENV_TYPESYSTEM.BOOLEAN_TYPE_QUESTION), FunctionConsts::OP_IS_SAME_NODE_2); } { DECL_WITH_KIND(sctx, op_node_before, (createQName("http://zorba.io/internal/xquery-ops","","node-before"), GENV_TYPESYSTEM.ANY_NODE_TYPE_QUESTION, GENV_TYPESYSTEM.ANY_NODE_TYPE_QUESTION, GENV_TYPESYSTEM.BOOLEAN_TYPE_QUESTION), FunctionConsts::OP_NODE_BEFORE_2); } { DECL_WITH_KIND(sctx, op_node_after, (createQName("http://zorba.io/internal/xquery-ops","","node-after"), GENV_TYPESYSTEM.ANY_NODE_TYPE_QUESTION, GENV_TYPESYSTEM.ANY_NODE_TYPE_QUESTION, GENV_TYPESYSTEM.BOOLEAN_TYPE_QUESTION), FunctionConsts::OP_NODE_AFTER_2); } }
void populate_context_fetch(static_context* sctx) { { DECL_WITH_KIND(sctx, fn_zorba_fetch_content, (createQName("http://zorba.io/modules/fetch","","content"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_ZORBA_FETCH_CONTENT_3); } { DECL_WITH_KIND(sctx, fn_zorba_fetch_content_binary, (createQName("http://zorba.io/modules/fetch","","content-binary"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.BASE64BINARY_TYPE_ONE), FunctionConsts::FN_ZORBA_FETCH_CONTENT_BINARY_2); } { DECL_WITH_KIND(sctx, fn_zorba_fetch_content_type, (createQName("http://zorba.io/modules/fetch","","content-type"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_ZORBA_FETCH_CONTENT_TYPE_1); } }
void populate_context_base64(static_context* sctx) { { DECL_WITH_KIND(sctx, fn_zorba_base64_decode, (createQName("http://zorba.io/modules/base64","","decode"), GENV_TYPESYSTEM.BASE64BINARY_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_ZORBA_BASE64_DECODE_1); } { DECL_WITH_KIND(sctx, fn_zorba_base64_decode, (createQName("http://zorba.io/modules/base64","","decode"), GENV_TYPESYSTEM.BASE64BINARY_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_ZORBA_BASE64_DECODE_2); } { DECL_WITH_KIND(sctx, fn_zorba_base64_encode, (createQName("http://zorba.io/modules/base64","","encode"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.BASE64BINARY_TYPE_ONE), FunctionConsts::FN_ZORBA_BASE64_ENCODE_1); } }
void populate_context_parse_fragment_impl(static_context* sctx) { // Note: the actual type of the 2nd param should be element(options)? // However, we cannot use a non-builtin type in the signature of a builtin // function. That's why we use type element() here and do special handling // of this function in the translator. DECL_WITH_KIND(sctx, fn_zorba_xml_parse, (createQName(static_context::ZORBA_XML_FN_NS, "", "parse"), GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.ELEMENT_TYPE_QUESTION, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR), FunctionConsts::FN_ZORBA_XML_PARSE_2); }
void populate_context_dctx(static_context* sctx) { { DECL_WITH_KIND(sctx, fn_zorba_dctx_snapshot_id, (createQName("http://zorba.io/modules/dctx","","snapshot-id"), GENV_TYPESYSTEM.UNSIGNED_LONG_TYPE_ONE), FunctionConsts::FN_ZORBA_DCTX_SNAPSHOT_ID_0); } }
void populate_context_strings_impl(static_context* sctx) { { DECL_WITH_KIND(sctx, fn_analyze_string_3_0, (createQName("http://www.w3.org/2005/xpath-functions","","analyze-string"), GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.ELEMENT_TYPE_ONE), FunctionConsts::FN_ANALYZE_STRING_2); } { DECL_WITH_KIND(sctx, fn_analyze_string_3_0, (createQName("http://www.w3.org/2005/xpath-functions","","analyze-string"), GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.ELEMENT_TYPE_ONE), FunctionConsts::FN_ANALYZE_STRING_3); } }
void populate_context_booleans_impl(static_context* sctx) { const char* xquery_op_ns = static_context::XQUERY_OP_NS; const char* fn_ns = static_context::W3C_FN_NS; // Boolean DECL(sctx, fn_true, (createQName(fn_ns, "", "true"), GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); DECL(sctx, fn_false, (createQName(fn_ns, "", "false"), GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); DECL(sctx, fn_boolean, (createQName(fn_ns, "", "boolean"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); DECL(sctx, fn_not, (createQName(fn_ns, "", "not"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); // Logic DECL(sctx, op_and, (createQName(xquery_op_ns, "", "and"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, true, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); DECL(sctx, op_or, (createQName(xquery_op_ns, "", "or"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, true, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); }
void populate_context_durations_dates_times_impl(static_context *sctx) { const char* xquery_op_ns = static_context::XQUERY_OP_NS; const char* fn_ns = static_context::W3C_FN_NS; // begin date time DECL(sctx, fn_datetime_ctor, (createQName(fn_ns,"", "dateTime"), GENV_TYPESYSTEM.DATE_TYPE_QUESTION, GENV_TYPESYSTEM.TIME_TYPE_QUESTION, GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION)); DECL(sctx, op_ym_durations_add, (createQName(xquery_op_ns, "", "add-yearMonthDurations"), GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE, GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE, GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE)); DECL(sctx, op_dt_durations_add, (createQName(xquery_op_ns, "", "add-dayTimeDurations"), GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE)); DECL(sctx, op_ym_durations_subtract, (createQName(xquery_op_ns, "", "subtract-yearMonthDurations"), GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE, GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE, GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE)); DECL(sctx, op_dt_durations_subtract, (createQName(xquery_op_ns, "", "subtract-dayTimeDurations"), GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE)); DECL(sctx, op_ym_duration_multiply, (createQName(xquery_op_ns, "", "multiply-yearMonthDuration"), GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DOUBLE_TYPE_ONE, GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE)); DECL(sctx, op_dt_duration_multiply, (createQName(xquery_op_ns, "", "multiply-dayTimeDuration"), GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DOUBLE_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE)); DECL(sctx, op_ym_duration_divide, (createQName(xquery_op_ns, "", "divide-yearMonthDuration"), GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DOUBLE_TYPE_ONE, GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE)); DECL(sctx, op_dt_duration_divide, (createQName(xquery_op_ns, "", "divide-dayTimeDuration"), GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DOUBLE_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE)); DECL(sctx, op_divide_ymd_by_ymd, (createQName(xquery_op_ns ,"", "divide-yearMonthDuration-by-yearMonthDuration"), GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE, GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DECIMAL_TYPE_ONE)); DECL(sctx, op_divide_dtd_by_dtd, (createQName(xquery_op_ns, "", "divide-dayTimeDuration-by-dayTimeDuration"), GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DECIMAL_TYPE_ONE)); DECL(sctx, op_sub_dt, (createQName(xquery_op_ns, "", "subtract-dateTimes"), GENV_TYPESYSTEM.DATETIME_TYPE_ONE, GENV_TYPESYSTEM.DATETIME_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_QUESTION)); DECL(sctx, op_sub_d, (createQName(xquery_op_ns, "", "subtract-dates"), GENV_TYPESYSTEM.DATE_TYPE_ONE, GENV_TYPESYSTEM.DATE_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_QUESTION)); DECL(sctx, op_sub_t, (createQName(xquery_op_ns, "", "subtract-times"), GENV_TYPESYSTEM.TIME_TYPE_ONE, GENV_TYPESYSTEM.TIME_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE)); DECL(sctx, op_add_ymd_to_dt, (createQName(xquery_op_ns, "", "add-yearMonthDuration-to-dateTime"), GENV_TYPESYSTEM.DATETIME_TYPE_ONE, GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DATETIME_TYPE_ONE)); DECL(sctx, op_add_dtd_to_dt, (createQName(xquery_op_ns, "", "add-dayTimeDuration-to-dateTime"), GENV_TYPESYSTEM.DATETIME_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DATETIME_TYPE_ONE)); DECL(sctx, op_sub_ymd_from_dt, (createQName(xquery_op_ns, "", "subtract-yearMonthDuration-from-dateTime"), GENV_TYPESYSTEM.DATETIME_TYPE_ONE, GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DATETIME_TYPE_ONE)); DECL(sctx, op_sub_dtd_from_dt, (createQName(xquery_op_ns, "", "subtract-dayTimeDuration-from-dateTime"), GENV_TYPESYSTEM.DATETIME_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DATETIME_TYPE_ONE)); DECL(sctx, op_add_ymd_to_d, (createQName(xquery_op_ns, "", "add-yearMonthDuration-to-date"), GENV_TYPESYSTEM.DATE_TYPE_ONE, GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DATE_TYPE_ONE)); DECL(sctx, op_add_dtd_to_d, (createQName(xquery_op_ns, "", "add-dayTimeDuration-to-date"), GENV_TYPESYSTEM.DATE_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DATE_TYPE_ONE)); DECL(sctx, op_sub_ymd_from_d, (createQName(xquery_op_ns, "", "subtract-yearMonthDuration-from-date"), GENV_TYPESYSTEM.DATE_TYPE_ONE, GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DATE_TYPE_ONE)); DECL(sctx, op_sub_dtd_from_d, (createQName(xquery_op_ns, "", "subtract-dayTimeDuration-from-date"), GENV_TYPESYSTEM.DATE_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.DATE_TYPE_ONE)); DECL(sctx, op_add_dtd_to_t, (createQName(xquery_op_ns, "", "add-dayTimeDuration-to-time"), GENV_TYPESYSTEM.TIME_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.TIME_TYPE_ONE)); DECL(sctx, op_sub_dtd_from_t, (createQName(xquery_op_ns, "", "subtract-dayTimeDuration-from-time"), GENV_TYPESYSTEM.TIME_TYPE_ONE, GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE, GENV_TYPESYSTEM.TIME_TYPE_ONE)); DECL(sctx, fn_adjust_dt_to_tz_1, (createQName(fn_ns, "", "adjust-dateTime-to-timezone"), GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION, GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION)); DECL(sctx, fn_adjust_dt_to_tz_2, (createQName (fn_ns, "", "adjust-dateTime-to-timezone"), GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION, GENV_TYPESYSTEM.DT_DURATION_TYPE_QUESTION, GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION)); DECL(sctx, fn_adjust_d_to_tz_1, (createQName (fn_ns, "", "adjust-date-to-timezone"), GENV_TYPESYSTEM.DATE_TYPE_QUESTION, GENV_TYPESYSTEM.DATE_TYPE_QUESTION)); DECL(sctx, fn_adjust_d_to_tz_2, (createQName (fn_ns, "", "adjust-date-to-timezone"), GENV_TYPESYSTEM.DATE_TYPE_QUESTION, GENV_TYPESYSTEM.DT_DURATION_TYPE_QUESTION, GENV_TYPESYSTEM.DATE_TYPE_QUESTION)); DECL(sctx, fn_adjust_t_to_tz_1, (createQName (fn_ns, "", "adjust-time-to-timezone"), GENV_TYPESYSTEM.TIME_TYPE_QUESTION, GENV_TYPESYSTEM.TIME_TYPE_QUESTION)); DECL(sctx, fn_adjust_t_to_tz_2, (createQName (fn_ns, "", "adjust-time-to-timezone"), GENV_TYPESYSTEM.TIME_TYPE_QUESTION, GENV_TYPESYSTEM.DT_DURATION_TYPE_QUESTION, GENV_TYPESYSTEM.TIME_TYPE_QUESTION)); DECL(sctx, fn_format_datetime_4, (createQName (fn_ns, "", "format-dateTime"), GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_QUESTION)); DECL(sctx, fn_format_datetime_2, (createQName (fn_ns, "", "format-dateTime"), GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_QUESTION)); DECL(sctx, fn_format_date_4, (createQName (fn_ns, "", "format-date"), GENV_TYPESYSTEM.DATE_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_QUESTION)); DECL(sctx, fn_format_date_2, (createQName (fn_ns, "", "format-date"), GENV_TYPESYSTEM.DATE_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_QUESTION)); DECL(sctx, fn_format_time_4, (createQName (fn_ns, "", "format-time"), GENV_TYPESYSTEM.TIME_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_QUESTION)); DECL(sctx, fn_format_time_2, (createQName (fn_ns, "", "format-time"), GENV_TYPESYSTEM.TIME_TYPE_QUESTION, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_QUESTION)); // end date time }
void populate_context_durations_dates_times(static_context* sctx) { { DECL_WITH_KIND(sctx, fn_years_from_duration, (createQName("http://www.w3.org/2005/xpath-functions","","years-from-duration"), GENV_TYPESYSTEM.DURATION_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_YEARS_FROM_DURATION_1); } { DECL_WITH_KIND(sctx, fn_months_from_duration, (createQName("http://www.w3.org/2005/xpath-functions","","months-from-duration"), GENV_TYPESYSTEM.DURATION_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_MONTHS_FROM_DURATION_1); } { DECL_WITH_KIND(sctx, fn_days_from_duration, (createQName("http://www.w3.org/2005/xpath-functions","","days-from-duration"), GENV_TYPESYSTEM.DURATION_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_DAYS_FROM_DURATION_1); } { DECL_WITH_KIND(sctx, fn_hours_from_duration, (createQName("http://www.w3.org/2005/xpath-functions","","hours-from-duration"), GENV_TYPESYSTEM.DURATION_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_HOURS_FROM_DURATION_1); } { DECL_WITH_KIND(sctx, fn_minutes_from_duration, (createQName("http://www.w3.org/2005/xpath-functions","","minutes-from-duration"), GENV_TYPESYSTEM.DURATION_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_MINUTES_FROM_DURATION_1); } { DECL_WITH_KIND(sctx, fn_seconds_from_duration, (createQName("http://www.w3.org/2005/xpath-functions","","seconds-from-duration"), GENV_TYPESYSTEM.DURATION_TYPE_QUESTION, GENV_TYPESYSTEM.DECIMAL_TYPE_QUESTION), FunctionConsts::FN_SECONDS_FROM_DURATION_1); } { DECL_WITH_KIND(sctx, fn_year_from_dateTime, (createQName("http://www.w3.org/2005/xpath-functions","","year-from-dateTime"), GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_YEAR_FROM_DATETIME_1); } { DECL_WITH_KIND(sctx, fn_month_from_dateTime, (createQName("http://www.w3.org/2005/xpath-functions","","month-from-dateTime"), GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_MONTH_FROM_DATETIME_1); } { DECL_WITH_KIND(sctx, fn_day_from_dateTime, (createQName("http://www.w3.org/2005/xpath-functions","","day-from-dateTime"), GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_DAY_FROM_DATETIME_1); } { DECL_WITH_KIND(sctx, fn_hours_from_dateTime, (createQName("http://www.w3.org/2005/xpath-functions","","hours-from-dateTime"), GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_HOURS_FROM_DATETIME_1); } { DECL_WITH_KIND(sctx, fn_minutes_from_dateTime, (createQName("http://www.w3.org/2005/xpath-functions","","minutes-from-dateTime"), GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_MINUTES_FROM_DATETIME_1); } { DECL_WITH_KIND(sctx, fn_seconds_from_dateTime, (createQName("http://www.w3.org/2005/xpath-functions","","seconds-from-dateTime"), GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION, GENV_TYPESYSTEM.DECIMAL_TYPE_QUESTION), FunctionConsts::FN_SECONDS_FROM_DATETIME_1); } { DECL_WITH_KIND(sctx, fn_timezone_from_dateTime, (createQName("http://www.w3.org/2005/xpath-functions","","timezone-from-dateTime"), GENV_TYPESYSTEM.DATETIME_TYPE_QUESTION, GENV_TYPESYSTEM.DT_DURATION_TYPE_QUESTION), FunctionConsts::FN_TIMEZONE_FROM_DATETIME_1); } { DECL_WITH_KIND(sctx, fn_year_from_date, (createQName("http://www.w3.org/2005/xpath-functions","","year-from-date"), GENV_TYPESYSTEM.DATE_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_YEAR_FROM_DATE_1); } { DECL_WITH_KIND(sctx, fn_month_from_date, (createQName("http://www.w3.org/2005/xpath-functions","","month-from-date"), GENV_TYPESYSTEM.DATE_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_MONTH_FROM_DATE_1); } { DECL_WITH_KIND(sctx, fn_day_from_date, (createQName("http://www.w3.org/2005/xpath-functions","","day-from-date"), GENV_TYPESYSTEM.DATE_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_DAY_FROM_DATE_1); } { DECL_WITH_KIND(sctx, fn_timezone_from_date, (createQName("http://www.w3.org/2005/xpath-functions","","timezone-from-date"), GENV_TYPESYSTEM.DATE_TYPE_QUESTION, GENV_TYPESYSTEM.DT_DURATION_TYPE_QUESTION), FunctionConsts::FN_TIMEZONE_FROM_DATE_1); } { DECL_WITH_KIND(sctx, fn_hours_from_time, (createQName("http://www.w3.org/2005/xpath-functions","","hours-from-time"), GENV_TYPESYSTEM.TIME_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_HOURS_FROM_TIME_1); } { DECL_WITH_KIND(sctx, fn_minutes_from_time, (createQName("http://www.w3.org/2005/xpath-functions","","minutes-from-time"), GENV_TYPESYSTEM.TIME_TYPE_QUESTION, GENV_TYPESYSTEM.INTEGER_TYPE_QUESTION), FunctionConsts::FN_MINUTES_FROM_TIME_1); } { DECL_WITH_KIND(sctx, fn_seconds_from_time, (createQName("http://www.w3.org/2005/xpath-functions","","seconds-from-time"), GENV_TYPESYSTEM.TIME_TYPE_QUESTION, GENV_TYPESYSTEM.DECIMAL_TYPE_QUESTION), FunctionConsts::FN_SECONDS_FROM_TIME_1); } { DECL_WITH_KIND(sctx, fn_timezone_from_time, (createQName("http://www.w3.org/2005/xpath-functions","","timezone-from-time"), GENV_TYPESYSTEM.TIME_TYPE_QUESTION, GENV_TYPESYSTEM.DT_DURATION_TYPE_QUESTION), FunctionConsts::FN_TIMEZONE_FROM_TIME_1); } }
void populateContext_DocOrder(static_context* sctx) { const char* zorba_op_ns = static_context::ZORBA_OP_NS; DECL(sctx, op_either_nodes_or_atomics, (createQName(zorba_op_ns,"","either-nodes-or-atomics"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.ITEM_TYPE_STAR)); DECL(sctx, op_distinct_nodes, (createQName(zorba_op_ns,"","distinct-nodes"), GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR)); DECL(sctx, op_check_distinct_nodes, (createQName(zorba_op_ns,"","check-distinct-nodes"), GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR)); DECL(sctx, op_distinct_nodes_or_atomics, (createQName(zorba_op_ns,"","distinct-nodes-or-atomics"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.ITEM_TYPE_STAR)); DECL(sctx, op_sort_nodes_ascending, (createQName(zorba_op_ns,"","sort-nodes-asc"), GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR)); DECL(sctx, op_sort_nodes_asc_or_atomics, (createQName(zorba_op_ns,"","sort-nodes-asc-or-atomics"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.ITEM_TYPE_STAR)); #if 0 DECL(sctx, op_sort_nodes_descending, (createQName(zorba_op_ns,"","sort-nodes-desc"), GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR)); DECL(sctx, op_sort_nodes_desc_or_atomics, (createQName(zorba_op_ns,"","sort-nodes-desc-or-atomics"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.ITEM_TYPE_STAR)); #endif DECL(sctx, op_sort_distinct_nodes_ascending, (createQName(zorba_op_ns,"","sort-distinct-nodes-asc"), GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR)); DECL(sctx, op_sort_distinct_nodes_asc_or_atomics, (createQName(zorba_op_ns, "", "sort-distinct-nodes-asc-or-atomics"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.ITEM_TYPE_STAR)); #if 0 DECL(sctx, op_sort_distinct_nodes_descending, (createQName(zorba_op_ns, "", "sort-distinct-nodes-desc"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.ITEM_TYPE_STAR)); DECL(sctx, op_sort_distinct_nodes_descending_or_atomics, (createQName(zorba_op_ns, "", "sort-distinct-nodes-desc-or-atomics"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.ITEM_TYPE_STAR)); #endif }
void populateContext_Comparison(static_context* sctx) { const char* zorba_ns = static_context::ZORBA_OP_NS; // General Comparison; DECL(sctx, op_equal, (createQName(zorba_ns, "", "equal"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); DECL(sctx, op_not_equal, (createQName(zorba_ns, "", "not-equal"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); DECL(sctx, op_greater, (createQName(zorba_ns, "", "greater"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); DECL(sctx, op_greater_equal, (createQName(zorba_ns, "", "greater-equal"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); DECL(sctx, op_less, (createQName(zorba_ns, "", "less"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); DECL(sctx, op_less_equal, (createQName(zorba_ns, "", "less-equal"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); // Value Comparison #define DECL_TYPED_VAL( sctx, op, name, type, xqt ) \ DECL(sctx, op_value_##op##_##type, \ (createQName (zorba_ns, "", "value-" name "-" #type), \ GENV_TYPESYSTEM.xqt##_TYPE_QUESTION, \ GENV_TYPESYSTEM.xqt##_TYPE_QUESTION, \ GENV_TYPESYSTEM.BOOLEAN_TYPE_QUESTION)) #define DECL_ALL_VAL( sctx, op, name ) \ DECL(sctx, op_value_##op, \ (createQName (zorba_ns, "", "value-" name), \ GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_QUESTION, \ GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_QUESTION, \ GENV_TYPESYSTEM.BOOLEAN_TYPE_QUESTION)); \ \ DECL_TYPED_VAL( sctx, op, name, double, DOUBLE ); \ DECL_TYPED_VAL( sctx, op, name, float, FLOAT ); \ DECL_TYPED_VAL( sctx, op, name, decimal, DECIMAL ); \ DECL_TYPED_VAL( sctx, op, name, integer, INTEGER ); \ DECL_TYPED_VAL( sctx, op, name, string, STRING ) DECL_ALL_VAL(sctx, equal, "equal"); DECL_ALL_VAL(sctx, not_equal, "not-equal"); DECL_ALL_VAL(sctx, less, "less"); DECL_ALL_VAL(sctx, greater, "greater"); DECL_ALL_VAL(sctx, less_equal, "less-equal"); DECL_ALL_VAL(sctx, greater_equal, "greater-equal"); #undef DECL_ALL_VAL #undef DECL_TYPED_VAL // Atomic Values Equivalent comparing function // http://www.w3.org/TR/xquery-11/#dt-equivalence-two-atomic-values DECL(sctx, op_atomic_values_equivalent, (createQName(zorba_ns, "", "atomic-values-equivalent"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_QUESTION, GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_QUESTION, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); }
void populate_context_maps(static_context* sctx) { { DECL_WITH_KIND(sctx, zorba_store_unordered_maps_create, (createQName("http://zorba.io/modules/unordered-maps","","create"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.ITEM_TYPE_ONE, GENV_TYPESYSTEM.EMPTY_TYPE), FunctionConsts::ZORBA_STORE_UNORDERED_MAPS_CREATE_2); } { DECL_WITH_KIND(sctx, zorba_store_unordered_maps_create, (createQName("http://zorba.io/modules/unordered-maps","","create"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.ITEM_TYPE_ONE, GENV_TYPESYSTEM.JSON_OBJECT_TYPE_ONE, GENV_TYPESYSTEM.EMPTY_TYPE), FunctionConsts::ZORBA_STORE_UNORDERED_MAPS_CREATE_3); } { DECL_WITH_KIND(sctx, zorba_store_unordered_maps_drop, (createQName("http://zorba.io/modules/unordered-maps","","drop"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.EMPTY_TYPE), FunctionConsts::ZORBA_STORE_UNORDERED_MAPS_DROP_1); } { DECL_WITH_KIND(sctx, zorba_store_unordered_maps_get, (createQName("http://zorba.io/modules/unordered-maps","","get"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.ITEM_TYPE_ONE, GENV_TYPESYSTEM.ITEM_TYPE_STAR), FunctionConsts::ZORBA_STORE_UNORDERED_MAPS_GET_2); } { DECL_WITH_KIND(sctx, zorba_store_unordered_maps_insert, (createQName("http://zorba.io/modules/unordered-maps","","insert"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.ITEM_TYPE_ONE, GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.EMPTY_TYPE), FunctionConsts::ZORBA_STORE_UNORDERED_MAPS_INSERT_3); } { DECL_WITH_KIND(sctx, zorba_store_unordered_maps_delete, (createQName("http://zorba.io/modules/unordered-maps","","delete"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.ITEM_TYPE_ONE, GENV_TYPESYSTEM.EMPTY_TYPE), FunctionConsts::ZORBA_STORE_UNORDERED_MAPS_DELETE_2); } { DECL_WITH_KIND(sctx, zorba_store_unordered_maps_keys, (createQName("http://zorba.io/modules/unordered-maps","","keys"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.JSON_ARRAY_TYPE_STAR), FunctionConsts::ZORBA_STORE_UNORDERED_MAPS_KEYS_1); } { DECL_WITH_KIND(sctx, zorba_store_unordered_maps_size, (createQName("http://zorba.io/modules/unordered-maps","","size"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.INTEGER_TYPE_ONE), FunctionConsts::ZORBA_STORE_UNORDERED_MAPS_SIZE_1); } { DECL_WITH_KIND(sctx, zorba_store_unordered_maps_available_maps, (createQName("http://zorba.io/modules/unordered-maps","","available-maps"), GENV_TYPESYSTEM.STRING_TYPE_STAR), FunctionConsts::ZORBA_STORE_UNORDERED_MAPS_AVAILABLE_MAPS_0); } { DECL_WITH_KIND(sctx, zorba_store_unordered_maps_options, (createQName("http://zorba.io/modules/unordered-maps","","options"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.JSON_OBJECT_TYPE_ONE), FunctionConsts::ZORBA_STORE_UNORDERED_MAPS_OPTIONS_1); } }
void populate_context_ft_module(static_context* sctx) { #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_current_compare_options, (createQName("http://zorba.io/modules/full-text","","current-compare-options"), GENV_TYPESYSTEM.JSON_OBJECT_TYPE_ONE), FunctionConsts::FULL_TEXT_CURRENT_COMPARE_OPTIONS_0); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_current_lang, (createQName("http://zorba.io/modules/full-text","","current-lang"), GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE), FunctionConsts::FULL_TEXT_CURRENT_LANG_0); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_host_lang, (createQName("http://zorba.io/modules/full-text","","host-lang"), GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE), FunctionConsts::FULL_TEXT_HOST_LANG_0); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_is_stem_lang_supported, (createQName("http://zorba.io/modules/full-text","","is-stem-lang-supported"), GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE), FunctionConsts::FULL_TEXT_IS_STEM_LANG_SUPPORTED_1); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_is_stop_word, (createQName("http://zorba.io/modules/full-text","","is-stop-word"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE), FunctionConsts::FULL_TEXT_IS_STOP_WORD_1); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_is_stop_word, (createQName("http://zorba.io/modules/full-text","","is-stop-word"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE), FunctionConsts::FULL_TEXT_IS_STOP_WORD_2); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_is_stop_word_lang_supported, (createQName("http://zorba.io/modules/full-text","","is-stop-word-lang-supported"), GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE), FunctionConsts::FULL_TEXT_IS_STOP_WORD_LANG_SUPPORTED_1); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_is_thesaurus_lang_supported, (createQName("http://zorba.io/modules/full-text","","is-thesaurus-lang-supported"), GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE), FunctionConsts::FULL_TEXT_IS_THESAURUS_LANG_SUPPORTED_1); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_is_thesaurus_lang_supported, (createQName("http://zorba.io/modules/full-text","","is-thesaurus-lang-supported"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE), FunctionConsts::FULL_TEXT_IS_THESAURUS_LANG_SUPPORTED_2); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_is_tokenizer_lang_supported, (createQName("http://zorba.io/modules/full-text","","is-tokenizer-lang-supported"), GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE), FunctionConsts::FULL_TEXT_IS_TOKENIZER_LANG_SUPPORTED_1); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_stem, (createQName("http://zorba.io/modules/full-text","","stem"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FULL_TEXT_STEM_1); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_stem, (createQName("http://zorba.io/modules/full-text","","stem"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FULL_TEXT_STEM_2); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_strip_diacritics, (createQName("http://zorba.io/modules/full-text","","strip-diacritics"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FULL_TEXT_STRIP_DIACRITICS_1); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_thesaurus_lookup, (createQName("http://zorba.io/modules/full-text","","thesaurus-lookup"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_STAR), FunctionConsts::FULL_TEXT_THESAURUS_LOOKUP_1); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_thesaurus_lookup, (createQName("http://zorba.io/modules/full-text","","thesaurus-lookup"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_STAR), FunctionConsts::FULL_TEXT_THESAURUS_LOOKUP_2); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_thesaurus_lookup, (createQName("http://zorba.io/modules/full-text","","thesaurus-lookup"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_STAR), FunctionConsts::FULL_TEXT_THESAURUS_LOOKUP_3); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_thesaurus_lookup, (createQName("http://zorba.io/modules/full-text","","thesaurus-lookup"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_STAR), FunctionConsts::FULL_TEXT_THESAURUS_LOOKUP_4); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_thesaurus_lookup, (createQName("http://zorba.io/modules/full-text","","thesaurus-lookup"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.INTEGER_TYPE_ONE, GENV_TYPESYSTEM.INTEGER_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_STAR), FunctionConsts::FULL_TEXT_THESAURUS_LOOKUP_6); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_tokenize_node, (createQName("http://zorba.io/modules/full-text","","tokenize-node"), GENV_TYPESYSTEM.ANY_NODE_TYPE_ONE, GENV_TYPESYSTEM.JSON_OBJECT_TYPE_STAR), FunctionConsts::FULL_TEXT_TOKENIZE_NODE_1); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_tokenize_node, (createQName("http://zorba.io/modules/full-text","","tokenize-node"), GENV_TYPESYSTEM.ANY_NODE_TYPE_ONE, GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.JSON_OBJECT_TYPE_STAR), FunctionConsts::FULL_TEXT_TOKENIZE_NODE_2); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_tokenize_nodes, (createQName("http://zorba.io/modules/full-text","","tokenize-nodes"), GENV_TYPESYSTEM.ANY_NODE_TYPE_PLUS, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR, GENV_TYPESYSTEM.JSON_OBJECT_TYPE_STAR), FunctionConsts::FULL_TEXT_TOKENIZE_NODES_2); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_tokenize_nodes, (createQName("http://zorba.io/modules/full-text","","tokenize-nodes"), GENV_TYPESYSTEM.ANY_NODE_TYPE_PLUS, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR, GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.JSON_OBJECT_TYPE_STAR), FunctionConsts::FULL_TEXT_TOKENIZE_NODES_3); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_tokenizer_properties, (createQName("http://zorba.io/modules/full-text","","tokenizer-properties"), GENV_TYPESYSTEM.JSON_OBJECT_TYPE_ONE), FunctionConsts::FULL_TEXT_TOKENIZER_PROPERTIES_0); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_tokenizer_properties, (createQName("http://zorba.io/modules/full-text","","tokenizer-properties"), GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.JSON_OBJECT_TYPE_ONE), FunctionConsts::FULL_TEXT_TOKENIZER_PROPERTIES_1); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_tokenize_string, (createQName("http://zorba.io/modules/full-text","","tokenize-string"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_STAR), FunctionConsts::FULL_TEXT_TOKENIZE_STRING_1); } #endif #ifndef ZORBA_NO_FULL_TEXT { DECL_WITH_KIND(sctx, full_text_tokenize_string, (createQName("http://zorba.io/modules/full-text","","tokenize-string"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_STAR), FunctionConsts::FULL_TEXT_TOKENIZE_STRING_2); } #endif }
void populate_context_sctx(static_context* sctx) { { DECL_WITH_KIND(sctx, fn_zorba_sctx_base_uri, (createQName("http://zorba.io/modules/sctx","","base-uri"), GENV_TYPESYSTEM.STRING_TYPE_QUESTION), FunctionConsts::FN_ZORBA_SCTX_BASE_URI_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_boundary_space_policy, (createQName("http://zorba.io/modules/sctx","","boundary-space-policy"), GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_ZORBA_SCTX_BOUNDARY_SPACE_POLICY_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_construction_mode, (createQName("http://zorba.io/modules/sctx","","construction-mode"), GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_ZORBA_SCTX_CONSTRUCTION_MODE_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_copy_namespaces_mode, (createQName("http://zorba.io/modules/sctx","","copy-namespaces-mode"), GENV_TYPESYSTEM.STRING_TYPE_PLUS), FunctionConsts::FN_ZORBA_SCTX_COPY_NAMESPACES_MODE_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_default_collation, (createQName("http://zorba.io/modules/sctx","","default-collation"), GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_ZORBA_SCTX_DEFAULT_COLLATION_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_default_collection_type, (createQName("http://zorba.io/modules/sctx","","default-collection-type"), GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_ZORBA_SCTX_DEFAULT_COLLECTION_TYPE_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_default_function_namespace, (createQName("http://zorba.io/modules/sctx","","default-function-namespace"), GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_ZORBA_SCTX_DEFAULT_FUNCTION_NAMESPACE_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_default_order, (createQName("http://zorba.io/modules/sctx","","default-order"), GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_ZORBA_SCTX_DEFAULT_ORDER_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_function_annotations, (createQName("http://zorba.io/modules/sctx","","function-annotations"), GENV_TYPESYSTEM.QNAME_TYPE_ONE, GENV_TYPESYSTEM.INTEGER_TYPE_ONE, GENV_TYPESYSTEM.QNAME_TYPE_STAR), FunctionConsts::FN_ZORBA_SCTX_FUNCTION_ANNOTATIONS_2); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_function_arguments_count, (createQName("http://zorba.io/modules/sctx","","function-arguments-count"), GENV_TYPESYSTEM.QNAME_TYPE_ONE, GENV_TYPESYSTEM.INT_TYPE_STAR), FunctionConsts::FN_ZORBA_SCTX_FUNCTION_ARGUMENTS_COUNT_1); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_function_names, (createQName("http://zorba.io/modules/sctx","","function-names"), GENV_TYPESYSTEM.QNAME_TYPE_STAR), FunctionConsts::FN_ZORBA_SCTX_FUNCTION_NAMES_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_functions, (createQName("http://zorba.io/modules/sctx","","functions"), GENV_TYPESYSTEM.JSON_OBJECT_TYPE_STAR), FunctionConsts::FN_ZORBA_SCTX_FUNCTIONS_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_in_scope_attribute_declarations, (createQName("http://zorba.io/modules/sctx","","in-scope-attribute-declarations"), GENV_TYPESYSTEM.QNAME_TYPE_STAR), FunctionConsts::FN_ZORBA_SCTX_IN_SCOPE_ATTRIBUTE_DECLARATIONS_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_in_scope_attribute_groups, (createQName("http://zorba.io/modules/sctx","","in-scope-attribute-groups"), GENV_TYPESYSTEM.QNAME_TYPE_STAR), FunctionConsts::FN_ZORBA_SCTX_IN_SCOPE_ATTRIBUTE_GROUPS_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_in_scope_element_declarations, (createQName("http://zorba.io/modules/sctx","","in-scope-element-declarations"), GENV_TYPESYSTEM.QNAME_TYPE_STAR), FunctionConsts::FN_ZORBA_SCTX_IN_SCOPE_ELEMENT_DECLARATIONS_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_in_scope_element_groups, (createQName("http://zorba.io/modules/sctx","","in-scope-element-groups"), GENV_TYPESYSTEM.QNAME_TYPE_STAR), FunctionConsts::FN_ZORBA_SCTX_IN_SCOPE_ELEMENT_GROUPS_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_in_scope_schema_types, (createQName("http://zorba.io/modules/sctx","","in-scope-schema-types"), GENV_TYPESYSTEM.QNAME_TYPE_STAR), FunctionConsts::FN_ZORBA_SCTX_IN_SCOPE_SCHEMA_TYPES_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_in_scope_variables, (createQName("http://zorba.io/modules/sctx","","in-scope-variables"), GENV_TYPESYSTEM.QNAME_TYPE_STAR), FunctionConsts::FN_ZORBA_SCTX_IN_SCOPE_VARIABLES_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_option, (createQName("http://zorba.io/modules/sctx","","option"), GENV_TYPESYSTEM.QNAME_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_QUESTION), FunctionConsts::FN_ZORBA_SCTX_OPTION_1); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_ordering_mode, (createQName("http://zorba.io/modules/sctx","","ordering-mode"), GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_ZORBA_SCTX_ORDERING_MODE_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_statically_known_collations, (createQName("http://zorba.io/modules/sctx","","statically-known-collations"), GENV_TYPESYSTEM.ANY_URI_TYPE_STAR), FunctionConsts::FN_ZORBA_SCTX_STATICALLY_KNOWN_COLLATIONS_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_statically_known_documents, (createQName("http://zorba.io/modules/sctx","","statically-known-documents"), GENV_TYPESYSTEM.ANY_URI_TYPE_STAR), FunctionConsts::FN_ZORBA_SCTX_STATICALLY_KNOWN_DOCUMENTS_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_statically_known_document_type, (createQName("http://zorba.io/modules/sctx","","statically-known-document-type"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.QNAME_TYPE_ONE), FunctionConsts::FN_ZORBA_SCTX_STATICALLY_KNOWN_DOCUMENT_TYPE_1); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_statically_known_namespace_binding, (createQName("http://zorba.io/modules/sctx","","statically-known-namespace-binding"), GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.STRING_TYPE_QUESTION), FunctionConsts::FN_ZORBA_SCTX_STATICALLY_KNOWN_NAMESPACE_BINDING_1); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_statically_known_namespaces, (createQName("http://zorba.io/modules/sctx","","statically-known-namespaces"), GENV_TYPESYSTEM.STRING_TYPE_STAR), FunctionConsts::FN_ZORBA_SCTX_STATICALLY_KNOWN_NAMESPACES_0); } { DECL_WITH_KIND(sctx, fn_zorba_sctx_xpath10_compatibility_mode, (createQName("http://zorba.io/modules/sctx","","xpath10-compatibility-mode"), GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE), FunctionConsts::FN_ZORBA_SCTX_XPATH10_COMPATIBILITY_MODE_0); } }
void populate_context_context(static_context* sctx) { { DECL_WITH_KIND(sctx, fn_current_dateTime, (createQName("http://www.w3.org/2005/xpath-functions","","current-dateTime"), GENV_TYPESYSTEM.DATETIME_STAMP_TYPE_ONE), FunctionConsts::FN_CURRENT_DATETIME_0); } { DECL_WITH_KIND(sctx, fn_current_date, (createQName("http://www.w3.org/2005/xpath-functions","","current-date"), GENV_TYPESYSTEM.DATE_TYPE_ONE), FunctionConsts::FN_CURRENT_DATE_0); } { DECL_WITH_KIND(sctx, fn_current_time, (createQName("http://www.w3.org/2005/xpath-functions","","current-time"), GENV_TYPESYSTEM.TIME_TYPE_ONE), FunctionConsts::FN_CURRENT_TIME_0); } { DECL_WITH_KIND(sctx, fn_implicit_timezone, (createQName("http://www.w3.org/2005/xpath-functions","","implicit-timezone"), GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE), FunctionConsts::FN_IMPLICIT_TIMEZONE_0); } { DECL_WITH_KIND(sctx, fn_default_collation, (createQName("http://www.w3.org/2005/xpath-functions","","default-collation"), GENV_TYPESYSTEM.STRING_TYPE_ONE), FunctionConsts::FN_DEFAULT_COLLATION_0); } { DECL_WITH_KIND(sctx, fn_position, (createQName("http://www.w3.org/2005/xpath-functions","","position"), GENV_TYPESYSTEM.INTEGER_TYPE_ONE), FunctionConsts::FN_POSITION_0); } { DECL_WITH_KIND(sctx, fn_last, (createQName("http://www.w3.org/2005/xpath-functions","","last"), GENV_TYPESYSTEM.INTEGER_TYPE_ONE), FunctionConsts::FN_LAST_0); } { DECL_WITH_KIND(sctx, fn_static_base_uri, (createQName("http://www.w3.org/2005/xpath-functions","","static-base-uri"), GENV_TYPESYSTEM.ANY_URI_TYPE_QUESTION), FunctionConsts::FN_STATIC_BASE_URI_0); } }
void populate_context_sequences_impl(static_context* sctx) { const char* xquery_op_ns = static_context::XQUERY_OP_NS; const char* zorba_op_ns = static_context::ZORBA_OP_NS; const char* fn_ns = static_context::W3C_FN_NS; DECL(sctx, fn_unordered, (createQName(fn_ns, "", "unordered"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.ITEM_TYPE_STAR)); DECL(sctx, fn_exactly_one, (createQName(fn_ns, "", "exactly-one"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.ITEM_TYPE_ONE)); DECL(sctx, fn_exactly_one_noraise, (createQName(zorba_op_ns, "", "exactly-one-noraise"), GENV_TYPESYSTEM.ITEM_TYPE_STAR, GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE)); DECL(sctx, fn_union, (createQName(xquery_op_ns,"","union"), GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR)); DECL(sctx, fn_intersect, (createQName(xquery_op_ns,"","intersect"), GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR)); DECL(sctx, fn_except, (createQName(xquery_op_ns,"","except"), GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR, GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR)); DECL(sctx, fn_max, (createQName(fn_ns,"","max"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_QUESTION)); DECL(sctx, fn_max, (createQName(fn_ns,"","max"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_QUESTION)); DECL(sctx, fn_min, (createQName(fn_ns,"","min"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_QUESTION)); DECL(sctx, fn_min, (createQName(fn_ns,"","min"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.STRING_TYPE_ONE, GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_QUESTION)); DECL(sctx, fn_head, (createQName(fn_ns,"","head"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_QUESTION)); DECL(sctx, fn_tail, (createQName(fn_ns,"","tail"), GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR, GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_STAR)); }