Added new XML. FInished MetaßCollection

This commit is contained in:
schnulller
2022-06-27 16:14:29 +02:00
parent abe473e9d5
commit 0bbbcc0d44
12 changed files with 361922 additions and 173242 deletions

View File

@@ -21,14 +21,24 @@ public class MetaCollection : HaWeb.XMLParser.IXMLCollection {
public static IDictionary<string, string>? GetDataFields(XElement element) {
var res = new Dictionary<string, string>();
// TODO
var sort = element.Descendants("sort");
if (sort == null || !sort.Any()) return null;
var date = (string?)sort.First().Attribute("value");
var order = (string?)sort.First().Attribute("order");
if (String.IsNullOrWhiteSpace(date) || !DateTime.TryParse(date, out var dt)) return null;
res.Add("day", dt.Day.ToString());
res.Add("month", dt.Month.ToString());
res.Add("year", dt.Year.ToString());
if (!String.IsNullOrWhiteSpace(order)) res.Add("order", order);
else res.Add("order", "0");
return res;
}
public static IDictionary<string, ILookup<string, CollectedItem>>? GetLookups(IEnumerable<CollectedItem> items) {
var res = new Dictionary<string, ILookup<string, CollectedItem>>();
// TODO
var years = items.Where(x => x["year"] != null);
if (years == null || !years.Any()) return null;
res.Add("year", years.ToLookup(x => x["year"])!);
return res;
}
}

View File

