sig
  type action =
      GetSubtree
    | PreserveNode
    | SkipNode
    | KeepMovingPreserveNode of Alg_path_struct.path_fragment_sequence
    | KeepMovingSkipNode of Alg_path_struct.path_fragment_sequence
  val mk_rooted_path_sequence_constructor :
    int -> Alg_path_struct.rooted_path_sequence
  val mk_rooted_path_sequence_document :
    string -> Alg_path_struct.rooted_path_sequence
  val imposes_subtree :
    Alg_path_struct.rooted_path_sequence ->
    Alg_path_struct.rooted_path_sequence
  val print_path_sequence :
    Format.formatter -> Alg_path_struct.rooted_path_sequence -> unit
  val inside_document :
    Streaming_types.typed_annotated_sax_event ->
    Alg_path_struct.rooted_path_sequence ->
    string -> Alg_path_struct.path_fragment_sequence
  val one_step :
    Streaming_types.typed_annotated_sax_event ->
    Alg_path_struct.path_fragment_sequence -> Alg_path_structutil.action
  val one_step_attribute :
    Alg_path_struct.path_fragment_sequence ->
    Streaming_types.typed_sax_xml_attribute -> bool
  val paths_from_path_annotation :
    string -> Alg_path_struct.path_annotation -> Alg_path_struct.paths
  val rooted_path_equal :
    Alg_path_struct.rooted_path -> Alg_path_struct.rooted_path -> bool
  val rooted_path_sequence_equal :
    Alg_path_struct.rooted_path_sequence ->
    Alg_path_struct.rooted_path_sequence -> bool
  val mem_rooted_path_sequence :
    Alg_path_struct.rooted_path ->
    Alg_path_struct.rooted_path_sequence -> bool
  val disjoint_rooted_path_sequence :
    Alg_path_struct.rooted_path_sequence ->
    Alg_path_struct.rooted_path_sequence -> bool
  val path_sequences_with_disjoint_roots :
    Alg_path_struct.rooted_path_sequence ->
    Alg_path_struct.rooted_path_sequence -> bool
end