[
  {
    "type": "_common_content",
    "named": true,
    "subtypes": [
      {
        "type": "char_ref",
        "named": true
      },
      {
        "type": "enclosed_expr",
        "named": true
      },
      {
        "type": "escape_enclosed",
        "named": true
      },
      {
        "type": "predefined_entity_ref",
        "named": true
      }
    ]
  },
  {
    "type": "_computed_constructor",
    "named": true,
    "subtypes": [
      {
        "type": "comp_attr_constructor",
        "named": true
      },
      {
        "type": "comp_comment_constructor",
        "named": true
      },
      {
        "type": "comp_doc_constructor",
        "named": true
      },
      {
        "type": "comp_elem_constructor",
        "named": true
      },
      {
        "type": "comp_namespace_constructor",
        "named": true
      },
      {
        "type": "comp_pi_constructor",
        "named": true
      },
      {
        "type": "comp_text_constructor",
        "named": true
      }
    ]
  },
  {
    "type": "_general_comp",
    "named": true,
    "subtypes": [
      {
        "type": "!=",
        "named": false
      },
      {
        "type": "<",
        "named": false
      },
      {
        "type": "<=",
        "named": false
      },
      {
        "type": "=",
        "named": false
      },
      {
        "type": ">",
        "named": false
      },
      {
        "type": ">=",
        "named": false
      }
    ]
  },
  {
    "type": "_item_type",
    "named": true,
    "subtypes": [
      {
        "type": "_kind_test",
        "named": true
      },
      {
        "type": "any_array_test",
        "named": true
      },
      {
        "type": "any_function_test",
        "named": true
      },
      {
        "type": "any_item",
        "named": true
      },
      {
        "type": "any_map_test",
        "named": true
      },
      {
        "type": "atomic_or_union_type",
        "named": true
      },
      {
        "type": "parenthesized_item_type",
        "named": true
      },
      {
        "type": "typed_array_test",
        "named": true
      },
      {
        "type": "typed_function_test",
        "named": true
      },
      {
        "type": "typed_map_test",
        "named": true
      }
    ]
  },
  {
    "type": "_kind_test",
    "named": true,
    "subtypes": [
      {
        "type": "any_kind_test",
        "named": true
      },
      {
        "type": "attribute_test",
        "named": true
      },
      {
        "type": "comment_test",
        "named": true
      },
      {
        "type": "document_test",
        "named": true
      },
      {
        "type": "element_test",
        "named": true
      },
      {
        "type": "namespace_node_test",
        "named": true
      },
      {
        "type": "pi_test",
        "named": true
      },
      {
        "type": "schema_attribute_test",
        "named": true
      },
      {
        "type": "schema_element_test",
        "named": true
      },
      {
        "type": "text_test",
        "named": true
      }
    ]
  },
  {
    "type": "_node_comp",
    "named": true,
    "subtypes": [
      {
        "type": "<<",
        "named": false
      },
      {
        "type": ">>",
        "named": false
      },
      {
        "type": "is",
        "named": false
      }
    ]
  },
  {
    "type": "_node_constructor",
    "named": true,
    "subtypes": [
      {
        "type": "_computed_constructor",
        "named": true
      },
      {
        "type": "direct_constructor",
        "named": true
      }
    ]
  },
  {
    "type": "_numeric_literal",
    "named": true,
    "subtypes": [
      {
        "type": "decimal_literal",
        "named": true
      },
      {
        "type": "double_literal",
        "named": true
      },
      {
        "type": "integer_literal",
        "named": true
      }
    ]
  },
  {
    "type": "_primary_expr",
    "named": true,
    "subtypes": [
      {
        "type": "_node_constructor",
        "named": true
      },
      {
        "type": "_numeric_literal",
        "named": true
      },
      {
        "type": "context_item_expr",
        "named": true
      },
      {
        "type": "curly_array_constructor",
        "named": true
      },
      {
        "type": "function_call",
        "named": true
      },
      {
        "type": "function_item_expr",
        "named": true
      },
      {
        "type": "map_constructor",
        "named": true
      },
      {
        "type": "ordered_expr",
        "named": true
      },
      {
        "type": "parenthesized_expr",
        "named": true
      },
      {
        "type": "square_array_constructor",
        "named": true
      },
      {
        "type": "string_constructor",
        "named": true
      },
      {
        "type": "string_literal",
        "named": true
      },
      {
        "type": "unary_lookup",
        "named": true
      },
      {
        "type": "unordered_expr",
        "named": true
      },
      {
        "type": "var_ref",
        "named": true
      }
    ]
  },
  {
    "type": "_setter",
    "named": true,
    "subtypes": [
      {
        "type": "base_uri_declaration",
        "named": true
      },
      {
        "type": "boundary_space_declaration",
        "named": true
      },
      {
        "type": "construction_declaration",
        "named": true
      },
      {
        "type": "copy_namespaces_declaration",
        "named": true
      },
      {
        "type": "decimal_format_declaration",
        "named": true
      },
      {
        "type": "default_collation_declaration",
        "named": true
      },
      {
        "type": "empty_order_declaration",
        "named": true
      },
      {
        "type": "ordering_mode_declaration",
        "named": true
      }
    ]
  },
  {
    "type": "_value_comp",
    "named": true,
    "subtypes": [
      {
        "type": "eq",
        "named": false
      },
      {
        "type": "ge",
        "named": false
      },
      {
        "type": "gt",
        "named": false
      },
      {
        "type": "le",
        "named": false
      },
      {
        "type": "lt",
        "named": false
      },
      {
        "type": "ne",
        "named": false
      }
    ]
  },
  {
    "type": "abbrev_forward_step",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_kind_test",
          "named": true
        },
        {
          "type": "name_test",
          "named": true
        }
      ]
    }
  },
  {
    "type": "absolute_path_expr",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "rel_path_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "additive_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "lhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "and_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "lhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "annotation",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_numeric_literal",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "uri_qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "any_array_test",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "wildcard",
          "named": true
        }
      ]
    }
  },
  {
    "type": "any_function_test",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "annotation",
          "named": true
        },
        {
          "type": "wildcard",
          "named": true
        }
      ]
    }
  },
  {
    "type": "any_item",
    "named": true,
    "fields": {}
  },
  {
    "type": "any_kind_test",
    "named": true,
    "fields": {}
  },
  {
    "type": "any_map_test",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "wildcard",
          "named": true
        }
      ]
    }
  },
  {
    "type": "arg_list",
    "named": true,
    "fields": {
      "arg": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "placeholder",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "arrow_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "expression_value": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "arrow_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "arrow_function",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "arg_list",
          "named": true
        },
        {
          "type": "parenthesized_expr",
          "named": true
        },
        {
          "type": "uri_qualified_name",
          "named": true
        },
        {
          "type": "var_ref",
          "named": true
        }
      ]
    }
  },
  {
    "type": "atomic_or_union_type",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "uri_qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "attribute_test",
    "named": true,
    "fields": {
      "attribute_name": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": ":",
            "named": false
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "uri_qualified_name",
            "named": true
          }
        ]
      },
      "local": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type_name": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": ":",
            "named": false
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "uri_qualified_name",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "wildcard",
          "named": true
        }
      ]
    }
  },
  {
    "type": "attribute_value",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_common_content",
          "named": true
        },
        {
          "type": "char_data",
          "named": true
        },
        {
          "type": "escape_apos",
          "named": true
        },
        {
          "type": "escape_quote",
          "named": true
        }
      ]
    }
  },
  {
    "type": "bang_expr",
    "named": true,
    "fields": {
      "dynamic_context": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "sequence": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "base_uri_declaration",
    "named": true,
    "fields": {
      "uri": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "string_literal",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "boundary_space_declaration",
    "named": true,
    "fields": {}
  },
  {
    "type": "braced_uri_literal",
    "named": true,
    "fields": {}
  },
  {
    "type": "cast_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "lhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "simple_type": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": ":",
            "named": false
          },
          {
            "type": "?",
            "named": false
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "uri_qualified_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "castable_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "lhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "simple_type": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": ":",
            "named": false
          },
          {
            "type": "?",
            "named": false
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "uri_qualified_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "catch_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "catch_error_list",
          "named": true
        },
        {
          "type": "enclosed_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "catch_error_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "name_test",
          "named": true
        }
      ]
    }
  },
  {
    "type": "comment",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "comment",
          "named": true
        }
      ]
    }
  },
  {
    "type": "comment_test",
    "named": true,
    "fields": {}
  },
  {
    "type": "comp_attr_constructor",
    "named": true,
    "fields": {
      "content": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "enclosed_expr",
            "named": true
          }
        ]
      },
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        },
        {
          "type": "uri_qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "comp_comment_constructor",
    "named": true,
    "fields": {
      "content": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "enclosed_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "comp_doc_constructor",
    "named": true,
    "fields": {
      "content": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "enclosed_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "comp_elem_constructor",
    "named": true,
    "fields": {
      "content": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "enclosed_expr",
            "named": true
          }
        ]
      },
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        },
        {
          "type": "uri_qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "comp_namespace_constructor",
    "named": true,
    "fields": {
      "content": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "enclosed_expr",
            "named": true
          }
        ]
      },
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": ",",
            "named": false
          },
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          },
          {
            "type": "{",
            "named": false
          },
          {
            "type": "}",
            "named": false
          }
        ]
      }
    }
  },
  {
    "type": "comp_pi_constructor",
    "named": true,
    "fields": {
      "content": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "enclosed_expr",
            "named": true
          }
        ]
      },
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": ",",
            "named": false
          },
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          },
          {
            "type": "{",
            "named": false
          },
          {
            "type": "}",
            "named": false
          }
        ]
      }
    }
  },
  {
    "type": "comp_text_constructor",
    "named": true,
    "fields": {
      "content": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "enclosed_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "comparison_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "lhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_general_comp",
          "named": true
        },
        {
          "type": "_node_comp",
          "named": true
        },
        {
          "type": "_value_comp",
          "named": true
        }
      ]
    }
  },
  {
    "type": "construction_declaration",
    "named": true,
    "fields": {}
  },
  {
    "type": "context_item_declaration",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "var_value": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": ",",
            "named": false
          },
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "type_declaration",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "copy_namespaces_declaration",
    "named": true,
    "fields": {}
  },
  {
    "type": "count_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "variable",
          "named": true
        }
      ]
    }
  },
  {
    "type": "curly_array_constructor",
    "named": true,
    "fields": {
      "content": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "enclosed_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "decimal_format_declaration",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "df_property_define",
          "named": true
        },
        {
          "type": "uri_qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "default_collation_declaration",
    "named": true,
    "fields": {
      "uri": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "string_literal",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "default_namespace_declaration",
    "named": true,
    "fields": {
      "uri": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "string_literal",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "df_property_define",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "string_literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "direct_attribute",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "attribute_value",
          "named": true
        }
      ]
    }
  },
  {
    "type": "direct_comment",
    "named": true,
    "fields": {}
  },
  {
    "type": "direct_constructor",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "direct_comment",
          "named": true
        },
        {
          "type": "direct_element",
          "named": true
        }
      ]
    }
  },
  {
    "type": "direct_element",
    "named": true,
    "fields": {
      "content": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "char_data",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_common_content",
          "named": true
        },
        {
          "type": "direct_constructor",
          "named": true
        },
        {
          "type": "empty_tag",
          "named": true
        },
        {
          "type": "end_tag",
          "named": true
        },
        {
          "type": "start_tag",
          "named": true
        }
      ]
    }
  },
  {
    "type": "document_test",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "element_test",
          "named": true
        },
        {
          "type": "schema_element_test",
          "named": true
        }
      ]
    }
  },
  {
    "type": "element_test",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "element_test_params",
          "named": true
        }
      ]
    }
  },
  {
    "type": "element_test_params",
    "named": true,
    "fields": {
      "local": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": ":",
            "named": false
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "uri_qualified_name",
            "named": true
          },
          {
            "type": "wildcard",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": ":",
            "named": false
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "occurrence_indicator",
            "named": true
          },
          {
            "type": "uri_qualified_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "empty_order_declaration",
    "named": true,
    "fields": {}
  },
  {
    "type": "empty_tag",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "direct_attribute",
          "named": true
        }
      ]
    }
  },
  {
    "type": "enclosed_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "end_tag",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "escape_enclosed",
    "named": true,
    "fields": {
      "content": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "{{",
            "named": false
          },
          {
            "type": "}}",
            "named": false
          }
        ]
      }
    }
  },
  {
    "type": "flwor_expr",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "count_clause",
          "named": true
        },
        {
          "type": "for_clause",
          "named": true
        },
        {
          "type": "group_by_clause",
          "named": true
        },
        {
          "type": "let_clause",
          "named": true
        },
        {
          "type": "order_by_clause",
          "named": true
        },
        {
          "type": "return_clause",
          "named": true
        },
        {
          "type": "sliding_window_clause",
          "named": true
        },
        {
          "type": "tumbling_window_clause",
          "named": true
        },
        {
          "type": "where_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "for_binding",
    "named": true,
    "fields": {
      "binding_sequence": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "positional_variable": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "type_declaration",
          "named": true
        },
        {
          "type": "uri_qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "for_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "for_binding",
          "named": true
        }
      ]
    }
  },
  {
    "type": "forward_axis",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_kind_test",
          "named": true
        },
        {
          "type": "name_test",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_call",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "arg_list",
          "named": true
        },
        {
          "type": "uri_qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_declaration",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "enclosed_expr",
            "named": true
          },
          {
            "type": "external",
            "named": false
          }
        ]
      },
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "return_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_declaration",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "annotation",
          "named": true
        },
        {
          "type": "param_list",
          "named": true
        },
        {
          "type": "uri_qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_item_expr",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "inline_function_expr",
          "named": true
        },
        {
          "type": "named_function_ref",
          "named": true
        }
      ]
    }
  },
  {
    "type": "group_by_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "grouping_spec",
          "named": true
        }
      ]
    }
  },
  {
    "type": "grouping_spec",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "grouping_var": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "uri": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "string_literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "type_declaration",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "identifier",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "if_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "if_alternative": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "if_consequence": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "if_test": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "(",
            "named": false
          },
          {
            "type": ")",
            "named": false
          },
          {
            "type": ",",
            "named": false
          },
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "inline_function_expr",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "enclosed_expr",
            "named": true
          }
        ]
      },
      "return_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_declaration",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "annotation",
          "named": true
        },
        {
          "type": "param_list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "instance_of_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "lhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "sequence_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "interpolation",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "intersect_except_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "lhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "let_binding",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "type_declaration",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        },
        {
          "type": "uri_qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "let_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "let_binding",
          "named": true
        }
      ]
    }
  },
  {
    "type": "library_module",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "module_declaration",
          "named": true
        },
        {
          "type": "prolog",
          "named": true
        }
      ]
    }
  },
  {
    "type": "main_module",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "prolog",
          "named": true
        },
        {
          "type": "query_body",
          "named": true
        }
      ]
    }
  },
  {
    "type": "map_constructor",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "map_entry",
          "named": true
        }
      ]
    }
  },
  {
    "type": "map_entry",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "key": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "module",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "library_module",
          "named": true
        },
        {
          "type": "main_module",
          "named": true
        },
        {
          "type": "version_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "module_declaration",
    "named": true,
    "fields": {
      "uri": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "string_literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "module_import",
    "named": true,
    "fields": {
      "uri": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "string_literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "source_at",
          "named": true
        }
      ]
    }
  },
  {
    "type": "multiplicative_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "lhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "name_test",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "uri_qualified_name",
          "named": true
        },
        {
          "type": "wildcard",
          "named": true
        }
      ]
    }
  },
  {
    "type": "named_function_ref",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "signature": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "integer_literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "uri_qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "namespace_declaration",
    "named": true,
    "fields": {
      "uri": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "string_literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "namespace_node_test",
    "named": true,
    "fields": {}
  },
  {
    "type": "occurrence_indicator",
    "named": true,
    "fields": {}
  },
  {
    "type": "option_declaration",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": ":",
            "named": false
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "uri_qualified_name",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "string_literal",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "or_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "lhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "order_by_clause",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "order_expr": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "order_modifier": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "order_collation",
            "named": true
          },
          {
            "type": "order_direction",
            "named": true
          },
          {
            "type": "order_length",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "order_collation",
    "named": true,
    "fields": {
      "uri": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "string_literal",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "order_direction",
    "named": true,
    "fields": {}
  },
  {
    "type": "order_length",
    "named": true,
    "fields": {}
  },
  {
    "type": "ordered_expr",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "enclosed_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "ordering_mode_declaration",
    "named": true,
    "fields": {}
  },
  {
    "type": "param_list",
    "named": true,
    "fields": {
      "local": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "param_type": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "type_declaration",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "uri_qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "parenthesized_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "parenthesized_item_type",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_item_type",
          "named": true
        }
      ]
    }
  },
  {
    "type": "pi_test",
    "named": true,
    "fields": {
      "param": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "placeholder",
    "named": true,
    "fields": {}
  },
  {
    "type": "postfix_lookup",
    "named": true,
    "fields": {
      "key": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "integer_literal",
            "named": true
          },
          {
            "type": "parenthesized_expr",
            "named": true
          },
          {
            "type": "wildcard",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "predicate",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "prolog",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_setter",
          "named": true
        },
        {
          "type": "context_item_declaration",
          "named": true
        },
        {
          "type": "default_namespace_declaration",
          "named": true
        },
        {
          "type": "function_declaration",
          "named": true
        },
        {
          "type": "module_import",
          "named": true
        },
        {
          "type": "namespace_declaration",
          "named": true
        },
        {
          "type": "option_declaration",
          "named": true
        },
        {
          "type": "schema_import",
          "named": true
        },
        {
          "type": "variable_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "quantified_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "in_binding": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": ",",
            "named": false
          },
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "in",
            "named": false
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "type_declaration",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          },
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "quantifier": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "satisfy_conditional": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "type_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "query_body",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "range_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "lhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "rel_path_expr",
    "named": true,
    "fields": {
      "axis": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "abbrev_forward_step",
            "named": true
          },
          {
            "type": "abbrev_reverse_step",
            "named": true
          },
          {
            "type": "forward_axis",
            "named": true
          },
          {
            "type": "reverse_axis",
            "named": true
          }
        ]
      },
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        }
      ]
    }
  },
  {
    "type": "return_clause",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "reverse_axis",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_kind_test",
          "named": true
        },
        {
          "type": "name_test",
          "named": true
        }
      ]
    }
  },
  {
    "type": "schema_attribute_test",
    "named": true,
    "fields": {
      "attribute_name": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": ":",
            "named": false
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "uri_qualified_name",
            "named": true
          }
        ]
      },
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "schema_element_test",
    "named": true,
    "fields": {
      "element_name": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": ":",
            "named": false
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "uri_qualified_name",
            "named": true
          }
        ]
      },
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "schema_import",
    "named": true,
    "fields": {
      "uri": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "string_literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "schema_prefix",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "schema_prefix",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "sequence_type",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_item_type",
          "named": true
        },
        {
          "type": "occurrence_indicator",
          "named": true
        }
      ]
    }
  },
  {
    "type": "sliding_window_clause",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "type_declaration",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        },
        {
          "type": "variable",
          "named": true
        },
        {
          "type": "window_end_condition",
          "named": true
        },
        {
          "type": "window_start_condition",
          "named": true
        }
      ]
    }
  },
  {
    "type": "source_at",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "string_literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "square_array_constructor",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "start_tag",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "direct_attribute",
          "named": true
        }
      ]
    }
  },
  {
    "type": "string_concat_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "lhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "string_constructor",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "interpolation",
          "named": true
        },
        {
          "type": "string_constructor_chars",
          "named": true
        }
      ]
    }
  },
  {
    "type": "string_constructor_chars",
    "named": true,
    "fields": {}
  },
  {
    "type": "string_literal",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "char_data",
          "named": true
        },
        {
          "type": "char_ref",
          "named": true
        },
        {
          "type": "escape_apos",
          "named": true
        },
        {
          "type": "escape_quote",
          "named": true
        },
        {
          "type": "predefined_entity_ref",
          "named": true
        }
      ]
    }
  },
  {
    "type": "switch_clause",
    "named": true,
    "fields": {
      "case_operand": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "case_return": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "switch_expr",
    "named": true,
    "fields": {
      "default_return": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "switch_default": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "default",
            "named": false
          },
          {
            "type": "return",
            "named": false
          }
        ]
      },
      "switch_operand": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "(",
            "named": false
          },
          {
            "type": ")",
            "named": false
          },
          {
            "type": ",",
            "named": false
          },
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "switch_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "text_test",
    "named": true,
    "fields": {}
  },
  {
    "type": "treat_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "lhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "sequence_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "try_catch_expr",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "catch_clause",
          "named": true
        },
        {
          "type": "try_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "try_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "enclosed_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "tumbling_window_clause",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "type_declaration",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        },
        {
          "type": "variable",
          "named": true
        },
        {
          "type": "window_end_condition",
          "named": true
        },
        {
          "type": "window_start_condition",
          "named": true
        }
      ]
    }
  },
  {
    "type": "type_declaration",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "sequence_type",
          "named": true
        }
      ]
    }
  },
  {
    "type": "typed_array_test",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "sequence_type",
          "named": true
        }
      ]
    }
  },
  {
    "type": "typed_function_test",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "annotation",
          "named": true
        },
        {
          "type": "sequence_type",
          "named": true
        },
        {
          "type": "type_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "typed_map_test",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "atomic_or_union_type",
          "named": true
        },
        {
          "type": "sequence_type",
          "named": true
        }
      ]
    }
  },
  {
    "type": "typeswitch_case_clause",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "sequence_type",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        },
        {
          "type": "variable",
          "named": true
        }
      ]
    }
  },
  {
    "type": "typeswitch_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "operand": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "(",
            "named": false
          },
          {
            "type": ")",
            "named": false
          },
          {
            "type": ",",
            "named": false
          },
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_case_clause",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        },
        {
          "type": "variable",
          "named": true
        }
      ]
    }
  },
  {
    "type": "unary_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "unary_lookup",
    "named": true,
    "fields": {
      "key": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "integer_literal",
            "named": true
          },
          {
            "type": "parenthesized_expr",
            "named": true
          },
          {
            "type": "wildcard",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "union_expr",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "lhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "unordered_expr",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "enclosed_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "uri_qualified_name",
    "named": true,
    "fields": {
      "braced_uri_literal": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "var_ref",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "uri_qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "variable",
    "named": true,
    "fields": {
      "local": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "ncname": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "prefixed": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "uri_qualified_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "variable_declaration",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "_primary_expr",
            "named": true
          },
          {
            "type": "absolute_path_expr",
            "named": true
          },
          {
            "type": "additive_expr",
            "named": true
          },
          {
            "type": "and_expr",
            "named": true
          },
          {
            "type": "arg_list",
            "named": true
          },
          {
            "type": "arrow_expr",
            "named": true
          },
          {
            "type": "bang_expr",
            "named": true
          },
          {
            "type": "cast_expr",
            "named": true
          },
          {
            "type": "castable_expr",
            "named": true
          },
          {
            "type": "comparison_expr",
            "named": true
          },
          {
            "type": "flwor_expr",
            "named": true
          },
          {
            "type": "if_expr",
            "named": true
          },
          {
            "type": "instance_of_expr",
            "named": true
          },
          {
            "type": "intersect_except_expr",
            "named": true
          },
          {
            "type": "multiplicative_expr",
            "named": true
          },
          {
            "type": "or_expr",
            "named": true
          },
          {
            "type": "postfix_lookup",
            "named": true
          },
          {
            "type": "predicate",
            "named": true
          },
          {
            "type": "quantified_expr",
            "named": true
          },
          {
            "type": "range_expr",
            "named": true
          },
          {
            "type": "rel_path_expr",
            "named": true
          },
          {
            "type": "string_concat_expr",
            "named": true
          },
          {
            "type": "switch_expr",
            "named": true
          },
          {
            "type": "treat_expr",
            "named": true
          },
          {
            "type": "try_catch_expr",
            "named": true
          },
          {
            "type": "typeswitch_expr",
            "named": true
          },
          {
            "type": "unary_expr",
            "named": true
          },
          {
            "type": "union_expr",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "annotation",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "type_declaration",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        },
        {
          "type": "variable",
          "named": true
        }
      ]
    }
  },
  {
    "type": "version_declaration",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "string_literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "where_clause",
    "named": true,
    "fields": {
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "wildcard",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "braced_uri_literal",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "window_end_condition",
    "named": true,
    "fields": {
      "current_item": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "next_item": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "positional_variable": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "previous_item": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "variable",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "window_start_condition",
    "named": true,
    "fields": {
      "current_item": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "dynamic_function_call": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "arg_list",
            "named": true
          }
        ]
      },
      "filter_expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "predicate",
            "named": true
          }
        ]
      },
      "next_item": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "positional_variable": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "previous_item": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "variable",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_primary_expr",
          "named": true
        },
        {
          "type": "absolute_path_expr",
          "named": true
        },
        {
          "type": "additive_expr",
          "named": true
        },
        {
          "type": "and_expr",
          "named": true
        },
        {
          "type": "arrow_expr",
          "named": true
        },
        {
          "type": "bang_expr",
          "named": true
        },
        {
          "type": "cast_expr",
          "named": true
        },
        {
          "type": "castable_expr",
          "named": true
        },
        {
          "type": "comparison_expr",
          "named": true
        },
        {
          "type": "flwor_expr",
          "named": true
        },
        {
          "type": "if_expr",
          "named": true
        },
        {
          "type": "instance_of_expr",
          "named": true
        },
        {
          "type": "intersect_except_expr",
          "named": true
        },
        {
          "type": "multiplicative_expr",
          "named": true
        },
        {
          "type": "or_expr",
          "named": true
        },
        {
          "type": "postfix_lookup",
          "named": true
        },
        {
          "type": "quantified_expr",
          "named": true
        },
        {
          "type": "range_expr",
          "named": true
        },
        {
          "type": "rel_path_expr",
          "named": true
        },
        {
          "type": "string_concat_expr",
          "named": true
        },
        {
          "type": "switch_expr",
          "named": true
        },
        {
          "type": "treat_expr",
          "named": true
        },
        {
          "type": "try_catch_expr",
          "named": true
        },
        {
          "type": "typeswitch_expr",
          "named": true
        },
        {
          "type": "unary_expr",
          "named": true
        },
        {
          "type": "union_expr",
          "named": true
        }
      ]
    }
  },
  {
    "type": "",
    "named": false
  },
  {
    "type": "!",
    "named": false
  },
  {
    "type": "!=",
    "named": false
  },
  {
    "type": "\"",
    "named": false
  },
  {
    "type": "#",
    "named": false
  },
  {
    "type": "$",
    "named": false
  },
  {
    "type": "%",
    "named": false
  },
  {
    "type": "'",
    "named": false
  },
  {
    "type": "(",
    "named": false
  },
  {
    "type": "(:",
    "named": false
  },
  {
    "type": ")",
    "named": false
  },
  {
    "type": "*",
    "named": false
  },
  {
    "type": "*:",
    "named": false
  },
  {
    "type": "+",
    "named": false
  },
  {
    "type": ",",
    "named": false
  },
  {
    "type": "-",
    "named": false
  },
  {
    "type": "-->",
    "named": false
  },
  {
    "type": "/",
    "named": false
  },
  {
    "type": "//",
    "named": false
  },
  {
    "type": "/>",
    "named": false
  },
  {
    "type": ":",
    "named": false
  },
  {
    "type": ":)",
    "named": false
  },
  {
    "type": ":*",
    "named": false
  },
  {
    "type": "::",
    "named": false
  },
  {
    "type": ":=",
    "named": false
  },
  {
    "type": ";",
    "named": false
  },
  {
    "type": "<",
    "named": false
  },
  {
    "type": "<!--",
    "named": false
  },
  {
    "type": "</",
    "named": false
  },
  {
    "type": "<<",
    "named": false
  },
  {
    "type": "<=",
    "named": false
  },
  {
    "type": "=",
    "named": false
  },
  {
    "type": "=>",
    "named": false
  },
  {
    "type": ">",
    "named": false
  },
  {
    "type": ">=",
    "named": false
  },
  {
    "type": ">>",
    "named": false
  },
  {
    "type": "?",
    "named": false
  },
  {
    "type": "@",
    "named": false
  },
  {
    "type": "NaN",
    "named": false
  },
  {
    "type": "Q{",
    "named": false
  },
  {
    "type": "[",
    "named": false
  },
  {
    "type": "]",
    "named": false
  },
  {
    "type": "]``",
    "named": false
  },
  {
    "type": "``[",
    "named": false
  },
  {
    "type": "`{",
    "named": false
  },
  {
    "type": "abbrev_reverse_step",
    "named": true
  },
  {
    "type": "allowing",
    "named": false
  },
  {
    "type": "ancestor",
    "named": false
  },
  {
    "type": "ancestor-or-self",
    "named": false
  },
  {
    "type": "and",
    "named": false
  },
  {
    "type": "array",
    "named": false
  },
  {
    "type": "as",
    "named": false
  },
  {
    "type": "ascending",
    "named": false
  },
  {
    "type": "at",
    "named": false
  },
  {
    "type": "attribute",
    "named": false
  },
  {
    "type": "base-uri",
    "named": false
  },
  {
    "type": "boundary-space",
    "named": false
  },
  {
    "type": "by",
    "named": false
  },
  {
    "type": "case",
    "named": false
  },
  {
    "type": "cast",
    "named": false
  },
  {
    "type": "castable",
    "named": false
  },
  {
    "type": "catch",
    "named": false
  },
  {
    "type": "char_data",
    "named": true
  },
  {
    "type": "char_ref",
    "named": true
  },
  {
    "type": "child",
    "named": false
  },
  {
    "type": "collation",
    "named": false
  },
  {
    "type": "comment",
    "named": false
  },
  {
    "type": "construction",
    "named": false
  },
  {
    "type": "context",
    "named": false
  },
  {
    "type": "context_item_expr",
    "named": true
  },
  {
    "type": "copy-namespaces",
    "named": false
  },
  {
    "type": "count",
    "named": false
  },
  {
    "type": "decimal-format",
    "named": false
  },
  {
    "type": "decimal-separator",
    "named": false
  },
  {
    "type": "decimal_literal",
    "named": true
  },
  {
    "type": "declare",
    "named": false
  },
  {
    "type": "default",
    "named": false
  },
  {
    "type": "descendant",
    "named": false
  },
  {
    "type": "descendant-or-self",
    "named": false
  },
  {
    "type": "descending",
    "named": false
  },
  {
    "type": "digit",
    "named": false
  },
  {
    "type": "div",
    "named": false
  },
  {
    "type": "document",
    "named": false
  },
  {
    "type": "document-node",
    "named": false
  },
  {
    "type": "double_literal",
    "named": true
  },
  {
    "type": "element",
    "named": false
  },
  {
    "type": "else",
    "named": false
  },
  {
    "type": "empty",
    "named": false
  },
  {
    "type": "empty-sequence",
    "named": false
  },
  {
    "type": "encoding",
    "named": false
  },
  {
    "type": "end",
    "named": false
  },
  {
    "type": "eq",
    "named": false
  },
  {
    "type": "escape_apos",
    "named": true
  },
  {
    "type": "escape_quote",
    "named": true
  },
  {
    "type": "every",
    "named": false
  },
  {
    "type": "except",
    "named": false
  },
  {
    "type": "exponent-separator",
    "named": false
  },
  {
    "type": "external",
    "named": false
  },
  {
    "type": "following",
    "named": false
  },
  {
    "type": "following-sibling",
    "named": false
  },
  {
    "type": "for",
    "named": false
  },
  {
    "type": "function",
    "named": false
  },
  {
    "type": "ge",
    "named": false
  },
  {
    "type": "greatest",
    "named": false
  },
  {
    "type": "group",
    "named": false
  },
  {
    "type": "grouping-separator",
    "named": false
  },
  {
    "type": "gt",
    "named": false
  },
  {
    "type": "idiv",
    "named": false
  },
  {
    "type": "if",
    "named": false
  },
  {
    "type": "import",
    "named": false
  },
  {
    "type": "in",
    "named": false
  },
  {
    "type": "infinity",
    "named": false
  },
  {
    "type": "inherit",
    "named": false
  },
  {
    "type": "instance",
    "named": false
  },
  {
    "type": "integer_literal",
    "named": true
  },
  {
    "type": "intersect",
    "named": false
  },
  {
    "type": "is",
    "named": false
  },
  {
    "type": "item",
    "named": false
  },
  {
    "type": "le",
    "named": false
  },
  {
    "type": "least",
    "named": false
  },
  {
    "type": "let",
    "named": false
  },
  {
    "type": "lt",
    "named": false
  },
  {
    "type": "map",
    "named": false
  },
  {
    "type": "minus-sign",
    "named": false
  },
  {
    "type": "mod",
    "named": false
  },
  {
    "type": "module",
    "named": false
  },
  {
    "type": "namespace",
    "named": false
  },
  {
    "type": "namespace-node",
    "named": false
  },
  {
    "type": "ne",
    "named": false
  },
  {
    "type": "next",
    "named": false
  },
  {
    "type": "no-inherit",
    "named": false
  },
  {
    "type": "no-preserve",
    "named": false
  },
  {
    "type": "node",
    "named": false
  },
  {
    "type": "of",
    "named": false
  },
  {
    "type": "only",
    "named": false
  },
  {
    "type": "option",
    "named": false
  },
  {
    "type": "or",
    "named": false
  },
  {
    "type": "order",
    "named": false
  },
  {
    "type": "ordered",
    "named": false
  },
  {
    "type": "ordering",
    "named": false
  },
  {
    "type": "parent",
    "named": false
  },
  {
    "type": "pattern-separator",
    "named": false
  },
  {
    "type": "per-mille",
    "named": false
  },
  {
    "type": "percent",
    "named": false
  },
  {
    "type": "preceding",
    "named": false
  },
  {
    "type": "preceding-sibling",
    "named": false
  },
  {
    "type": "predefined_entity_ref",
    "named": true
  },
  {
    "type": "preserve",
    "named": false
  },
  {
    "type": "previous",
    "named": false
  },
  {
    "type": "processing-instruction",
    "named": false
  },
  {
    "type": "return",
    "named": false
  },
  {
    "type": "satisfies",
    "named": false
  },
  {
    "type": "schema",
    "named": false
  },
  {
    "type": "schema-attribute",
    "named": false
  },
  {
    "type": "schema-element",
    "named": false
  },
  {
    "type": "self",
    "named": false
  },
  {
    "type": "sliding",
    "named": false
  },
  {
    "type": "some",
    "named": false
  },
  {
    "type": "stable",
    "named": false
  },
  {
    "type": "start",
    "named": false
  },
  {
    "type": "strip",
    "named": false
  },
  {
    "type": "switch",
    "named": false
  },
  {
    "type": "text",
    "named": false
  },
  {
    "type": "then",
    "named": false
  },
  {
    "type": "to",
    "named": false
  },
  {
    "type": "treat",
    "named": false
  },
  {
    "type": "try",
    "named": false
  },
  {
    "type": "tumbling",
    "named": false
  },
  {
    "type": "typeswitch",
    "named": false
  },
  {
    "type": "union",
    "named": false
  },
  {
    "type": "unordered",
    "named": false
  },
  {
    "type": "variable",
    "named": false
  },
  {
    "type": "version",
    "named": false
  },
  {
    "type": "when",
    "named": false
  },
  {
    "type": "where",
    "named": false
  },
  {
    "type": "window",
    "named": false
  },
  {
    "type": "xquery",
    "named": false
  },
  {
    "type": "zero-digit",
    "named": false
  },
  {
    "type": "{",
    "named": false
  },
  {
    "type": "{{",
    "named": false
  },
  {
    "type": "|",
    "named": false
  },
  {
    "type": "||",
    "named": false
  },
  {
    "type": "}",
    "named": false
  },
  {
    "type": "}`",
    "named": false
  },
  {
    "type": "}}",
    "named": false
  }
]