From 14c6611ce6b4903c4000fafb9fd380cc431a11ce Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Mon, 25 Jun 2007 19:30:57 +0000 Subject: Checkpoint svn path=/scripts/PLAN; revision=684 --- scripts/xml-parse-test.py | 188 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100755 scripts/xml-parse-test.py (limited to 'scripts/xml-parse-test.py') diff --git a/scripts/xml-parse-test.py b/scripts/xml-parse-test.py new file mode 100755 index 00000000..2c2a82b9 --- /dev/null +++ b/scripts/xml-parse-test.py @@ -0,0 +1,188 @@ +# $Id$ + +import os + +def run(func, arg, *cmd): + i, o = func(cmd) + i.write(arg) + i.close() + value = o.read() + o.close() + return value + +def relaxng(xml, rng): + return run(os.popen4, xml, "xmllint", "--noout", "--relaxng", rng, "-") + +class rpki_updown_msg(object): + def toXml(self): + return (''' + \n''' % (self.sender, self.recipient, self.msg_ref, self.type) + ) + self.innerToXml() + '\n' + +class rpki_updown_err(rpki_updown_msg): + def innerToXml(self): + return '%d\n' % self.status + +class rpki_updown_list(rpki_updown_msg): + def innerToXml(self): + return "" + +class rpki_updown_list_response(rpki_updown_msg): + def innerToXml(self): + pass + +class rpki_updown_issue(rpki_updown_msg): + def __init__(self): + self.req_as = None + self_req_ipv4 = None + self.req_ipv6 = None + def innerToXml(self): + xml = ' \n' + +class rpki_issue_response(rpki_updown_msg): + pass + + + +def main(): + for x in xml: + print x + print relaxng(x, "up-down-medium-schema.rng") + print "=====\n" + +# Ugly inline stuff here for initial testing + +xml = [ +''' + + 2001 + 17 + [Readable text] + +''', +''' + + + deadbeef + + +''', +''' + + + + deadbeef + + deadbeef + + +''', +''' + +''', +''' + + + + deadbeef + + + deadbeef + + +''', +''' + + + +''', +''' + + + +''' +] + +main() -- cgit v1.2.3