]>
Commit | Line | Data |
---|---|---|
1 | #!/usr/bin/env python3 | |
2 | # SPDX-License-Identifier: LGPL-2.1-or-later | |
3 | ||
4 | from lxml import etree as tree | |
5 | ||
6 | ||
7 | class CustomResolver(tree.Resolver): | |
8 | def resolve(self, url, _id, context): | |
9 | if 'custom-entities.ent' in url: | |
10 | return self.resolve_filename('man/custom-entities.ent', context) | |
11 | if 'ethtool-link-mode' in url: | |
12 | return self.resolve_filename('src/shared/ethtool-link-mode.xml', context) | |
13 | ||
14 | return None | |
15 | ||
16 | _parser = tree.XMLParser() | |
17 | # pylint: disable=no-member | |
18 | _parser.resolvers.add(CustomResolver()) | |
19 | ||
20 | def xml_parse(page): | |
21 | doc = tree.parse(page, _parser) | |
22 | doc.xinclude() | |
23 | return doc | |
24 | ||
25 | def xml_print(xml): | |
26 | return tree.tostring(xml, pretty_print=True, encoding='utf-8') |