+ void fix_empty_font_ids ();
+
+ virtual std::vector<std::shared_ptr<LoadFontNode>> load_font_nodes () const = 0;
+
+ virtual int time_code_rate () const = 0;
+
+ /** @return Raw XML loaded from, or written to, an on-disk asset, or boost::none if
+ * - this object was not created from an existing on-disk asset and has not been written to one, or
+ * - this asset is encrypted and no key is available.
+ */
+ virtual boost::optional<std::string> raw_xml () const {
+ return _raw_xml;
+ }
+
+ virtual SubtitleStandard subtitle_standard() const = 0;
+
+ static std::string format_xml (xmlpp::Document const& document, std::vector<std::pair<std::string, std::string>> const& namespaces);