XML-like optional/required for CMP writer

This commit is contained in:
Matt Nadareski
2020-08-24 13:29:27 -07:00
parent df9d908d04
commit 769bc077e7
3 changed files with 67 additions and 59 deletions

View File

@@ -176,6 +176,23 @@ namespace SabreTools.Library.IO
WriteEndElement();
}
/// <summary>
/// Ensure writing writing null values as empty strings
/// </summary>
public void WriteRequiredElementString(string name, string value)
{
WriteElementString(name, value ?? string.Empty);
}
/// <summary>
/// Write an element, if the value is not null or empty
/// </summary>
public void WriteOptionalElementString(string name, string value)
{
if (!string.IsNullOrEmpty(value))
WriteElementString(name, value);
}
/// <summary>
/// Write the start of an attribute node
/// </summary>
@@ -222,6 +239,23 @@ namespace SabreTools.Library.IO
WriteEndAttribute();
}
/// <summary>
/// Ensure writing writing null values as empty strings
/// </summary>
public void WriteRequiredAttributeString(string name, string value)
{
WriteAttributeString(name, value ?? string.Empty);
}
/// <summary>
/// Write an attribute, if the value is not null or empty
/// </summary>
public void WriteOptionalAttributeString(string name, string value)
{
if (!string.IsNullOrEmpty(value))
WriteAttributeString(name, value);
}
/// <summary>
/// Write a standalone attribute
/// </summary>