end
-module Transition = Hcons.Make (struct
+module Transition =
+ struct
+ include Hcons.Make (struct
type t = State.t * QNameSet.t * Formula.t
let equal (a, b, c) (d, e, f) =
a == d && b == e && c == f
let hash (a, b, c) =
HASHINT4 (PRIME1, a, ((QNameSet.uid b) :> int), ((Formula.uid c) :> int))
end)
+ let print ppf t =
+ let q, l, f = t.node in
+ fprintf ppf "%a, %a %s %a"
+ State.print q
+ QNameSet.print l
+ Pretty.double_right_arrow
+ Formula.print f
+ end
module TransList : sig
transitions: (State.t, (QNameSet.t*Formula.t) list) Hashtbl.t;
}
-
+let uid t = t.id
let get_states a = a.states
let get_starting_states a = a.starting_states
let get_selecting_states a = a.selecting_states
-let get_trans a tag states =
- StateSet.fold (fun q acc0 ->
- try
- let trs = Hashtbl.find a.transitions q in
- List.fold_left (fun acc1 (labs, phi) ->
- if QNameSet.mem tag labs then
- TransList.cons (Transition.make (q, labs, phi)) acc1
- else acc1) acc0 trs
- with Not_found -> acc0
- ) states TransList.nil
-
-
let _pr_buff = Buffer.create 50
let _str_fmt = formatter_of_buffer _pr_buff
Buffer.clear _pr_buff; s
let print fmt a =
+ let _ = _flush_str_fmt() in
fprintf fmt
"Internal UID: %i@\n\
States: %a@\n\
) strs_strings;
fprintf fmt "%s@\n" line
+
+let get_trans a tag states =
+ StateSet.fold (fun q acc0 ->
+ try
+ let trs = Hashtbl.find a.transitions q in
+ List.fold_left (fun acc1 (labs, phi) ->
+ if QNameSet.mem tag labs then
+ TransList.cons (Transition.make (q, labs, phi)) acc1
+ else acc1) acc0 trs
+ with Not_found -> acc0
+ ) states TransList.nil
+
+
+
+
(*
[complete transitions a] ensures that for each state q
and each symbols s in the alphabet, a transition q, s exists.
let link_phi =
StateSet.fold
(fun q phi -> Formula.(or_ (stay q) phi))
- a1.selecting_states Formula.true_
+ a1.selecting_states Formula.false_
in
+ Hashtbl.iter (fun q trs -> Hashtbl.add a1.transitions q trs)
+ a2.transitions;
StateSet.iter
(fun q ->
- Hashtbl.add a1.transitions q [(QNameSet.any, link_phi)])
+ Hashtbl.replace a1.transitions q [(QNameSet.any, link_phi)])
a2.starting_states;
- Hashtbl.iter (fun q trs -> Hashtbl.add a1.transitions q trs)
- a2.transitions;
{ a1 with
states = StateSet.union a1.states a2.states;
selecting_states = a2.selecting_states;
transitions = a1.transitions;
}
+
+let merge a1 a2 =
+ let a1 = copy a1 in
+ let a2 = copy a2 in
+ { a1 with
+ states = StateSet.union a1.states a2.states;
+ selecting_states = StateSet.union a1.selecting_states a2.selecting_states;
+ starting_states = StateSet.union a1.starting_states a2.starting_states;
+ transitions =
+ let () =
+ Hashtbl.iter (fun k v -> Hashtbl.add a1.transitions k v) a2.transitions
+ in
+ a1.transitions
+ }
end
(** Modules representing the Boolean formulae used in transitions *)
-module Transition : Hcons.S with type data = State.t * QNameSet.t * Formula.t
+module Transition : sig
+ include Hcons.S with type data = State.t * QNameSet.t * Formula.t
+ val print : Format.formatter -> t -> unit
+end
(** A [Transition.t] is a hashconsed triple of the state, the set of labels and the formula *)
type t
(** 2-way Selecting Alternating Tree Automata *)
+val uid : t -> Uid.t
+(** return the internal unique ID of the automaton *)
+
val get_states : t -> StateSet.t
(** return the set of states of the automaton *)
nodes [N], [a'' N = a' (a N)].
*)
+val merge : t -> t -> t
+(** [merge a a'] creates a new automaton [a''] that evaluates both [a] and [a'']
+ in parallel
+*)
+
module Builder :
sig
type auto = t
let count = ref false
let input_file : string option ref = ref None
let output_file : string option ref = ref None
-let query = ref ""
+let queries = ref []
let stats = ref false
+let compose = ref false
+let parallel = ref false
let set_string_option r s = r := Some s
"--doc", String (set_string_option input_file), " ";
"-o", String (set_string_option output_file), " specify the output file [default stdout]";
"--out", String (set_string_option output_file), " ";
+ "-C", Set compose, " compose queries: each query is applied to the results of the previous one [default run all queries
+from the root node]";
+ "--compose", Set compose, " ";
+ "-p", Set parallel, " run all queries in parallel [default run all queries sequentially]";
+ "--parallel", Set parallel, " ";
]
-let usage_msg = Printf.sprintf "usage: %s [options] query" Sys.argv.(0)
+let usage_msg = Printf.sprintf "usage: %s [options] query [query ... query]" Sys.argv.(0)
let usage () = usage specs usage_msg
let parse () =
- parse specs (fun q -> query := q) usage_msg
+ parse specs (fun q -> queries := q :: !queries ) usage_msg;
+ match !queries with
+ [] -> raise (Arg.Bad "missing query")
+ | l -> queries := List.rev l
loop phi
+ let eval_trans_aux cache4 fcs nss ps ss old_config =
+ let { sat = old_sat;
+ unsat = old_unsat;
+ todo = old_todo;
+ summary = old_summary } = old_config.NodeStatus.node
+ in
+ let sat, unsat, removed, kept, todo =
+ Ata.TransList.fold
+ (fun trs acc ->
+ let q, lab, phi = Ata.Transition.node trs in
+ let a_sat, a_unsat, a_rem, a_kept, a_todo = acc in
+ if StateSet.mem q a_sat || StateSet.mem q a_unsat then acc else
+ let new_phi =
+ eval_form phi fcs nss ps old_config old_summary
+ in
+ if Ata.Formula.is_true new_phi then
+ StateSet.add q a_sat, a_unsat, StateSet.add q a_rem, a_kept, a_todo
+ else if Ata.Formula.is_false new_phi then
+ a_sat, StateSet.add q a_unsat, StateSet.add q a_rem, a_kept, a_todo
+ else
+ let new_tr = Ata.Transition.make (q, lab, new_phi) in
+ (a_sat, a_unsat, a_rem, StateSet.add q a_kept, (Ata.TransList.cons new_tr a_todo))
+ ) old_todo (old_sat, old_unsat, StateSet.empty, StateSet.empty, Ata.TransList.nil)
+ in
+ (* States that have been removed from the todo list and not kept are now
+ unsatisfiable *)
+ let unsat = StateSet.union unsat (StateSet.diff removed kept) in
+ (* States that were found once to be satisfiable remain so *)
+ let unsat = StateSet.diff unsat sat in
+ let new_config = NodeStatus.make { old_config.NodeStatus.node with sat; unsat; todo; } in
+ new_config
+
let eval_trans cache4 fcs nss ps ss =
let fcsid = (fcs.NodeStatus.id :> int) in
let res = Cache.N4.find cache4 oid fcsid nssid psid in
if res != dummy_status then res
else
- let { sat = old_sat;
- unsat = old_unsat;
- todo = old_todo;
- summary = old_summary } = old_config.NodeStatus.node
+ let new_config =
+ eval_trans_aux cache4 fcs nss ps ss old_config
in
- let sat, unsat, removed, kept, todo =
- Ata.TransList.fold
- (fun trs acc ->
- let q, lab, phi = Ata.Transition.node trs in
- let a_sat, a_unsat, a_rem, a_kept, a_todo = acc in
- if StateSet.mem q a_sat || StateSet.mem q a_unsat then acc else
- let new_phi =
- eval_form phi fcs nss ps old_config old_summary
- in
- if Ata.Formula.is_true new_phi then
- StateSet.add q a_sat, a_unsat, StateSet.add q a_rem, a_kept, a_todo
- else if Ata.Formula.is_false new_phi then
- a_sat, StateSet.add q a_unsat, StateSet.add q a_rem, a_kept, a_todo
- else
- let new_tr = Ata.Transition.make (q, lab, new_phi) in
- (a_sat, a_unsat, a_rem, StateSet.add q a_kept, (Ata.TransList.cons new_tr a_todo))
- ) old_todo (old_sat, old_unsat, StateSet.empty, StateSet.empty, Ata.TransList.nil)
- in
- (* States that have been removed from the todo list and not kept are now
- unsatisfiable *)
- let unsat = StateSet.union unsat (StateSet.diff removed kept) in
- (* States that were found once to be satisfiable remain so *)
- let unsat = StateSet.diff unsat sat in
- let new_config = NodeStatus.make { old_config.NodeStatus.node with sat; unsat; todo; } in
Cache.N4.add cache4 oid fcsid nssid psid new_config;
new_config
in
let c = unsafe_get_status status node_id in
if c == dummy_status then
(* first time we visit the node *)
+ let ltrs = get_trans cache2 auto tag (Ata.get_states auto) in
NodeStatus.make
{ sat = StateSet.empty;
unsat = Ata.get_starting_states auto;
- todo = get_trans cache2 auto tag (Ata.get_states auto);
+ todo = ltrs;
summary = NodeSummary.make
(node == T.first_child tree parent) (* is_left *)
(node == T.next_sibling tree parent) (* is_right *)
in
loop (T.root tree) []
+
+ let get_full_results run =
+ let cache = run.status in
+ let auto = run.auto in
+ let tree = run.tree in
+ let res_mapper = Hashtbl.create MED_H_SIZE in
+ let () =
+ StateSet.iter
+ (fun q -> Hashtbl.add res_mapper q [])
+ (Ata.get_selecting_states auto)
+ in
+ let rec loop node =
+ if node != T.nil then
+ let () = loop (T.next_sibling tree node) in
+ let () = loop (T.first_child tree node) in
+ StateSet.iter
+ (fun q ->
+ try
+ let acc = Hashtbl.find res_mapper q in
+ Hashtbl.replace res_mapper q (node::acc)
+ with
+ Not_found -> ())
+ cache.(T.preorder tree node).NodeStatus.node.sat
+ in
+ loop (T.root tree);
+ StateSet.fold
+ (fun q acc -> (q, Hashtbl.find res_mapper q)::acc)
+ (Ata.get_selecting_states auto) []
+
let prepare_run run list =
let tree = run.tree in
let auto = run.auto in
status.(node_id) <- status0) list
-
- let eval auto tree nodes =
+ let eval full auto tree nodes =
let run = make auto tree in
prepare_run run nodes;
while run.redo do
- top_down run;
+ top_down run
done;
- get_results run
+ if full then `Full (get_full_results run)
+ else `Normal (get_results run)
+
+
+ let full_eval auto tree nodes =
+ match eval true auto tree nodes with
+ `Full l -> l
+ | _ -> assert false
+
+ let eval auto tree nodes =
+ match eval false auto tree nodes with
+ `Normal l -> l
+ | _ -> assert false
+
end
module Make (T : Tree.S) :
sig
val eval : Ata.t -> T.t -> T.node list -> T.node list
+ val full_eval : Ata.t -> T.t -> T.node list -> (State.t * T.node list) list
end
r
+let compose_parallel run auto_list tree nodes () =
+ match auto_list with
+ [ auto ] -> [run auto tree nodes]
+ | _ -> assert false
+
+let compose_sequential run auto_list tree nodes () =
+ [ List.fold_left (fun acc auto ->
+ run auto tree acc) nodes auto_list ]
+
+
+let restart_parallel run auto_list tree nodes () =
+ match auto_list with
+ [ auto ] -> List.map snd (run auto tree nodes)
+ | _ -> assert false
+
+let restart_sequential run auto_list tree nodes () =
+ List.map (fun auto -> run auto tree nodes) auto_list
+
let main () =
let () = Options.parse () in
let doc =
let fd, close_fd = match !Options.input_file with
- None -> stdin, ignore
+ None | Some "-" | Some "/dev/stdin" -> stdin, ignore
| Some input ->
let fd = open_in input in fd, fun () -> close_in fd
in
let d = time Naive_tree.load_xml_file fd "parsing xml document" in
close_fd (); d
in
- let query =
+ let queries =
time
- Xpath.Parser.parse
- (Ulexing.from_latin1_string !Options.query)
- "parsing XPath query"
+ (fun l ->
+ List.map (fun q ->
+ Xpath.Parser.parse
+ (Ulexing.from_utf8_string q)) l)
+ !Options.queries
+ "parsing XPath queries"
in
- let auto =
- time Xpath.Compile.path query "compiling XPath query"
+ (* parallel, compose -> action
+ true, true -> Ata.concat of all automata and single run
+ true, false -> Ata.merge of all automata and single run
+ false, true -> Eval first, then run on results then ...
+ false, false -> Eval first on root, then second on root then ...
+ *)
+ let auto_list =
+ time
+ (fun l ->
+ List.map (fun query -> Xpath.Compile.path query) l)
+ queries
+ "compiling XPath queries"
+ in
+ let auto_list =
+ if !Options.parallel then
+ match auto_list with
+ fst :: rest ->
+ let f =
+ if !Options.compose then
+ Ata.concat
+ else
+ Ata.merge
+ in
+ let big_auto = List.fold_left f fst rest in
+ [big_auto]
+ | _ -> assert false
+
+ else
+ auto_list
in
- let auto = time Ata.copy auto "copying Automaton" in
let output =
match !Options.output_file with
| None | Some "-" | Some "/dev/stdout" -> stdout
| Some f -> open_out f
in
if !Options.stats then begin
- Logger.msg `STATS "Query: %a " Xpath.Ast.print_path query;
- Logger.msg `STATS "@[Automaton: @\n%a@]" Ata.print auto;
+ List.iter (fun query ->
+ Logger.msg `STATS "Query: %a " Xpath.Ast.print_path query) queries;
+ List.iter (fun auto ->
+ Logger.msg `STATS "@[Automaton: @\n%a@]" Ata.print auto) auto_list;
end;
let module Naive = Run.Make(Naive_tree) in
- let results =
- time (Naive.eval auto doc) ([Naive_tree.root doc]) "evaluating query"
+ let result_list =
+ let root = [ Naive_tree.root doc] in
+ let f, msg =
+ match !Options.parallel, !Options.compose with
+ true, true ->
+ compose_parallel Naive.eval auto_list doc root, "parallel/compose"
+ | true, false ->
+ restart_parallel Naive.full_eval auto_list doc root, "parallel/restart"
+ | false, true ->
+ compose_sequential Naive.eval auto_list doc root , "sequential/compose"
+ | false, false ->
+ restart_sequential Naive.eval auto_list doc root, "sequential/restart"
+ in
+ time f () ("evaluating query in " ^ msg ^ " mode")
in
time (fun () ->
- output_string output "<xml_result>\n";
- if !Options.count then begin
- output_string output (string_of_int (List.length results));
- output_char output '\n';
- end else
- List.iter (fun n ->
- Naive_tree.print_xml output doc n;
- output_char output '\n'
- ) results;
- output_string output "</xml_result>\n";
- flush output;
- if output != stdout then close_out output
+ let count = ref 1 in
+ List.iter (fun results ->
+ output_string output "<xml_result num=\"";
+ output_string output (string_of_int !count);
+ output_string output "\" >\n";
+ if !Options.count then begin
+ output_string output (string_of_int (List.length results));
+ output_char output '\n';
+ end else
+ List.iter (fun n ->
+ Naive_tree.print_xml output doc n;
+ output_char output '\n'
+ ) results;
+ output_string output "</xml_result>\n";
+ incr count
+ ) result_list;
+ flush output;
+ if output != stdout then close_out output
-) () "serializing results"
+ ) () "serializing results"
let () =
nasts) (StateSet.empty, StateSet.empty, [], StateSet.empty) p
in
let builder = Ata.Builder.make () in
+ (** ensure that we have a single selecting state at the end *)
+ let phi_sel = StateSet.fold (fun q acc -> F.or_ (F.stay q) acc) mstates F.false_ in
+ let q_sel = State.make () in
+ let states = StateSet.add q_sel states in
+ let mstates = StateSet.singleton q_sel in
+ let trans = (q_sel, [QNameSet.any, phi_sel]) :: trans in
StateSet.iter
(Ata.Builder.add_state builder ~starting:true) sstates;
StateSet.iter
-<xml_result>
+<xml_result num="1">
<B id="n2" post="3" pre="2"><C id="n3" post="1" pre="3">clergywoman</C><D id="n4" post="2" pre="4">decadent</D></B>
<C id="n3" post="1" pre="3">clergywoman</C>
<D id="n4" post="2" pre="4">decadent</D>
-<xml_result>
+<xml_result num="1">
<L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L>
</xml_result>
-<xml_result>
+<xml_result num="1">
<L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L>
</xml_result>
-<xml_result>
+<xml_result num="1">
<M id="n13" post="10" pre="13"/>
<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N>
<Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q>
-<xml_result>
+<xml_result num="1">
<E id="n5" post="22" pre="5"><F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F><I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I><L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L><R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R><U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U></E>
</xml_result>
-<xml_result>
+<xml_result num="1">
<M id="n13" post="10" pre="13"/>
<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N>
<O id="n15" post="11" pre="15">ovenware</O>
-<xml_result>
+<xml_result num="1">
<L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L>
<M id="n13" post="10" pre="13"/>
<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N>
-<xml_result>
+<xml_result num="1">
<A id="n1" post="26" pre="1" xml:lang="en"><B id="n2" post="3" pre="2"><C id="n3" post="1" pre="3">clergywoman</C><D id="n4" post="2" pre="4">decadent</D></B><E id="n5" post="22" pre="5"><F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F><I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I><L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L><R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R><U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U></E><X id="n24" post="25" pre="24"><Y id="n25" post="23" pre="25">yawn</Y><Z id="n26" idrefs="n8 n17" post="24" pre="26" xml:lang="it">zuzzurellone</Z></X></A>
<E id="n5" post="22" pre="5"><F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F><I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I><L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L><R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R><U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U></E>
</xml_result>
-<xml_result>
+<xml_result num="1">
<A id="n1" post="26" pre="1" xml:lang="en"><B id="n2" post="3" pre="2"><C id="n3" post="1" pre="3">clergywoman</C><D id="n4" post="2" pre="4">decadent</D></B><E id="n5" post="22" pre="5"><F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F><I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I><L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L><R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R><U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U></E><X id="n24" post="25" pre="24"><Y id="n25" post="23" pre="25">yawn</Y><Z id="n26" idrefs="n8 n17" post="24" pre="26" xml:lang="it">zuzzurellone</Z></X></A>
<E id="n5" post="22" pre="5"><F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F><I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I><L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L><R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R><U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U></E>
<L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L>
-<xml_result>
+<xml_result num="1">
<R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R>
<U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U>
</xml_result>
-<xml_result>
+<xml_result num="1">
<F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F>
<I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I>
</xml_result>
-<xml_result>
+<xml_result num="1">
<R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R>
<S id="n19" post="16" pre="19">sage</S>
<T id="n20" post="17" pre="20">tattered</T>
-<xml_result>
+<xml_result num="1">
<R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R>
<U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U>
<X id="n24" post="25" pre="24"><Y id="n25" post="23" pre="25">yawn</Y><Z id="n26" idrefs="n8 n17" post="24" pre="26" xml:lang="it">zuzzurellone</Z></X>
-<xml_result>
+<xml_result num="1">
<S id="n19" post="16" pre="19">sage</S>
<T id="n20" post="17" pre="20">tattered</T>
<V id="n22" post="19" pre="22">voluptuary</V>
-<xml_result>
+<xml_result num="1">
<B id="n2" post="3" pre="2"><C id="n3" post="1" pre="3">clergywoman</C><D id="n4" post="2" pre="4">decadent</D></B>
<C id="n3" post="1" pre="3">clergywoman</C>
<D id="n4" post="2" pre="4">decadent</D>
-<xml_result>
+<xml_result num="1">
<A id="n1" post="26" pre="1" xml:lang="en"><B id="n2" post="3" pre="2"><C id="n3" post="1" pre="3">clergywoman</C><D id="n4" post="2" pre="4">decadent</D></B><E id="n5" post="22" pre="5"><F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F><I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I><L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L><R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R><U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U></E><X id="n24" post="25" pre="24"><Y id="n25" post="23" pre="25">yawn</Y><Z id="n26" idrefs="n8 n17" post="24" pre="26" xml:lang="it">zuzzurellone</Z></X></A>
<E id="n5" post="22" pre="5"><F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F><I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I><L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L><R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R><U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U></E>
<M id="n13" post="10" pre="13"/>
-<xml_result>
+<xml_result num="1">
<R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R>
<S id="n19" post="16" pre="19">sage</S>
<T id="n20" post="17" pre="20">tattered</T>
-<xml_result>
+<xml_result num="1">
<L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L>
</xml_result>
-<xml_result>
+<xml_result num="1">
<A id="n1" post="26" pre="1" xml:lang="en"><B id="n2" post="3" pre="2"><C id="n3" post="1" pre="3">clergywoman</C><D id="n4" post="2" pre="4">decadent</D></B><E id="n5" post="22" pre="5"><F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F><I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I><L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L><R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R><U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U></E><X id="n24" post="25" pre="24"><Y id="n25" post="23" pre="25">yawn</Y><Z id="n26" idrefs="n8 n17" post="24" pre="26" xml:lang="it">zuzzurellone</Z></X></A>
<B id="n2" post="3" pre="2"><C id="n3" post="1" pre="3">clergywoman</C><D id="n4" post="2" pre="4">decadent</D></B>
<C id="n3" post="1" pre="3">clergywoman</C>
-<xml_result>
+<xml_result num="1">
<E id="n5" post="22" pre="5"><F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F><I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I><L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L><R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R><U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U></E>
</xml_result>
-<xml_result>
+<xml_result num="1">
<M id="n13" post="10" pre="13"/>
<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N>
<Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q>
-<xml_result>
+<xml_result num="1">
<A id="n1" post="26" pre="1" xml:lang="en"><B id="n2" post="3" pre="2"><C id="n3" post="1" pre="3">clergywoman</C><D id="n4" post="2" pre="4">decadent</D></B><E id="n5" post="22" pre="5"><F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F><I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I><L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L><R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R><U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U></E><X id="n24" post="25" pre="24"><Y id="n25" post="23" pre="25">yawn</Y><Z id="n26" idrefs="n8 n17" post="24" pre="26" xml:lang="it">zuzzurellone</Z></X></A>
<E id="n5" post="22" pre="5"><F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F><I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I><L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L><R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R><U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U></E>
</xml_result>
-<xml_result>
+<xml_result num="1">
<A id="n1" post="26" pre="1" xml:lang="en"><B id="n2" post="3" pre="2"><C id="n3" post="1" pre="3">clergywoman</C><D id="n4" post="2" pre="4">decadent</D></B><E id="n5" post="22" pre="5"><F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F><I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I><L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L><R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R><U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U></E><X id="n24" post="25" pre="24"><Y id="n25" post="23" pre="25">yawn</Y><Z id="n26" idrefs="n8 n17" post="24" pre="26" xml:lang="it">zuzzurellone</Z></X></A>
<E id="n5" post="22" pre="5"><F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F><I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I><L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L><R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R><U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U></E>
<L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L>
-<xml_result>
+<xml_result num="1">
<M id="n13" post="10" pre="13"/>
<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N>
<O id="n15" post="11" pre="15">ovenware</O>
-<xml_result>
+<xml_result num="1">
<L id="n12" post="15" pre="12"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" post="10" pre="13"/>which is followed by the letter:<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q></L>
<M id="n13" post="10" pre="13"/>
<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N>
-<xml_result>
+<xml_result num="1">
<F id="n6" post="6" pre="6"><G id="n7" post="4" pre="7">gentility</G><H id="n8" idrefs="n17 n26" post="5" pre="8">happy-go-lucky man</H></F>
<I id="n9" post="9" pre="9"><J id="n10" post="7" pre="10">jigsaw</J><K id="n11" post="8" pre="11">kerchief</K></I>
</xml_result>
-<xml_result>
+<xml_result num="1">
<R id="n18" post="18" pre="18"><S id="n19" post="16" pre="19">sage</S><T id="n20" post="17" pre="20">tattered</T></R>
<U id="n21" post="21" pre="21"><V id="n22" post="19" pre="22">voluptuary</V><W id="n23" post="20" pre="23">wriggle</W></U>
</xml_result>
-<xml_result>
+<xml_result num="1">
<B id="n2" post="3" pre="2"><C id="n3" post="1" pre="3">clergywoman</C><D id="n4" post="2" pre="4">decadent</D></B>
<C id="n3" post="1" pre="3">clergywoman</C>
<D id="n4" post="2" pre="4">decadent</D>
-<xml_result>
+<xml_result num="1">
The letter L is followed by the letter:
which is followed by the letter:
</xml_result>
-<xml_result>
+<xml_result num="1">
<!--L is the twelve-th letter of the English alphabet-->
</xml_result>
-<xml_result>
+<xml_result num="1">
<?myPI value="XPath is nice"?>
</xml_result>
-<xml_result>
+<xml_result num="1">
<?myPI value="XPath is nice"?>
</xml_result>
-<xml_result>
+<xml_result num="1">
<!--L is the twelve-th letter of the English alphabet-->
The letter L is followed by the letter:
<M id="n13" post="10" pre="13"/>
-<xml_result>
+<xml_result num="1">
<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N>
</xml_result>
-<xml_result>
+<xml_result num="1">
<M id="n13" post="10" pre="13"/>
<N id="n14" post="13" pre="14"><O id="n15" post="11" pre="15">ovenware</O><P id="n16" post="12" pre="16">plentiful</P></N>
<Q id="n17" idrefs="n8 n26" post="14" pre="17">quarrelsome</Q>
-<xml_result>
+<xml_result num="1">
<!-- a simple comment -->
</xml_result>
-<xml_result>
+<xml_result num="1">
<keyword> brethren hath powers intents </keyword>
<keyword> pudding ceremonious troyan maim drain <bold> supplications air kindly shrine office stabbed </bold> disarms </keyword>
<keyword> show <emph> feels pocket </emph> </keyword>
-<xml_result>
+<xml_result num="1">
<keyword> miserable wash twelvemonth baby earthly fairy spare passes rise caitiff <emph> scattered </emph> brach words empty ground domain cup negligence speaks hundred encounter thus drawn observation broke will </keyword>
<keyword> heads wast skulls mark objects dies pagan lose wight cinna description </keyword>
<keyword> lie poisons </keyword>
-<xml_result>
+<xml_result num="1">
<keyword> miserable wash twelvemonth baby earthly fairy spare passes rise caitiff <emph> scattered </emph> brach words empty ground domain cup negligence speaks hundred encounter thus drawn observation broke will </keyword>
<keyword> heads wast skulls mark objects dies pagan lose wight cinna description </keyword>
<keyword> lie poisons </keyword>
-<xml_result>
+<xml_result num="1">
<date>09/08/2001</date>
<date>08/23/2001</date>
<date>03/16/2001</date>
-<xml_result>
+<xml_result num="1">
<date>06/11/2000</date>
<date>01/25/1999</date>
<date>08/22/1999</date>
-<xml_result>
+<xml_result num="1">
<name>Hajin Callegarin</name>
<name>Niklas Rudisin</name>
<name>Husam Abdelguerfi</name>
-<xml_result>
+<xml_result num="1">
<name>Odette Morrison</name>
<name>Ibrahim Karnin</name>
<name>German Barz</name>
-<xml_result>
+<xml_result num="1">
<name>Philippas Woit</name>
<name>Takio Usdin</name>
<name>Sakthirel Mittermeir</name>
-<xml_result>
+<xml_result num="1">
</xml_result>
-<xml_result>
+<xml_result num="1">
<interval>
<start>11/14/2000</start>
<end>07/26/1998</end>
-<xml_result>
+<xml_result num="1">
<name>duteous nine eighteen </name>
<name>condemn </name>
<name>earnestly subtle spotted attend </name>
-<xml_result>
+<xml_result num="1">
<keyword> officer embrace such fears distinction attires </keyword>
<keyword> tract element sails course placed fouler four plac joint </keyword>
<keyword> cimber paper admittance tread character </keyword>
-<xml_result>
+<xml_result num="1">
<name>ungentle secure pleading snow </name>
<name>base hoar fortunes </name>
<name>lowest grief </name>
-<xml_result>
+<xml_result num="1">
<keyword> officer embrace such fears distinction attires </keyword>
<keyword> tract element sails course placed fouler four plac joint </keyword>
<keyword> cimber paper admittance tread character </keyword>
-<xml_result>
+<xml_result num="1">
<bidder>
<date>04/19/2000</date>
<time>03:30:36</time>
-<xml_result>
+<xml_result num="1">
<bidder>
<date>01/05/2000</date>
<time>12:53:12</time>
-<xml_result>
+<xml_result num="1">
<name>duteous nine eighteen </name>
<name>condemn </name>
<name>earnestly subtle spotted attend </name>
-<xml_result>
+<xml_result num="1">
<name>condemn </name>
<name>earnestly subtle spotted attend </name>
<name>poisons </name>
-<xml_result>
+<xml_result num="1">
<name>Fumihide Fairtlough</name>
<name>Philippas Woit</name>
<name>Takio Usdin</name>
-<xml_result>
+<xml_result num="1">
<interval>
<start>11/14/2000</start>
<end>07/26/1998</end>
-<xml_result>
+<xml_result num="1">
<interval>
<start>11/14/2000</start>
<end>07/26/1998</end>
-<xml_result>
+<xml_result num="1">
<keyword> heathen </keyword>
</xml_result>
-<xml_result>
+<xml_result num="1">
<keyword> record penury herself reasons merits villainous whereupon wrote penny mar </keyword>
<keyword> seemeth </keyword>
<keyword> heathen </keyword>
-<xml_result>
+<xml_result num="1">
<keyword> record penury herself reasons merits villainous whereupon wrote penny mar </keyword>
<keyword> seemeth </keyword>
<keyword> heathen </keyword>
-<xml_result>
+<xml_result num="1">
<date>12/05/2001</date>
</xml_result>
-<xml_result>
+<xml_result num="1">
<date>06/06/2000</date>
<date>12/05/2001</date>
</xml_result>
-<xml_result>
+<xml_result num="1">
</xml_result>
-<xml_result>
+<xml_result num="1">
<name>Jaak Tempesti</name>
</xml_result>
-<xml_result>
+<xml_result num="1">
</xml_result>
-<xml_result>
+<xml_result num="1">
</xml_result>
-<xml_result>
+<xml_result num="1">
<interval>
<start>06/16/1999</start>
<end>05/12/2001</end>
-<xml_result>
+<xml_result num="1">
<name>duteous nine eighteen </name>
<name>great </name>
<name>scarce brook </name>
-<xml_result>
+<xml_result num="1">
<keyword> officer embrace such fears distinction attires </keyword>
<keyword> preparation rejoice </keyword>
<keyword> season presently victory women beating </keyword>
-<xml_result>
+<xml_result num="1">
<name>unsur brutish </name>
<name>nakedness </name>
</xml_result>
-<xml_result>
+<xml_result num="1">
<keyword> officer embrace such fears distinction attires </keyword>
<keyword> preparation rejoice </keyword>
<keyword> season presently victory women beating </keyword>
-<xml_result>
+<xml_result num="1">
<bidder>
<date>10/22/2001</date>
<time>10:21:43</time>
-<xml_result>
+<xml_result num="1">
<bidder>
<date>07/27/2001</date>
<time>12:36:50</time>
-<xml_result>
+<xml_result num="1">
<name>duteous nine eighteen </name>
<name>great </name>
<name>scarce brook </name>
-<xml_result>
+<xml_result num="1">
<name>great </name>
<name>scarce brook </name>
<name>abhorr execution beckon rue </name>
-<xml_result>
+<xml_result num="1">
</xml_result>
-<xml_result>
+<xml_result num="1">
</xml_result>
-<xml_result>
+<xml_result num="1">
<interval>
<start>06/16/1999</start>
<end>05/12/2001</end>