correct errors in xmltree docs (#16104)

This commit is contained in:
flywind 2020-11-23 18:36:05 +08:00 • committed by GitHub
commit 79ec1bdcbb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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)