public virtual void writeNode(global::Xml @value, string tabs) { unchecked { #line 50 "/opt/haxe/std/haxe/xml/Printer.hx" switch (@value.nodeType) { case 0: { #line 68 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)(global::Std.@string(global::haxe.lang.Runtime.concat(tabs, "<"))))); { #line 69 "/opt/haxe/std/haxe/xml/Printer.hx" if ((@value.nodeType != global::Xml.Element)) { #line 69 "/opt/haxe/std/haxe/xml/Printer.hx" throw ((global::System.Exception)(global::haxe.Exception.thrown(global::haxe.lang.Runtime.concat("Bad node type, expected Element but found ", global::_Xml.XmlType_Impl_.toString(@value.nodeType))))); } #line 69 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)(global::Std.@string(@value.nodeName)))); } #line 70 "/opt/haxe/std/haxe/xml/Printer.hx" { #line 70 "/opt/haxe/std/haxe/xml/Printer.hx" object attribute = @value.attributes(); #line 70 "/opt/haxe/std/haxe/xml/Printer.hx" while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(attribute, "hasNext", 407283053, null))) { #line 70 "/opt/haxe/std/haxe/xml/Printer.hx" string attribute1 = global::haxe.lang.Runtime.toString(global::haxe.lang.Runtime.callField(attribute, "next", 1224901875, null)); this.output.b.Append(((string)(global::Std.@string(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat(" ", attribute1), "=\""))))); #line 72 "/opt/haxe/std/haxe/xml/Printer.hx" { #line 72 "/opt/haxe/std/haxe/xml/Printer.hx" string input = global::StringTools.htmlEscape(@value.@get(attribute1), new global::haxe.lang.Null <bool>(true, true)); #line 72 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)(global::Std.@string(input)))); } #line 73 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)("\""))); } } #line 75 "/opt/haxe/std/haxe/xml/Printer.hx" if (this.hasChildren(@value)) { #line 76 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)(">"))); if (this.pretty) { #line 77 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)("\n"))); } #line 78 "/opt/haxe/std/haxe/xml/Printer.hx" { #line 78 "/opt/haxe/std/haxe/xml/Printer.hx" if (((@value.nodeType != global::Xml.Document) && (@value.nodeType != global::Xml.Element))) { #line 78 "/opt/haxe/std/haxe/xml/Printer.hx" throw ((global::System.Exception)(global::haxe.Exception.thrown(global::haxe.lang.Runtime.concat("Bad node type, expected Element or Document but found ", global::_Xml.XmlType_Impl_.toString(@value.nodeType))))); } #line 78 "/opt/haxe/std/haxe/xml/Printer.hx" int _g_current = 0; #line 78 "/opt/haxe/std/haxe/xml/Printer.hx" global::Array <object> _g_array = @value.children; #line 78 "/opt/haxe/std/haxe/xml/Printer.hx" while ((_g_current < _g_array.length)) { #line 78 "/opt/haxe/std/haxe/xml/Printer.hx" global::Xml child = ((global::Xml)(_g_array[_g_current++])); this.writeNode(child, ((this.pretty) ? (global::haxe.lang.Runtime.concat(tabs, "\t")) : (tabs))); } } #line 81 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)(global::Std.@string(global::haxe.lang.Runtime.concat(tabs, "</"))))); { #line 82 "/opt/haxe/std/haxe/xml/Printer.hx" if ((@value.nodeType != global::Xml.Element)) { #line 82 "/opt/haxe/std/haxe/xml/Printer.hx" throw ((global::System.Exception)(global::haxe.Exception.thrown(global::haxe.lang.Runtime.concat("Bad node type, expected Element but found ", global::_Xml.XmlType_Impl_.toString(@value.nodeType))))); } #line 82 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)(global::Std.@string(@value.nodeName)))); } #line 83 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)(">"))); if (this.pretty) { #line 84 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)("\n"))); } } else { #line 86 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)("/>"))); if (this.pretty) { #line 87 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)("\n"))); } } #line 67 "/opt/haxe/std/haxe/xml/Printer.hx" break; } case 1: { #line 90 "/opt/haxe/std/haxe/xml/Printer.hx" if (((@value.nodeType == global::Xml.Document) || (@value.nodeType == global::Xml.Element))) { #line 90 "/opt/haxe/std/haxe/xml/Printer.hx" throw ((global::System.Exception)(global::haxe.Exception.thrown(global::haxe.lang.Runtime.concat("Bad node type, unexpected ", global::_Xml.XmlType_Impl_.toString(@value.nodeType))))); } #line 90 "/opt/haxe/std/haxe/xml/Printer.hx" string nodeValue = @value.nodeValue; if ((nodeValue.Length != 0)) { #line 92 "/opt/haxe/std/haxe/xml/Printer.hx" { #line 92 "/opt/haxe/std/haxe/xml/Printer.hx" string input1 = global::haxe.lang.Runtime.concat(tabs, global::StringTools.htmlEscape(nodeValue, default(global::haxe.lang.Null <bool>))); #line 92 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)(global::Std.@string(input1)))); } #line 93 "/opt/haxe/std/haxe/xml/Printer.hx" if (this.pretty) { #line 93 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)("\n"))); } } #line 89 "/opt/haxe/std/haxe/xml/Printer.hx" break; } case 2: { #line 52 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)(global::Std.@string(global::haxe.lang.Runtime.concat(tabs, "<![CDATA["))))); { #line 53 "/opt/haxe/std/haxe/xml/Printer.hx" if (((@value.nodeType == global::Xml.Document) || (@value.nodeType == global::Xml.Element))) { #line 53 "/opt/haxe/std/haxe/xml/Printer.hx" throw ((global::System.Exception)(global::haxe.Exception.thrown(global::haxe.lang.Runtime.concat("Bad node type, unexpected ", global::_Xml.XmlType_Impl_.toString(@value.nodeType))))); } #line 53 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)(global::Std.@string(@value.nodeValue)))); } #line 54 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)("]]>"))); if (this.pretty) { #line 55 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)("\n"))); } #line 51 "/opt/haxe/std/haxe/xml/Printer.hx" break; } case 3: { #line 57 "/opt/haxe/std/haxe/xml/Printer.hx" if (((@value.nodeType == global::Xml.Document) || (@value.nodeType == global::Xml.Element))) { #line 57 "/opt/haxe/std/haxe/xml/Printer.hx" throw ((global::System.Exception)(global::haxe.Exception.thrown(global::haxe.lang.Runtime.concat("Bad node type, unexpected ", global::_Xml.XmlType_Impl_.toString(@value.nodeType))))); } #line 57 "/opt/haxe/std/haxe/xml/Printer.hx" string commentContent = @value.nodeValue; commentContent = new global::EReg("[\n\r\t]+", "g").replace(commentContent, ""); #line 59 "/opt/haxe/std/haxe/xml/Printer.hx" commentContent = global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat("<!--", commentContent), "-->"); this.output.b.Append(((string)(global::Std.@string(tabs)))); #line 61 "/opt/haxe/std/haxe/xml/Printer.hx" { #line 61 "/opt/haxe/std/haxe/xml/Printer.hx" string input2 = commentContent.Trim(); #line 61 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)(global::Std.@string(input2)))); } #line 62 "/opt/haxe/std/haxe/xml/Printer.hx" if (this.pretty) { #line 62 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)("\n"))); } #line 56 "/opt/haxe/std/haxe/xml/Printer.hx" break; } case 4: { #line 99 "/opt/haxe/std/haxe/xml/Printer.hx" { #line 99 "/opt/haxe/std/haxe/xml/Printer.hx" if (((@value.nodeType == global::Xml.Document) || (@value.nodeType == global::Xml.Element))) { #line 99 "/opt/haxe/std/haxe/xml/Printer.hx" throw ((global::System.Exception)(global::haxe.Exception.thrown(global::haxe.lang.Runtime.concat("Bad node type, unexpected ", global::_Xml.XmlType_Impl_.toString(@value.nodeType))))); } #line 99 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)(global::Std.@string(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat("<!DOCTYPE ", @value.nodeValue), ">"))))); } #line 100 "/opt/haxe/std/haxe/xml/Printer.hx" if (this.pretty) { #line 100 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)("\n"))); } #line 98 "/opt/haxe/std/haxe/xml/Printer.hx" break; } case 5: { #line 96 "/opt/haxe/std/haxe/xml/Printer.hx" { #line 96 "/opt/haxe/std/haxe/xml/Printer.hx" if (((@value.nodeType == global::Xml.Document) || (@value.nodeType == global::Xml.Element))) { #line 96 "/opt/haxe/std/haxe/xml/Printer.hx" throw ((global::System.Exception)(global::haxe.Exception.thrown(global::haxe.lang.Runtime.concat("Bad node type, unexpected ", global::_Xml.XmlType_Impl_.toString(@value.nodeType))))); } #line 96 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)(global::Std.@string(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat("<?", @value.nodeValue), "?>"))))); } #line 97 "/opt/haxe/std/haxe/xml/Printer.hx" if (this.pretty) { #line 97 "/opt/haxe/std/haxe/xml/Printer.hx" this.output.b.Append(((string)("\n"))); } #line 95 "/opt/haxe/std/haxe/xml/Printer.hx" break; } case 6: { #line 64 "/opt/haxe/std/haxe/xml/Printer.hx" if (((@value.nodeType != global::Xml.Document) && (@value.nodeType != global::Xml.Element))) { #line 64 "/opt/haxe/std/haxe/xml/Printer.hx" throw ((global::System.Exception)(global::haxe.Exception.thrown(global::haxe.lang.Runtime.concat("Bad node type, expected Element or Document but found ", global::_Xml.XmlType_Impl_.toString(@value.nodeType))))); } #line 64 "/opt/haxe/std/haxe/xml/Printer.hx" int _g_current1 = 0; #line 64 "/opt/haxe/std/haxe/xml/Printer.hx" global::Array <object> _g_array1 = @value.children; #line 64 "/opt/haxe/std/haxe/xml/Printer.hx" while ((_g_current1 < _g_array1.length)) { #line 64 "/opt/haxe/std/haxe/xml/Printer.hx" global::Xml child1 = ((global::Xml)(_g_array1[_g_current1++])); this.writeNode(child1, tabs); } #line 64 "/opt/haxe/std/haxe/xml/Printer.hx" break; } } } #line default }