Add required variants for XML

This commit is contained in:
Matt Nadareski
2020-08-24 00:48:27 -07:00
parent 06829d3d5f
commit ece8e0cae7
7 changed files with 90 additions and 81 deletions

View File

@@ -994,7 +994,7 @@ namespace SabreTools.Library.DatFiles
xtw.WriteStartDocument();
xtw.WriteStartElement("mame");
xtw.WriteAttributeString("build", Header.Name);
xtw.WriteRequiredAttributeString("build", Header.Name);
xtw.WriteOptionalAttributeString("debug", Header.Debug.FromYesNo());
xtw.WriteOptionalAttributeString("mameconfig", Header.MameConfig);
@@ -1024,7 +1024,7 @@ namespace SabreTools.Library.DatFiles
// Build the state
xtw.WriteStartElement("machine");
xtw.WriteAttributeString("name", datItem.Machine.Name);
xtw.WriteRequiredAttributeString("name", datItem.Machine.Name);
xtw.WriteOptionalAttributeString("sourcefile", datItem.Machine.SourceFile);
if (datItem.Machine.MachineType.HasFlag(MachineType.Bios))
@@ -1064,8 +1064,8 @@ namespace SabreTools.Library.DatFiles
foreach (ListXmlInfo kvp in datItem.Machine.Infos)
{
xtw.WriteStartElement("info");
xtw.WriteAttributeString("name", kvp.Name);
xtw.WriteAttributeString("value", kvp.Value);
xtw.WriteRequiredAttributeString("name", kvp.Name);
xtw.WriteRequiredAttributeString("value", kvp.Value);
xtw.WriteEndElement();
}
}
@@ -1128,7 +1128,7 @@ namespace SabreTools.Library.DatFiles
case ItemType.BiosSet:
var biosSet = datItem as BiosSet;
xtw.WriteStartElement("biosset");
xtw.WriteAttributeString("name", biosSet.Name);
xtw.WriteRequiredAttributeString("name", biosSet.Name);
xtw.WriteOptionalAttributeString("description", biosSet.Description);
xtw.WriteOptionalAttributeString("default", biosSet.Default?.ToString().ToLowerInvariant());
xtw.WriteEndElement();
@@ -1137,7 +1137,7 @@ namespace SabreTools.Library.DatFiles
case ItemType.Disk:
var disk = datItem as Disk;
xtw.WriteStartElement("disk");
xtw.WriteAttributeString("name", disk.Name);
xtw.WriteRequiredAttributeString("name", disk.Name);
xtw.WriteOptionalAttributeString("md5", disk.MD5.ToLowerInvariant());
#if NET_FRAMEWORK
xtw.WriteOptionalAttributeString("ripemd160", disk.RIPEMD160.ToLowerInvariant());
@@ -1158,7 +1158,7 @@ namespace SabreTools.Library.DatFiles
case ItemType.Rom:
var rom = datItem as Rom;
xtw.WriteStartElement("rom");
xtw.WriteAttributeString("name", rom.Name);
xtw.WriteRequiredAttributeString("name", rom.Name);
if (rom.Size != -1) xtw.WriteAttributeString("size", rom.Size.ToString());
xtw.WriteOptionalAttributeString("crc", rom.CRC.ToLowerInvariant());
xtw.WriteOptionalAttributeString("md5", rom.MD5.ToLowerInvariant());
@@ -1180,7 +1180,7 @@ namespace SabreTools.Library.DatFiles
case ItemType.Sample:
xtw.WriteStartElement("sample");
xtw.WriteAttributeString("name", datItem.Name);
xtw.WriteRequiredAttributeString("name", datItem.Name);
xtw.WriteEndElement();
break;
}