From 64737c8496e5984336307e7a2dca18aed3c5b227 Mon Sep 17 00:00:00 2001 From: "sergey.anufriev" Date: Sat, 26 Sep 2015 09:57:07 +0600 Subject: added proc to change an element tag and proc to insert xmlnode child --- lib/pure/xmltree.nim | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'lib/pure/xmltree.nim') diff --git a/lib/pure/xmltree.nim b/lib/pure/xmltree.nim index 1c8573986..7c97a0a56 100644 --- a/lib/pure/xmltree.nim +++ b/lib/pure/xmltree.nim @@ -104,10 +104,23 @@ proc tag*(n: XmlNode): string {.inline.} = assert n.k == xnElement result = n.fTag +proc `tag=`*(n: XmlNode, tag: string) {.inline.} = + ## sets the tag name of `n`. `n` has to be an ``xnElement`` node. + assert n.k == xnElement + n.fTag = tag + proc add*(father, son: XmlNode) {.inline.} = ## adds the child `son` to `father`. add(father.s, son) +proc insert*(father, son: XmlNode, index: int) {.inline.} = + ## insert the child `son` to a given position in `father`. + assert father.k == xnElement and son.k == xnElement + if len(father.s) > index: + insert(father.s, son, index) + else: + insert(father.s, son, len(father.s)) + proc len*(n: XmlNode): int {.inline.} = ## returns the number `n`'s children. if n.k == xnElement: result = len(n.s) -- cgit 1.4.1-2-gfad0