# $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()