@@ -79,11 +79,11 @@ public class XMLService : IXMLService {
var ret = new ConcurrentDictionary<string, ItemsCollection>(concurrencyLevel, startingSizeAllCollections);
if (_Collections != null)
foreach (var coll in _Collections) {
Parallel.ForEach(_Collections, (coll) => {
var elem = coll.Value.xPath.Aggregate(new List<XElement>(), (x, y) => { x.AddRange(document.XPathSelectElements(y).ToList()); return x; } );
if (elem != null && elem.Any()) {
var items = new ConcurrentDictionary<string, CollectedItem>(concurrencyLevel, startingSize);
Parallel.ForEach(elem, (e) => {
foreach (var e in elem) {
var k = coll.Value.GenerateKey(e);
if (k != null) {
var searchtext = coll.Value.Searchable ?
@@ -94,7 +94,7 @@ public class XMLService : IXMLService {
null;
items[k] = new CollectedItem(k, e, coll.Value, datafileds, searchtext);
}
});
}
if (items.Any()) {
if (!ret.ContainsKey(coll.Key))
ret[coll.Key] = new ItemsCollection(coll.Key, coll.Value);
@@ -102,12 +102,11 @@ public class XMLService : IXMLService {
ret[coll.Key].Items.Add(item.Key, item.Value);
}
}
}
});
if (ret.Any()) {
Parallel.ForEach(ret, (collection) => {
collection.Value.GenerateGroupings();
collection.Value.GenerateSortings();
});
}
_collectedProduction = ret.ToDictionary(x => x.Key, y => y.Value);

View File

@@ -0,0 +1,243 @@
<?xml version="1.0" encoding="utf-8"?>
<opus>
<data>
<definitions>
<structureDefs>
<structureDef index="1" level="1" type="volume" friendlyName="Band {1}" />
<structureDef index="2" level="2" type="letter" friendlyName="Brief {2}" />
<structureDef index="3" level="3" type="letterSection" friendlyName="Abschnitt {3}" />
</structureDefs>
<personDefs>
<personDef index="-1" name="Unbekannt" />
<personDef index="1" name="Johann Georg Hamann" vorname="Johann Georg" nachname="Hamann" />
<personDef index="2" name="Gottlob Jacob Sahme" vorname="Gottlob Jacob" nachname="Sahme" />
<personDef index="3" name="Philipp Belger" vorname="Philipp" nachname="Belger" />
<personDef index="4" name="Ein Studienfreund" nachname="Studienfreund"/>
<personDef index="5" name="Johann Christoph Hamann (Vater)" vorname="Johann Christoph" nachname="Hamann" />
<personDef index="6" name="Maria Magdalena Hamann (Mutter)" vorname="Maria Magdalena" nachname="Hamann" />
<personDef index="7" name="Johann Gottlieb Kreutzfeld" vorname="Johann Gottlieb" nachname="Kreutzfeld" />
<personDef index="8" name="Johann Gotthelf Lindner" vorname="Johann Gotthelf" nachname="Lindner" />
<personDef index="9" name="Daniel Pegelow" vorname="Daniel" nachname="Pegelow" />
<personDef index="10" name="Johann Christoph Hamann (Bruder)" vorname="Johann Christoph" nachname="Hamann" />
<personDef index="11" name="Barbara Helena von Budberg, geb. von Zimmermann" vorname="Barbara Helena von" nachname="Budberg" />
<personDef index="12" name="Marianne Lindner, geb. Courtan" vorname="Marianne" nachname="Lindner" />
<personDef index="13" name="Arnold Corman" vorname="Arnold" nachname="Corman" />
<personDef index="14" name="George Bassa" vorname="George" nachname="Bassa" />
<personDef index="15" name="Johann Ehregott Friedrich Lindner" vorname="Johann Ehregott Friedrich" nachname="Lindner" />
<personDef index="16" name="Johann Christoph Berens" vorname="Johann Christoph" nachname="Berens" />
<personDef index="17" name="Arend Berens" vorname="Arend" nachname="Berens" />
<personDef index="18" name="Johann Christoph Ruprecht" vorname="Johann Christoph" nachname="Ruprecht" />
<personDef index="19" name="Senel" vorname="[unbek. Vorname]" nachname="Senel"/>
<personDef index="20" name="" />
<personDef index="21" name="Gottlob Immanuel Lindner" vorname="Gottlob Immanuel" nachname="Lindner" />
<personDef index="22" name="Peter Christoph Baron von Witten" vorname="Peter Christoph Baron von" nachname="Witten"/>
<personDef index="23" name="Joseph Johann Baron von Witten" vorname="Joseph Johann Baron von" nachname="Witten" />
<personDef index="24" name="" />
<personDef index="25" name="" />
<personDef index="26" name="" />
<personDef index="27" name="" />
<personDef index="28" name="" />
<personDef index="29" name="" />
<personDef index="30" name="" />
<personDef index="31" name="Immanuel Kant" vorname="Immanuel" nachname="Kant" />
<personDef index="32" name="" />
<personDef index="33" name="Georg David Kypke" vorname="Georg David" nachname="Kypke" />
<personDef index="34" name="" />
<personDef index="35" name="Christ Anton Tottien" vorname="Christ Anton" nachname="Tottien" />
<personDef index="36" name="Moses Mendelssohn" vorname="Moses" nachname="Mendelssohn" />
<personDef index="37" name="Friedrich Nicolai" vorname="Friedrich" nachname="Nicolai" />
<personDef index="38" name="Sebastian Friedrich Trescho" vorname="Sebastian Friedrich" nachname="Trescho" />
<personDef index="39" name="Friedrich Carl von Moser" vorname="Friedrich Carl von" nachname="Moser" />
<personDef index="40" name="Die Königlich Preußische Kriegs- und Domänen-Kammer zu Königsberg i. Pr." nachname="Kriegs- und Domänenkammer"/>
<personDef index="41" name="Johann Gottfried Herder" vorname="Johann Gottfried" nachname="Herder" />
<personDef index="42" name="Die Königlich Preußische Regierung zu Königsberg in Preußen" nachname="Regierung" />
<personDef index="43" name="" />
<personDef index="44" name="Christian Gottlieb Arndt" vorname="Christian Gottlieb" nachname="Arndt" />
<personDef index="45" name="Johann Christian Buchholtz" vorname="Johann Christian" nachname="Buchholtz" />
<personDef index="46" name="Das Königliche Pupillen-Kollegium" nachname="Pupillen-Kollegium" />
<personDef index="47" name="Friedrich II. (Preußen)" nachname="Friedrich II."/>
<personDef index="48" name="Kriegsrat Hindersin" nachname="Hindersin"/>
<personDef index="49" name="Johann Friedrich Hartknoch" vorname="Johann Friedrich" nachname="Hartknoch" />
<personDef index="50" name="Johann August Eberhard" vorname="Johann August" nachname="Eberhard" />
<personDef index="51" name="Johann Jakob Kanter" vorname="Johann Jakob" nachname="Kanter"/>
<personDef index="52" name="Der Geheime Ausschuß der G. v. V. Frey Mäurer Loge zu Königsberg in Preußen" nachname="Frey Mäurer Loge"/>
<personDef index="53" name="Jacob Friedrich Hinz" vorname="Jacob Friedrich" nachname="Hinz" />
<personDef index="54" name="Carl Theophilus Guichard" vorname="Carl Theophilus" nachname="Guichard" />
<personDef index="55" name="Johann Joachim Christoph Bode" vorname="Johann Joachim Christoph" nachname="Bode" />
<personDef index="56" name="Accise und Zoll-Direktor Stockmar" nachname="Stockmar"/>
<personDef index="57" name="" />
<personDef index="58" name="" />
<personDef index="59" name="Albertine Hartknoch, geb. Toussaint" vorname="Albertine" nachname="Hartknoch" />
<personDef index="60" name="Johann Friedrich Reichardt" vorname="Johann Friedrich" nachname="Reichardt" />
<personDef index="61" name="Matthias Claudius" vorname="Matthias" nachname="Claudius" />
<personDef index="62" name="Johann August Starck" vorname="Johann August" nachname="Starck" />
<personDef index="63" name="Catharina Dorothea Güldenhorn, geb. Herder" vorname="Catharina Dorothea" nachname="Güldenhorn"/>
<personDef index="64" name="Rebecca Claudius" vorname="Rebecca" nachname="Claudius"/>
<personDef index="65" name="" />
<personDef index="66" name="" />
<personDef index="67" name="Sophie Marianne Courtan, geb. Toussaint" vorname="Sophie Marianne" nachname="Courtan"/>
<personDef index="68" name="Die General-Administration" nachname="General-Administration" />
<personDef index="69" name="Witwe Blom" nachname="Blom" />
<personDef index="70" name="" />
<personDef index="71" name="Dr. Laubmeyer" nachname="Laubmeyer"/>
<personDef index="72" name="Christoph Kaufmann" vorname="Christoph" nachname="Kaufmann" />
<personDef index="73" name="Johann Ehrmann" vorname="Johann" nachname="Ehrmann" />
<personDef index="74" name="" />
<personDef index="75" name="vmtl. Samuel Lippmann Löwen" vorname="Samuel Lippmann" nachname="Löwen" />
<personDef index="76" name="Johann Caspar Lavater" vorname="Johann Caspar" nachname="Lavater" />
<personDef index="77" name="Elise Kaufmann, geb. Ziegler" vorname="Elise" nachname="Kaufmann"/>
<personDef index="78" name="Caroline Charlotte Amalie Reichsgräfin von Keyserling, geb. von Truchseß-Waldburg" vorname="Caroline Charlotte Amalie Reichsgräfin von" nachname="Keyserling"/>
<personDef index="79" name="" />
<personDef index="80" name="" />
<personDef index="81" name="" />
<personDef index="82" name="" />
<personDef index="83" name="Hans Jacob von Auerswald" vorname="Hans Jacob von" nachname="Auerswald"/>
<personDef index="84" name="" />
<personDef index="85" name="Caroline Stoltz" vorname="Caroline" nachname="Stoltz"/>
<personDef index="86" name="Johann Caspar Häfeli" vorname="Johann Caspar" nachname="Häfeli"/>
<personDef index="87" name="Christian Jakob Kraus" vorname="Christian Jakob" nachname="Kraus" />
<personDef index="88" name="Friedrich Gottlieb Klopstock" vorname="Friedrich Gottlieb" nachname="Klopstock" />
<personDef index="89" name="Caroline Herder, geb. Flachsland" vorname="Caroline" nachname="Herder"/>
<personDef index="90" name="Johann Friedrich Kleuker" vorname="Johann Friedrich" nachname="Kleuker" />
<personDef index="91" name="Heinrich Christian Reichsgraf von Keyserling" vorname="Heinrich Christian Reichsgraf von" nachname="Keyserling"/>
<personDef index="92" name="Johann Heinrich Voß" vorname="Johann Heinrich" nachname="Voß"/>
<personDef index="93" name="August Herder" vorname="August" nachname="Herder"/>
<personDef index="94" name="Johann Georg Müller" vorname="Johann Georg" nachname="Müller" />
<personDef index="95" name="Friedrich Heinrich Jacobi" vorname="Friedrich Heinrich" nachname="Jacobi" />
<personDef index="96" name="" />
<personDef index="97" name="Johann George Scheffner" vorname="Johann George" nachname="Scheffner" />
<personDef index="98" name="Johann Michael Hamann (Sohn)" vorname="Johann Michael" nachname="Hamann" />
<personDef index="99" name="" />
<personDef index="100" name="Dirk Graf van Hogendorp" vorname="Hogendorp" nachname="Dirk Graf van" />
<personDef index="101" name="Samuel Wolff Friedländer" vorname="Samuel Wolff" nachname="Friedländer" />
<personDef index="102" name="" />
<personDef index="103" name="Susanne Elisabeth Scheffner" vorname="Susanne Elisabeth" nachname="Scheffner" />
<personDef index="104" name="Eberhard Gaupp" vorname="Eberhard" nachname="Gaupp" />
<personDef index="105" name="Christian Hill" vorname="Christian" nachname="Hill" />
<personDef index="106" name="Franz Kaspar Bucholtz" vorname="Franz Kaspar" nachname="Bucholtz" />
<personDef index="107" name="Elisabeth Regina Hamann (Tochter)" vorname="Elisabeth Regina" nachname="Hamann" />
<personDef index="108" name="Die Provinzial-Direktion" nachname="Provinzial-Direktion" />
<personDef index="109" name="" />
<personDef index="110" name="Elisa von der Recke" vorname="Elisa von der" nachname="Recke"/>
<personDef index="111" name="Die Königliche General-Accise- und Zoll-Administration" nachname="General-Accise- und Zoll-Administration"/>
<personDef index="112" name="Heinrich Schenk" vorname="Heinrich" nachname="Schenk"/>
<personDef index="113" name="" />
<personDef index="114" name="Thomas Wizenmann" vorname="Thomas" nachname="Wizenmann"/>
<personDef index="115" name="" />
<personDef index="116" name="Gottfried Leberecht Masius" vorname="Gottfried Leberecht" nachname="Masius" />
<personDef index="117" name="" />
<personDef index="118" name="Finanzrat von Köpke" nachname="Köpke" />
<personDef index="119" name="Minister von Werder" nachname="Werder"/>
<personDef index="120" name="Johann Ernst von Druffel" vorname="Johann Ernst von" nachname="Druffel" />
<personDef index="121" name="Finanzbeamter Gomm" nachname="Gomm"/>
<personDef index="122" name="Fürstin Amalia von Gallitzin" vorname="Fürstin Amalia von" nachname="Gallitzin"/>
<personDef index="123" name="" />
<personDef index="124" name="" />
<personDef index="125" name="Johann Gottlieb Steudel" vorname="Johann Gottlieb" nachname="Steudel" />
<personDef index="126" name="" />
<personDef index="127" name="Abraham Jakob Penzel" vorname="Abraham Jakob" nachname="Penzel"/>
<personDef index="129" name="Martinus Maletius" vorname="Martinus" nachname="Maletius"/>
</personDefs>
<handDefs>
<handDef index="-1" name="Unbekannt" />
<handDef index="1" name="Johann Christoph Hamann (Bruder)" />
<handDef index="2" name="Johann Christoph Hamann (Vater)" />
<handDef index="3" name="Gottlob Immanuel Lindner" />
<handDef index="4" name="Johann Christoph Berens" />
<handDef index="5" name="Georg David Kypke" />
<handDef index="6" name="Moses Mendelssohn" />
<handDef index="7" name="Johann Friedrich Hartknoch" />
<handDef index="8" name="Johann Georg Hamann" />
<handDef index="9" name="Johann Jakob Kanter" />
<handDef index="10" name="Johann Gottlieb Kreutzfeld" />
<handDef index="11" name="Johann Caspar Lavater" />
<handDef index="12" name="Christoph Kaufmann" />
<handDef index="13" name="Elise Kaufmann, geb. Ziegler" />
<handDef index="14" name="Johann Gottfried Herder" />
<handDef index="15" name="Caroline Herder" />
<handDef index="16" name="Johann Ehrmann" />
<handDef index="17" name="Matthias Claudius" />
<handDef index="18" name="Johann Friedrich Kleuker" />
<handDef index="19" name="Friedrich Heinrich Jacobi" />
<handDef index="20" name="Friedrich Nicolai" />
<handDef index="21" name="Daniel Pegelow" />
<handDef index="22" name="Johann Ehrmann oder eine Schreibhilfe Johann Caspar Lavaters" />
<handDef index="23" name="Johann Michael Hamann (Sohn)" />
<handDef index="24" name="Arnold Corman" />
<handDef index="25" name="Franz Kaspar Bucholtz" />
<handDef index="26" name="vermutlich George Bassa" />
<handDef index="27" name="Sophie Marianne Courtan" />
<handDef index="28" name="Christian Jakob Kraus" />
<handDef index="29" name="Helene Jacobi" />
<handDef index="30" name="David Friedländer" />
<handDef index="31" name="August Herder" />
<handDef index="32" name="Heinrich Schenk" />
<handDef index="33" name="Johann Konrad Pfenninger" />
</handDefs>
<locationDefs>
<locationDef index="-1" name="unbekannt" />
<locationDef index="1" name="Berlin" />
<locationDef index="2" name="Königsberg" />
<locationDef index="3" name="Memel" />
<locationDef index="4" name="Mitau" />
<locationDef index="5" name="Kegeln" />
<locationDef index="6" name="Riga" />
<locationDef index="7" name="Grünhof" />
<locationDef index="8" name="Meyhof" />
<locationDef index="9" name="Berlin" />
<locationDef index="10" name="London" />
<locationDef index="11" name="Berenshof" />
<locationDef index="12" name="Trutenau" />
<locationDef index="13" name="Elbing" />
<locationDef index="14" name="Frankfurt am Main" />
<locationDef index="15" name="Lübeck" />
<locationDef index="16" name="Warschau" />
<locationDef index="17" name="St. Petersburg" />
<locationDef index="18" name="Nantes" />
<locationDef index="19" name="Zürich" />
<locationDef index="20" name="Mohrungen" />
<locationDef index="21" name="Schloß Hegi bei Winterthur" />
<locationDef index="22" name="Weimar" />
<locationDef index="23" name="Bückeburg" />
<locationDef index="24" name="Potsdam" />
<locationDef index="25" name="Hamburg" />
<locationDef index="26" name="Darmstadt" />
<locationDef index="27" name="Narva" />
<locationDef index="28" name="Dessau" />
<locationDef index="29" name="Wandsbeck" />
<locationDef index="30" name="Krappitz" />
<locationDef index="31" name="Leipzig" />
<locationDef index="32" name="Drubenalken" />
<locationDef index="33" name="Eutin" />
<locationDef index="34" name="Pempelfort" />
<locationDef index="35" name="Kapstadt" />
<locationDef index="36" name="Richterswil" />
<locationDef index="37" name="Düsseldorf" />
<locationDef index="38" name="Schaffhausen" />
<locationDef index="39" name="Münster" />
<locationDef index="40" name="Osnabrück" />
<locationDef index="41" name="Richmont" />
<locationDef index="42" name="Magdeburg" />
<locationDef index="43" name="Welbergen" />
</locationDefs>
<sourceDefs>
<!-- Quelle für den gesetzten Text bei Emmendationen.
Wird referenziert durch ref="" in <recte>
Nächstes Mal mit ausgeben! -->
<sourceDef index="1" name="Ohne Beleg emendiert" />
<sourceDef index="2" name="BdI, 1940" />
<sourceDef index="3" name="nur BdI Aufl. 1 (1955): Berichtigungen [abgekürzt: BdI1]" /> <!-- Zum Zeitpunkt des Anlegens der Korrekturverzeichnisse zum 1. Band waren bis auf Brief 111 alle autographen Briefe verschollen. -->
<sourceDef index="4" name="nur BdI Aufl. 2 (1988): Berichtigungen [abgekürzt: BdI2]" />
<sourceDef index="5" name="beide: BdI1 und BdI2 Berichtigungen" />
<sourceDef index="6" name="Autograph" />
<sourceDef index="7" name="Apograph" />
<sourceDef index="8" name="BdII, 1940" />
<sourceDef index="9" name="nur BdII Aufl. 1: Berichtigungen [abgekürzt: BdII1]" />
<sourceDef index="10" name="nur BdII Aufl. 2: Berichtigungen [abgekürzt: BdII2]" />
<sourceDef index="11" name="beide: BdII1 und BdII2 Berichtigungen" />
<sourceDef index="12" name="BdIII: Nachtrag zu BdII [aus einer Abschrift Lavaters] betrifft nur BdII 221f" />
</sourceDefs>
</definitions>
</data>
</opus>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff