mirror of
https://github.com/Theodor-Springmann-Stiftung/hamann-ausgabe-core.git
synced 2025-10-29 17:25:32 +00:00
41 lines
1.4 KiB
C#
41 lines
1.4 KiB
C#
using System.Xml.Linq;
|
|
|
|
namespace HaDocument.Models {
|
|
public class Marginal {
|
|
public string? Sort { get; } = "";
|
|
public string Letter { get; } = "";
|
|
public string Page { get; } = "";
|
|
public string Line { get; } = "";
|
|
public string Element { get; } = "";
|
|
public XElement? XElement { get; }
|
|
|
|
public Marginal(
|
|
string letter,
|
|
string page,
|
|
string line,
|
|
string? sort,
|
|
string element,
|
|
XElement? xelement = null
|
|
) {
|
|
Letter = letter;
|
|
Page = page;
|
|
Line = line;
|
|
Sort = sort;
|
|
Element = element;
|
|
XElement = xelement;
|
|
}
|
|
|
|
public static Marginal? FromXElement(XElement element) {
|
|
if (!element.HasAttributes || element.Name != "marginal" || element.IsEmpty) return null;
|
|
if (element.Attribute("letter")?.Value == null || element.Attribute("page")?.Value == null || element.Attribute("line")?.Value == null) return null;
|
|
return new Marginal(
|
|
element.Attribute("letter")!.Value,
|
|
element.Attribute("page")!.Value,
|
|
element.Attribute("line")!.Value,
|
|
element.Attribute("sort")?.Value,
|
|
element.ToString(),
|
|
element
|
|
);
|
|
}
|
|
}
|
|
} |