21 lines
525 B
Python
21 lines
525 B
Python
#!/usr/bin/env python3
|
|
#
|
|
# Copyright (C) 2022 Intel Corporation.
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
#
|
|
|
|
from lxml.etree import parse, XMLParser
|
|
from pipeline import PipelineStage
|
|
|
|
class LXMLLoadStage(PipelineStage):
|
|
def __init__(self, tag):
|
|
self.consumes = f"{tag}_path"
|
|
self.provides = f"{tag}_etree"
|
|
|
|
def run(self, obj):
|
|
xml_path = obj.get(self.consumes)
|
|
etree = parse(xml_path, XMLParser(remove_blank_text=True))
|
|
etree.xinclude()
|
|
obj.set(self.provides, etree)
|