kiwi-el8/kiwi/markup/xml.py
Marcus Schäfer 4720d21283
Support multiple markup formats
Allow to read multiple markup formats. Supported are XML
and YAML. The parsing and transformation is based on the
anymarkup module. The use of anymarkup is optional and
implemented as an on demand loading module. If a user
uses a yaml config file or a request to convert into
yaml is made without an installed anymarkup module an
exception is thrown
2020-05-15 13:59:22 +02:00

47 lines
1.4 KiB
Python

# Copyright (c) 2020 SUSE LLC. All rights reserved.
#
# This file is part of kiwi.
#
# kiwi is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# kiwi is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with kiwi. If not, see <http://www.gnu.org/licenses/>
#
# project
from kiwi.markup.base import MarkupBase
from kiwi.exceptions import KiwiMarkupConversionError
class MarkupXML(MarkupBase):
"""
**Implements plain XML markup handling**
"""
def get_xml_description(self):
"""
Return XML description file name
:return: file path name
:rtype: string
"""
return self.apply_xslt_stylesheets(
self.description
)
def get_yaml_description(self):
"""
Conversion into YAML format not supported by base XML markup
"""
raise KiwiMarkupConversionError(
'Conversion to YAML not supported, install anymarkup module'
)