/* * Copyright (c) 2022, Luke Wilde * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace Web::DOMParsing { class XMLSerializer final : public RefCounted , public Bindings::Wrappable { public: using WrapperType = Bindings::XMLSerializerWrapper; static NonnullRefPtr create_with_global_object(HTML::Window&) { return adopt_ref(*new XMLSerializer()); } virtual ~XMLSerializer() override; DOM::ExceptionOr serialize_to_string(JS::NonnullGCPtr root); private: XMLSerializer(); }; enum class RequireWellFormed { No, Yes, }; DOM::ExceptionOr serialize_node_to_xml_string(JS::NonnullGCPtr root, RequireWellFormed require_well_formed); }