Fix header writing for ID

This commit is contained in:
Matt Nadareski
2023-04-03 12:38:01 -04:00
parent 19778947d8
commit 189a499fda

View File

@@ -941,14 +941,21 @@ namespace SabreTools.DatFiles.Formats
private void WriteHeader(XmlTextWriter xtw)
{
xtw.WriteStartDocument();
xtw.WriteDocType("datafile", "-//Logiqx//DTD ROM Management Datafile//EN", "http://www.logiqx.com/Dats/datafile.dtd", null);
if (Header.NoIntroID == null)
xtw.WriteDocType("datafile", "-//Logiqx//DTD ROM Management Datafile//EN", "http://www.logiqx.com/Dats/datafile.dtd", null);
xtw.WriteStartElement("datafile");
xtw.WriteOptionalAttributeString("build", Header.Build);
xtw.WriteOptionalAttributeString("debug", Header.Debug.FromYesNo());
if (Header.NoIntroID != null)
{
xtw.WriteRequiredAttributeString("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
xtw.WriteRequiredAttributeString("xsi:schemaLocation", "https://datomatic.no-intro.org/stuff https://datomatic.no-intro.org/stuff/schema_nointro_datfile_v3.xsd");
}
xtw.WriteStartElement("header");
xtw.WriteOptionalElementString("id", Header.NoIntroID);
xtw.WriteRequiredElementString("name", Header.Name);
xtw.WriteRequiredElementString("description", Header.Description);
xtw.WriteOptionalElementString("rootdir", Header.RootDir);