Files
hamann-ausgabe-core/HaWeb/Settings/ParsingState/LetterState.cs

51 lines
1.2 KiB
C#

namespace HaWeb.Settings.ParsingState;
using HaDocument.Interfaces;
using HaXMLReader.Interfaces;
using HaXMLReader.EvArgs;
using HaDocument.Models;
using System.Text;
using System.Collections.Immutable;
using System.Linq;
using System.Xml.Linq;
public class LetterState : HaWeb.HTMLParser.IState {
// Input
internal ILibrary Lib;
internal IReaderService ReaderService;
internal Meta Meta;
internal IEnumerable<Marginal>? Marginals;
// State
internal bool active_del;
internal bool active_skipwhitespace;
internal string currline;
internal string currpage;
// Parsing-Combinations
internal StringBuilder sb_lettertext;
public LetterState(ILibrary lib, IReaderService readerService, Meta meta, IEnumerable<Marginal>? marginals) {
Lib = lib;
ReaderService = readerService;
Meta = meta;
Marginals = marginals;
SetupState();
}
public void SetupState() {
sb_lettertext = new StringBuilder();
active_skipwhitespace = true;
currline = "-1";
currpage = "";
// Initialize State
if (Meta.ZH != null) {
currpage = Meta.ZH.Page;
}
}
}