/usr/bin/pyxbdump is in python-pyxb 1.2.6+dfsg-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #!/usr/bin/python
from __future__ import print_function
import pyxb.namespace
import sys
import traceback
import pyxb.xmlschema.structures
import logging
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
pyxb.namespace.archive.NamespaceArchive.PreLoadArchives()
ans = pyxb.namespace.AvailableNamespaces()
print('%d available namespaces' % (len(ans),))
for ns in ans:
    for mr in ns.moduleRecords():
        mp = mr.modulePath()
        if mp is None:
            mp = '<builtin>'
        fp = '<builtin>'
        uid = 'N/A'
        if mr.archive() is not None:
            fp = mr.archive().archivePath()
            uid = mr.archive().generationUID()
        print("%s\t%s\t%s\t%s %s" % (ns, mp, fp, (mr.isPublic() and 'Public') or 'private', uid))
sys.exit(0)
for fn in sys.argv[1:]:
    nsa = None
    try:
        nsa = pyxb.namespace.archive.NamespaceArchive.ForPath(fn)
    except pyxb.NamespaceArchiveError as e:
        print('%s: %s' % (fn, e))
        continue
    print('%s : %d namespaces:' % (fn, len(nsa.namespaces())))
    nsa.readNamespaces()
    for mr in nsa.moduleRecords():
        print(' %s : %s, module-path=%s, %s' % (mr.namespace(), mr.generationUID(), mr.modulePath(), (mr.isPublic() and 'public') or 'private'))
        for origin in mr.origins():
            print('  + %s' % (origin,))
            for (c, k) in six.iteritems(origin.categoryMembers()):
                print('   - %s %d items' % (c, len(k)))
# LocalVariables:
# mode:python
# End:
 |