import xmltree
block:
var
x: XmlNode
x = <>a(href = "http://nim-lang.org", newText("Nim rules."))
doAssert $x == """Nim rules."""
x = <>outer(<>inner())
doAssert $x == """
"""
x = <>outer(<>middle(<>inner1(), <>inner2(), <>inner3(), <>inner4()))
doAssert $x == """
"""
x = <>l0(<>l1(<>l2(<>l3(<>l4()))))
doAssert $x == """
"""
x = <>l0(<>l1p1(), <>l1p2(), <>l1p3())
doAssert $x == """
"""
x = <>l0(<>l1(<>l2p1(), <>l2p2()))
doAssert $x == """
"""
x = <>l0(<>l1(<>l2_1(), <>l2_2(<>l3_1(), <>l3_2(), <>l3_3(<>l4_1(), <>l4_2(), <>l4_3())), <>l2_3(), <>l2_4()))
doAssert $x == """
"""
let
innermost = newElement("innermost")
middle = newXmlTree("middle", [innermost])
innermost.add newText("innermost text")
x = newXmlTree("outer", [middle])
doAssert $x == """
innermost text
"""
x = newElement("myTag")
x.add newText("my text")
x.add newElement("sonTag")
x.add newEntity("my entity")
doAssert $x == "my text&my entity;"