using System.Xml;

namespace OfficeOpenXml;

public class ExcelProtectedRange : XmlHelper {
  public string Name => GetXmlNodeString("@name");

  private ExcelAddress _address;

  public ExcelAddress Address => _address ??= new(GetXmlNodeString("@sqref"));

  internal ExcelProtectedRange(XmlNamespaceManager ns, XmlNode topNode)
      : base(ns, topNode) {}
}
