Add doctype writing to serializers

This commit is contained in:
Matt Nadareski
2023-07-31 11:24:24 -04:00
parent 2b19129118
commit 74631d1f87
5 changed files with 118 additions and 7 deletions

View File

@@ -1,7 +1,38 @@
using System.IO;
namespace SabreTools.Serialization
{
/// <summary>
/// XML deserializer for OpenMSX software database files
/// </summary>
public class OpenMSX : XmlSerializer<Models.OpenMSX.SoftwareDb> { }
public class OpenMSX : XmlSerializer<Models.OpenMSX.SoftwareDb>
{
/// <summary>
/// name field for DOCTYPE
/// </summary>
public const string? DocTypeName = "softwaredb";
/// <summary>
/// pubid field for DOCTYPE
/// </summary>
public const string? DocTypePubId = null;
/// <summary>
/// sysid field for DOCTYPE
/// </summary>
public const string? DocTypeSysId = "softwaredb1.dtd";
/// <summary>
/// subset field for DOCTYPE
/// </summary>
public const string? DocTypeSubset = null;
/// <inheritdoc cref="SerializeToFile(Models.OpenMSX.SoftwareDb, string, string?, string?, string?, string?)" />
public static bool SerializeToFileWithDocType(Models.OpenMSX.SoftwareDb obj, string path)
=> SerializeToFile(obj, path, DocTypeName, DocTypePubId, DocTypeSysId, DocTypeSysId);
/// <inheritdoc cref="SerializeToStream(Models.OpenMSX.SoftwareDb, string?, string?, string?, string?)" />
public static Stream? SerializeToStreamWithDocType(Models.OpenMSX.SoftwareDb obj, string path)
=> SerializeToStream(obj, DocTypeName, DocTypePubId, DocTypeSysId, DocTypeSysId);
}
}