correct errors in xmltree docs (#16104)
This commit is contained in:
parent
ab2c082cb3
commit
79ec1bdcbb
1 changed files with 72 additions and 81 deletions
|
|
@ -9,26 +9,22 @@
|
||||||
|
|
||||||
## A simple XML tree generator.
|
## A simple XML tree generator.
|
||||||
##
|
##
|
||||||
## .. code-block::
|
runnableExamples:
|
||||||
## import xmltree
|
var g = newElement("myTag")
|
||||||
##
|
g.add newText("some text")
|
||||||
## var g = newElement("myTag")
|
g.add newComment("this is comment")
|
||||||
## g.add newText("some text")
|
|
||||||
## g.add newComment("this is comment")
|
var h = newElement("secondTag")
|
||||||
##
|
h.add newEntity("some entity")
|
||||||
## var h = newElement("secondTag")
|
|
||||||
## h.add newEntity("some entity")
|
let att = {"key1": "first value", "key2": "second value"}.toXmlAttributes
|
||||||
##
|
let k = newXmlTree("treeTag", [g, h], att)
|
||||||
## let att = {"key1": "first value", "key2": "second value"}.toXmlAttributes
|
|
||||||
## let k = newXmlTree("treeTag", [g, h], att)
|
doAssert $k == """<treeTag key1="first value" key2="second value">
|
||||||
##
|
<myTag>some text<!-- this is comment --></myTag>
|
||||||
## echo k
|
<secondTag>&some entity;</secondTag>
|
||||||
## # <treeTag key2="second value" key1="first value">
|
</treeTag>"""
|
||||||
## # <myTag>some text<!-- this is comment --></myTag>
|
|
||||||
## # <secondTag>&some entity;</secondTag>
|
|
||||||
## # </treeTag>
|
|
||||||
##
|
|
||||||
##
|
|
||||||
## **See also:**
|
## **See also:**
|
||||||
## * `xmlparser module <xmlparser.html>`_ for high-level XML parsing
|
## * `xmlparser module <xmlparser.html>`_ for high-level XML parsing
|
||||||
## * `parsexml module <parsexml.html>`_ for low-level XML parsing
|
## * `parsexml module <parsexml.html>`_ for low-level XML parsing
|
||||||
|
|
@ -146,21 +142,20 @@ proc newXmlTree*(tag: string, children: openArray[XmlNode],
|
||||||
## See also:
|
## See also:
|
||||||
## * `newElement proc <#newElement,string>`_
|
## * `newElement proc <#newElement,string>`_
|
||||||
## * [<> macro](#<>.m,untyped)
|
## * [<> macro](#<>.m,untyped)
|
||||||
##
|
|
||||||
## .. code-block::
|
runnableExamples:
|
||||||
## var g = newElement("myTag")
|
var g = newElement("myTag")
|
||||||
## g.add newText("some text")
|
g.add newText("some text")
|
||||||
## g.add newComment("this is comment")
|
g.add newComment("this is comment")
|
||||||
## var h = newElement("secondTag")
|
var h = newElement("secondTag")
|
||||||
## h.add newEntity("some entity")
|
h.add newEntity("some entity")
|
||||||
## let att = {"key1": "first value", "key2": "second value"}.toXmlAttributes
|
let att = {"key1": "first value", "key2": "second value"}.toXmlAttributes
|
||||||
## let k = newXmlTree("treeTag", [g, h], att)
|
let k = newXmlTree("treeTag", [g, h], att)
|
||||||
##
|
|
||||||
## echo k
|
doAssert $k == """<treeTag key1="first value" key2="second value">
|
||||||
## ## <treeTag key2="second value" key1="first value">
|
<myTag>some text<!-- this is comment --></myTag>
|
||||||
## ## <myTag>some text<!-- this is comment --></myTag>
|
<secondTag>&some entity;</secondTag>
|
||||||
## ## <secondTag>&some entity;</secondTag>
|
</treeTag>"""
|
||||||
## ## </treeTag>
|
|
||||||
|
|
||||||
result = newXmlNode(xnElement)
|
result = newXmlNode(xnElement)
|
||||||
result.fTag = tag
|
result.fTag = tag
|
||||||
|
|
@ -390,26 +385,24 @@ proc `[]`*(n: var XmlNode, i: int): var XmlNode {.inline.} =
|
||||||
proc clear*(n: var XmlNode) =
|
proc clear*(n: var XmlNode) =
|
||||||
## Recursively clears all children of an XmlNode.
|
## Recursively clears all children of an XmlNode.
|
||||||
##
|
##
|
||||||
## .. code-block::
|
runnableExamples:
|
||||||
## var g = newElement("myTag")
|
var g = newElement("myTag")
|
||||||
## g.add newText("some text")
|
g.add newText("some text")
|
||||||
## g.add newComment("this is comment")
|
g.add newComment("this is comment")
|
||||||
##
|
|
||||||
## var h = newElement("secondTag")
|
var h = newElement("secondTag")
|
||||||
## h.add newEntity("some entity")
|
h.add newEntity("some entity")
|
||||||
##
|
|
||||||
## let att = {"key1": "first value", "key2": "second value"}.toXmlAttributes
|
let att = {"key1": "first value", "key2": "second value"}.toXmlAttributes
|
||||||
## var k = newXmlTree("treeTag", [g, h], att)
|
var k = newXmlTree("treeTag", [g, h], att)
|
||||||
##
|
|
||||||
## echo k
|
doAssert $k == """<treeTag key1="first value" key2="second value">
|
||||||
## ## <treeTag key2="second value" key1="first value">
|
<myTag>some text<!-- this is comment --></myTag>
|
||||||
## ## <myTag>some text<!-- this is comment --></myTag>
|
<secondTag>&some entity;</secondTag>
|
||||||
## ## <secondTag>&some entity;</secondTag>
|
</treeTag>"""
|
||||||
## ## </treeTag>
|
|
||||||
##
|
clear(k)
|
||||||
## clear(k)
|
doAssert $k == """<treeTag key1="first value" key2="second value" />"""
|
||||||
## echo k
|
|
||||||
## ## <treeTag key2="second value" key1="first value" />
|
|
||||||
|
|
||||||
for i in 0 ..< n.len:
|
for i in 0 ..< n.len:
|
||||||
clear(n[i])
|
clear(n[i])
|
||||||
|
|
@ -419,25 +412,24 @@ proc clear*(n: var XmlNode) =
|
||||||
|
|
||||||
iterator items*(n: XmlNode): XmlNode {.inline.} =
|
iterator items*(n: XmlNode): XmlNode {.inline.} =
|
||||||
## Iterates over all direct children of `n`.
|
## Iterates over all direct children of `n`.
|
||||||
##
|
|
||||||
## **Examples:**
|
runnableExamples:
|
||||||
##
|
var g = newElement("myTag")
|
||||||
## .. code-block::
|
g.add newText("some text")
|
||||||
## var g = newElement("myTag")
|
g.add newComment("this is comment")
|
||||||
## g.add newText("some text")
|
|
||||||
## g.add newComment("this is comment")
|
var h = newElement("secondTag")
|
||||||
##
|
h.add newEntity("some entity")
|
||||||
## var h = newElement("secondTag")
|
g.add h
|
||||||
## h.add newEntity("some entity")
|
|
||||||
## g.add h
|
assert $g == "<myTag>some text<!-- this is comment --><secondTag>&some entity;</secondTag></myTag>"
|
||||||
##
|
|
||||||
## assert $g == "<myTag>some text<!-- this is comment --><secondTag>&some entity;</secondTag></myTag>"
|
# for x in g: # the same as `for x in items(g):`
|
||||||
## for x in g: # the same as `for x in items(g):`
|
# echo x
|
||||||
## echo x
|
|
||||||
##
|
# some text
|
||||||
## # some text
|
# <!-- this is comment -->
|
||||||
## # <!-- this is comment -->
|
# <secondTag>&some entity;<![CDATA[some cdata]]></secondTag>
|
||||||
## # <secondTag>&some entity;<![CDATA[some cdata]]></secondTag>
|
|
||||||
|
|
||||||
assert n.k == xnElement
|
assert n.k == xnElement
|
||||||
for i in 0 .. n.len-1: yield n[i]
|
for i in 0 .. n.len-1: yield n[i]
|
||||||
|
|
@ -451,13 +443,12 @@ proc toXmlAttributes*(keyValuePairs: varargs[tuple[key,
|
||||||
val: string]]): XmlAttributes =
|
val: string]]): XmlAttributes =
|
||||||
## Converts `{key: value}` pairs into `XmlAttributes`.
|
## Converts `{key: value}` pairs into `XmlAttributes`.
|
||||||
##
|
##
|
||||||
## .. code-block::
|
runnableExamples:
|
||||||
## let att = {"key1": "first value", "key2": "second value"}.toXmlAttributes
|
let att = {"key1": "first value", "key2": "second value"}.toXmlAttributes
|
||||||
## var j = newElement("myTag")
|
var j = newElement("myTag")
|
||||||
## j.attrs = att
|
j.attrs = att
|
||||||
##
|
|
||||||
## echo j
|
doAssert $j == """<myTag key1="first value" key2="second value" />"""
|
||||||
## ## <myTag key2="second value" key1="first value" />
|
|
||||||
|
|
||||||
newStringTable(keyValuePairs)
|
newStringTable(keyValuePairs)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue