mirror of
https://github.com/Theodor-Springmann-Stiftung/hamann-ausgabe-core.git
synced 2025-10-29 17:25:32 +00:00
43 lines
1.5 KiB
C#
43 lines
1.5 KiB
C#
using HaWeb.Models;
|
|
using System.Xml.Linq;
|
|
using HaWeb.XMLTests;
|
|
namespace HaWeb.Settings.NodeRules;
|
|
|
|
public class MarginalCollectionRules : ICollectionRule {
|
|
public string Name { get; } = "marginal";
|
|
public HamannXPath[] Bases { get; } = {
|
|
new HamannXPath() { Documents = new[] { "stellenkommentar" }, XPath = "//marginal"}
|
|
};
|
|
public HamannXPath[] Backlinks { get; } = {};
|
|
|
|
public IEnumerable<(string, XElement, XMLRootDocument)> GenerateIdentificationStrings(IEnumerable<(XElement, XMLRootDocument)> list) {
|
|
foreach (var e in list) {
|
|
var id = e.Item1.Attribute("letter")!.Value;
|
|
id += "-";
|
|
id += e.Item1.Attribute("page")!.Value;
|
|
id += "-";
|
|
id += e.Item1.Attribute("line")!.Value;
|
|
if (e.Item1.HasAttributes && e.Item1.Attribute("sort") != null) {
|
|
id += "-";
|
|
id += e.Item1.Attribute("sort")!.Value;
|
|
}
|
|
yield return (
|
|
id,
|
|
e.Item1,
|
|
e.Item2
|
|
);
|
|
}
|
|
}
|
|
|
|
public IEnumerable<(string, XElement, XMLRootDocument, bool)> GenerateBacklinkString(IEnumerable<(XElement, XMLRootDocument)> list) => null;
|
|
|
|
|
|
public bool CheckDatatypes(XElement element) {
|
|
if (element.HasAttributes && element.Attribute("sort") != null ) {
|
|
return Int32.TryParse(element.Attribute("sort").Value, out var _);
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
}
|