X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2Fnaive_tree.ml;h=89b9e86446f397f03e3ed894d73ab7f65703611b;hp=38421e0ad766ec72799de4f75bc9872fffa84ab8;hb=fe2ba1820282783ae8c10fbbbd2b65d3dc4c67f2;hpb=35abea737ead2d4fd121d0cb8bdbda38cfcaa8d3 diff --git a/src/naive_tree.ml b/src/naive_tree.ml index 38421e0..89b9e86 100644 --- a/src/naive_tree.ml +++ b/src/naive_tree.ml @@ -130,12 +130,11 @@ first_child=%a; next_sibling=%a; parent=%a }" List.iter (do_attribute parser_ ctx) attr_list and do_attribute parser_ ctx (att, value) = - let att_tag = QName.to_string (QName.attribute (QName.of_string att)) in - start_element_handler parser_ ctx att_tag []; + start_element_handler parser_ ctx att []; let n = top ctx in n.data <- value; n.kind <- Tree.NodeKind.Attribute; - end_element_handler parser_ ctx att_tag + end_element_handler parser_ ctx att and consume_closing ctx n = if n.next_sibling != dummy then @@ -170,14 +169,11 @@ first_child=%a; next_sibling=%a; parent=%a }" and processing_instruction_handler parser_ ctx tag data = do_text parser_ ctx; - let pi = QName.to_string - (QName.processing_instruction (QName.of_string tag)) - in - start_element_handler parser_ ctx pi []; + start_element_handler parser_ ctx tag []; let node = top ctx in node.data <- data; node.kind <- Tree.NodeKind.ProcessingInstruction; - end_element_handler parser_ ctx pi + end_element_handler parser_ ctx tag let character_data_handler _parser ctx text = @@ -211,7 +207,7 @@ first_child=%a; next_sibling=%a; parent=%a }" Expat.final psr; let root = List.hd ctx.stack in root.next_sibling <- nil; - let a = Array.create ctx.current_preorder nil in + let a = Array.make ctx.current_preorder nil in let rec loop n = if n != nil then begin @@ -244,7 +240,7 @@ first_child=%a; next_sibling=%a; parent=%a }" Expat.Expat_error e -> error e parser_ let parse_file fd = - let buffer = String.create 4096 in + let buffer = String.make 4096 '\000' in let parser_, finalize = create_parser () in let rec loop () = let read = input fd buffer 0 4096 in @@ -276,7 +272,7 @@ let output_escape_string out s = let rec print_attributes ?(sep=true) out tree_ node = if (node.kind == Tree.NodeKind.Attribute) then - let tag = QName.to_string (QName.remove_prefix node.tag) in + let tag = QName.to_string node.tag in if sep then output_char out ' '; output_string out tag; output_string out "=\""; @@ -313,7 +309,7 @@ let rec print_xml out tree_ node = output_string out "-->" | ProcessingInstruction -> output_string out ""