(***********************************************************************)
(*
- Time-stamp: <Last modified on 2013-02-14 16:14:00 CET by Kim Nguyen>
+ Time-stamp: <Last modified on 2013-03-04 21:59:38 CET by Kim Nguyen>
*)
open Utils
let rec print_attributes out tree_ node =
if node != nil then begin
- output_string out (QName.to_string node.tag);
+ let ntag = QName.to_string node.tag in
+ output_char out ' ';
+ output out ntag 1 (String.length ntag - 1);
output_string out "=\"";
output_escape_string out node.first_child.data;
output_char out '"';
let rec print_xml out tree_ node =
if node != nil then
- let () =
- if node.tag == QName.text then
- output_escape_string out node.data
+ let () =
+ if node.tag == QName.text then
+ output_escape_string out node.data
+ else
+ let tag = QName.to_string node.tag in
+ output_char out '<';
+ output_string out tag;
+ let fchild =
+ if node.first_child.tag == QName.attribute_map then
+ let () = print_attributes out tree_ node.first_child.first_child in
+ node.first_child.next_sibling
else
- let tag = QName.to_string node.tag in
- output_char out '<';
- output_string out tag;
- let fchild =
- if node.first_child.tag == QName.attribute_map then
- let () =
- print_attributes out tree_ node.first_child.first_child
- in
- node.first_child.next_sibling
- else
- node.first_child
- in
- if fchild == nil then output_string out "/>"
- else begin
- output_char out '>';
- print_xml out tree_ fchild;
- output_string out "</";
- output_string out tag;
- output_char out '>'
- end
+ node.first_child
in
- print_xml out tree_ node.next_sibling
+ if fchild == nil then output_string out "/>"
+ else begin
+ output_char out '>';
+ print_xml out tree_ fchild;
+ output_string out "</";
+ output_string out tag;
+ output_char out '>'
+ end
+ in
+ print_xml out tree_ node.next_sibling
let root t = t.root