Merge pull request #3504 from Matt14916/xmlparser-entities
Create entity nodes with xmlparser, add a test to xmlparser
This commit is contained in:
commit
60e5a2b2f5
2 changed files with 19 additions and 11 deletions
|
|
@ -96,7 +96,7 @@ proc parse(x: var XmlParser, errors: var seq[string]): XmlNode =
|
||||||
next(x)
|
next(x)
|
||||||
of xmlEntity:
|
of xmlEntity:
|
||||||
## &entity;
|
## &entity;
|
||||||
errors.add(errorMsg(x, "unknown entity: " & x.entityName))
|
result = newEntity(x.entityName)
|
||||||
next(x)
|
next(x)
|
||||||
of xmlEof: discard
|
of xmlEof: discard
|
||||||
|
|
||||||
|
|
@ -143,17 +143,24 @@ proc loadXml*(path: string): XmlNode =
|
||||||
result = loadXml(path, errors)
|
result = loadXml(path, errors)
|
||||||
if errors.len > 0: raiseInvalidXml(errors)
|
if errors.len > 0: raiseInvalidXml(errors)
|
||||||
|
|
||||||
when not defined(testing) and isMainModule:
|
when isMainModule:
|
||||||
import os
|
when not defined(testing):
|
||||||
|
import os
|
||||||
|
|
||||||
var errors: seq[string] = @[]
|
var errors: seq[string] = @[]
|
||||||
var x = loadXml(paramStr(1), errors)
|
var x = loadXml(paramStr(1), errors)
|
||||||
for e in items(errors): echo e
|
for e in items(errors): echo e
|
||||||
|
|
||||||
var f: File
|
var f: File
|
||||||
if open(f, "xmltest.txt", fmWrite):
|
if open(f, "xmltest.txt", fmWrite):
|
||||||
f.write($x)
|
f.write($x)
|
||||||
f.close()
|
f.close()
|
||||||
|
else:
|
||||||
|
quit("cannot write test.txt")
|
||||||
else:
|
else:
|
||||||
quit("cannot write test.txt")
|
block: # correctly parse ../../tests/testdata/doc1.xml
|
||||||
|
let filePath = "tests/testdata/doc1.xml"
|
||||||
|
var errors: seq[string] = @[]
|
||||||
|
var xml = loadXml(filePath, errors)
|
||||||
|
assert(errors.len == 0, "The file tests/testdata/doc1.xml should be parsed without errors.")
|
||||||
|
|
||||||
|
|
|
||||||
1
tests/testdata/doc1.xml
vendored
1
tests/testdata/doc1.xml
vendored
|
|
@ -5,6 +5,7 @@
|
||||||
<test2>
|
<test2>
|
||||||
bla ah absy hsh
|
bla ah absy hsh
|
||||||
hsh
|
hsh
|
||||||
|
&woohoo;
|
||||||
sjj
|
sjj
|
||||||
</test2>
|
</test2>
|
||||||
<test><teh>bla</teh></test>
|
<test><teh>bla</teh></test>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue