diff options
author | sergey.anufriev <sergey.anufriev@eltex.loc> | 2015-09-26 09:57:07 +0600 |
---|---|---|
committer | sergey.anufriev <sergey.anufriev@eltex.loc> | 2015-09-26 10:09:07 +0600 |
commit | 64737c8496e5984336307e7a2dca18aed3c5b227 (patch) | |
tree | df74502719c226222908a3df13d3fc717c7f432a /lib/pure/xmltree.nim | |
parent | 93527721744bf2af5a43677c710616d2691bb522 (diff) | |
download | Nim-64737c8496e5984336307e7a2dca18aed3c5b227.tar.gz |
added proc to change an element tag and proc to insert xmlnode child
Diffstat (limited to 'lib/pure/xmltree.nim')
-rw-r--r-- | lib/pure/xmltree.nim | 13 |
1 files changed, 13 insertions, 0 deletions
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) |