diff --git a/.github/workflows/XML_lint.yml b/.github/workflows/XML_lint.yml index fdb32f1..f7ad124 100644 --- a/.github/workflows/XML_lint.yml +++ b/.github/workflows/XML_lint.yml @@ -26,6 +26,10 @@ jobs: - name: XSD-Schema-Validierung run: python Scripts/lint_validation.py + + - name: GitHub-Anmerkungen für XSD-Validierung erstellen + if: failure() + run: python Scripts/annotations_validation.py Verweise: runs-on: ubuntu-latest @@ -44,3 +48,7 @@ jobs: - name: Verweise prüfen run: python Scripts/lint_verweise.py + + - name: GitHub-Anmerkungen für Referenzprüfung erstellen + if: failure() + run: python Scripts/annotations_references.py diff --git a/Scripts/annotations_references.py b/Scripts/annotations_references.py new file mode 100644 index 0000000..ab9a2c4 --- /dev/null +++ b/Scripts/annotations_references.py @@ -0,0 +1,17 @@ +import os + +def main(): + if not os.path.exists('reference_check_errors.txt'): + print("Keine Referenzprüfungs-Ergebnisse gefunden.") + return + + with open('reference_check_errors.txt', 'r') as f: + for line in f: + parts = line.strip().split(', Zeile ') + if len(parts) == 2: + file_path, rest = parts + line_number, message = rest.split(': ', 1) + print(f"::error file={file_path},line={line_number}::{message}") + +if __name__ == "__main__": + main() diff --git a/Scripts/annotations_validation.py b/Scripts/annotations_validation.py new file mode 100644 index 0000000..5f3d54e --- /dev/null +++ b/Scripts/annotations_validation.py @@ -0,0 +1,23 @@ +import os + +def main(): + if not os.path.exists('schema_validation_errors.txt'): + print("Keine Schema-Validierungsergebnisse gefunden.") + return + + current_file = None + with open('schema_validation_errors.txt', 'r') as f: + for line in f: + if line.startswith("Validierungsfehler in ") or line.startswith("XML-Syntaxfehler in "): + current_file = line.split("in ", 1)[1].strip()[:-1] + elif line.strip().startswith("Zeile"): + parts = line.strip().split(", ") + line_num = parts[0].split(" ")[1] + col_num = parts[1].split(" ")[1] + message = ": ".join(parts[2:]) + print(f"::error file={current_file},line={line_num},col={col_num}::{message}") + else: + print(f"::error file={current_file}::{line.strip()}") + +if __name__ == "__main__": + main() diff --git a/Scripts/lint_validation.py b/Scripts/lint_validation.py index 04fd82a..3766ccc 100644 --- a/Scripts/lint_validation.py +++ b/Scripts/lint_validation.py @@ -5,6 +5,7 @@ REPO_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) XML_DIR = os.path.join(REPO_ROOT, 'XML') def validate_xml(xml_file): + errors = [] try: parser = etree.XMLParser(remove_blank_text=True) tree = etree.parse(xml_file, parser) @@ -21,38 +22,37 @@ def validate_xml(xml_file): schema.assertValid(tree) print(f"Validation erfolgreich: {xml_file}") else: - print(f"Schema-Datei nicht gefunden: {xsd_path} für {xml_file}") - return False + errors.append(f"Schema-Datei nicht gefunden: {xsd_path} für {xml_file}") else: - print(f"Keine Schema-Location gefunden in {xml_file}") - return False + errors.append(f"Keine Schema-Location gefunden in {xml_file}") except etree.DocumentInvalid as e: - print(f"Validierungsfehler in {xml_file}:") + errors.append(f"Validierungsfehler in {xml_file}:") for error in e.error_log: - print(f" Zeile {error.line}, Spalte {error.column}: {error.message}") - return False + errors.append(f" Zeile {error.line}, Spalte {error.column}: {error.message}") except etree.XMLSyntaxError as e: - print(f"XML-Syntaxfehler in {xml_file}:") - print(f" Zeile {e.lineno}, Spalte {e.offset}: {e.msg}") - return False + errors.append(f"XML-Syntaxfehler in {xml_file}:") + errors.append(f" Zeile {e.lineno}, Spalte {e.offset}: {e.msg}") except Exception as e: - print(f"Fehler bei der Verarbeitung von {xml_file}: {str(e)}") - return False + errors.append(f"Fehler bei der Verarbeitung von {xml_file}: {str(e)}") - return True + return errors def main(): - validation_failed = False + all_errors = [] for root, dirs, files in os.walk(XML_DIR): for file in files: if file.endswith('.xml'): xml_file = os.path.join(root, file) - if not validate_xml(xml_file): - validation_failed = True + errors = validate_xml(xml_file) + all_errors.extend(errors) - if validation_failed: - print("Validierung fehlgeschlagen. Bitte korrigieren Sie die oben genannten Fehler.") + if all_errors: + print("Validierung fehlgeschlagen. Bitte korrigieren Sie die folgenden Fehler:") + with open('schema_validation_errors.txt', 'w') as f: + for error in all_errors: + print(error) + f.write(f"{error}\n") exit(1) else: print("Alle XML-Dateien wurden erfolgreich validiert.") diff --git a/Scripts/lint_verweise.py b/Scripts/lint_verweise.py index 2181746..c382480 100644 --- a/Scripts/lint_verweise.py +++ b/Scripts/lint_verweise.py @@ -11,7 +11,7 @@ def parse_xml_file(filepath): tree = etree.parse(filepath, parser) return tree.getroot() except etree.ParseError as e: - print(f"Error parsing {filepath}: {e}") + print(f"Fehler beim Parsen von {filepath}: {e}") return None def get_all_ids(root, tag): @@ -26,7 +26,7 @@ def check_references(beitrag_root, reference_data, filepath): ref_id = ref.get('ref') if ref_id not in reference_data[ref_type]: line_number = ref.sourceline - errors.append(f"{relative_path}, Line {line_number}: INVALID REFERENCE ({ref_type}:{ref_id})") + errors.append(f"{relative_path}, Zeile {line_number}: UNGÜLTIGER VERWEIS ({ref_type}:{ref_id})") return errors def main(): @@ -51,12 +51,15 @@ def main(): all_errors.sort() if all_errors: - print("Linter found the following errors:") + print("Der Linter hat folgende Fehler gefunden:") for error in all_errors: print(error) - exit(1) # Exit with error code if there are any errors + with open('reference_check_errors.txt', 'w') as f: + for error in all_errors: + f.write(f"{error}\n") + exit(1) # Beenden mit Fehlercode, wenn Fehler gefunden wurden else: - print("No errors found.") + print("Keine Fehler gefunden.") if __name__ == "__main__": main() diff --git a/Scripts/process_linter_output.py b/Scripts/process_linter_output.py deleted file mode 100644 index 5dd0b67..0000000 --- a/Scripts/process_linter_output.py +++ /dev/null @@ -1,16 +0,0 @@ -import os - -def main(): - if not os.path.exists('linter_results.txt'): - print("No linter results found.") - return - - with open('linter_results.txt', 'r') as f: - for line in f: - parts = line.strip().split(':', 2) - if len(parts) == 3: - filename, line_number, error_message = parts - print(f"::error file={filename},line={line_number}::{error_message}") - -if __name__ == "__main__": - main() diff --git a/XML/akteure.xml b/XML/akteure.xml index 0e92031..18f7f72 100644 --- a/XML/akteure.xml +++ b/XML/akteure.xml @@ -97,6 +97,12 @@ https://d-nb.info/gnd/117038059 + + Johanne Charlotte Unzer geb. Ziegler + 1725–1782 + https://d-nb.info/gnd/118763830 + + Lenov Vorname und Lebensdaten unbekannt, 18. Jh. @@ -175,6 +181,12 @@ https://d-nb.info/gnd/118549553 + + David Iversen + Lebensdaten unbekannt + https://d-nb.info/gnd/1037496531 + + Ludwig Ernst Borowski 1740–1831 diff --git a/XML/beitraege/1764-beitraege.xml b/XML/beitraege/1764-beitraege.xml index bf8d94a..3b32eea 100644 --- a/XML/beitraege/1764-beitraege.xml +++ b/XML/beitraege/1764-beitraege.xml @@ -30,8 +30,8 @@ Anmerkung Bearbeitungsvermerk --> - - + + @@ -39,18 +39,21 @@ Nachricht. - Anzeige und Beschreibung des Zeitungsprojekts, sechs Tage vor dem ersten Stück, am 28. Januar 1764 in Königsberg ausgegeben. + Anzeige und Beschreibung des Zeitungsprojekts, sechs Tage vor dem ersten Stück, + am 28. Januar 1764 in Königsberg ausgegeben. - + - Wir Catharina die Zweyte, von Gottes Gnaden Kayserin und Selbstherrscherin aller Reußen thun hiemit jedermänniglich kund und zu wißen… + Wir Catharina die Zweyte, von Gottes Gnaden Kayserin und Selbstherrscherin aller + Reußen thun hiemit jedermänniglich kund und zu wißen… - Übersetzung eines Berichts über den versuchten Aufstand zur Befreiung Iwans VI und dessen Ermordung, gedruckt in St. Petersburg, 17. August 1764. + Übersetzung eines Berichts über den versuchten Aufstand zur Befreiung Iwans VI + und dessen Ermordung, gedruckt in St. Petersburg, 17. August 1764. - - + + @@ -811,7 +814,7 @@ - + @@ -1463,7 +1466,7 @@ - + @@ -1521,7 +1524,7 @@ - + @@ -1541,14 +1544,14 @@ - + - + Das Lächerliche des Stolzes. @@ -1560,7 +1563,7 @@ - + @@ -1575,7 +1578,10 @@ Chimische Untersuchung einer Salzquelle in dem Dorfe Ponnau. - Unterzeichnet mit „H.“, wohl für den Königsberger Apotheker Heinrich Hagen, Vater von Karl Gottfried Hagen, siehe Neue Preußische Provinzial-Blätter 9 (1850), S. 51. + Unterzeichnet mit „H.“, wohl für den Königsberger Apotheker Heinrich + Hagen, Vater von Karl Gottfried Hagen, siehe Neue Preußische + Provinzial-Blätter 9 (1850), S. 51. @@ -1593,7 +1599,7 @@ - + Contrabit vmbra diem, solisque remorior axit @@ -1604,7 +1610,7 @@ - + @@ -1668,13 +1674,13 @@ - + - + @@ -1700,7 +1706,7 @@ - + @@ -1726,17 +1732,18 @@ - + - + Abhandlung vom Tanze. - Im Anschluss Mitteilung von zwölf englischen Tänzen und deren Choreographie, „Berloque Dansante London 1764.“ + Im Anschluss Mitteilung von zwölf englischen Tänzen und deren Choreographie, + „Berloque Dansante London 1764.“ @@ -1747,7 +1754,8 @@ Einladung aufs Land, an meinen Freund, nach dem Horaz. - Briefe von und an Johann George Scheffner (hg. v. Arthur Warda, München, Leipzig 1916–1931), I 446 + Briefe von und an Johann George Scheffner (hg. v. Arthur Warda, + München, Leipzig 1916–1931), I 446 Unterzeichnet S**r. @@ -1758,7 +1766,7 @@ - + @@ -1782,18 +1790,19 @@ - Folgendes Schreiben eines Vaters an seinen Sohn, der in üble Gesellschaft gerathen, ist uns von vornehmer Hand aus Curland eingesandt worden. + Folgendes Schreiben eines Vaters an seinen Sohn, der in üble Gesellschaft gerathen, + ist uns von vornehmer Hand aus Curland eingesandt worden. - + - + @@ -1808,11 +1817,11 @@ - + - + @@ -1839,7 +1848,7 @@ Von der Eitelkeit der Gelehrten. Aus dem Französischen. - + @@ -1881,15 +1890,18 @@ - + Brief an den Verfasser der Abhandlung vom Tanze. - Überschrift: Der folgende Brief an den Verfasser des 72sten Stücks unserer Zeitung, welches eine Abhandlung vom Tanze in sich begreift, ist uns von einer unbekannten Hand eingesendet worden; wir hoffen dadurch wenigstens einigen von unsern Lesern gefällig zu werden. + Überschrift: Der folgende Brief an den Verfasser des 72sten Stücks unserer + Zeitung, welches eine Abhandlung vom Tanze in sich begreift, ist uns von einer + unbekannten Hand eingesendet worden; wir hoffen dadurch wenigstens einigen von unsern + Lesern gefällig zu werden. - + @@ -1915,7 +1927,7 @@ - + @@ -1927,7 +1939,7 @@ Auf einen stolzen Thoren. - + Fatill. @@ -1939,11 +1951,12 @@ - Proklamation über die Errichtung einer öffentlichen Bank in Berlin durch Friedrich II., gez. v. Hagen (Banco-Commission) + Proklamation über die Errichtung einer öffentlichen Bank in Berlin durch + Friedrich II., gez. v. Hagen (Banco-Commission) - + - + Der Tobacksraucher. @@ -1987,7 +2000,8 @@ - Proklamation des preußisch-polnischen Grenz-Postamts über den Postverkehr nach Warschau über Marienwerder + Proklamation des preußisch-polnischen Grenz-Postamts über den Postverkehr nach + Warschau über Marienwerder @@ -2038,7 +2052,8 @@ - Aufforderung des Königl. Preuß. Armen-Collegiums, die privat untergebrachten Verletzten des Königsberger Brandes zu melden + Aufforderung des Königl. Preuß. Armen-Collegiums, die privat untergebrachten + Verletzten des Königsberger Brandes zu melden @@ -2072,7 +2087,7 @@ - + @@ -2091,7 +2106,7 @@ - Der verunglückte Hund. + Der verunglückte Hund. @@ -2118,7 +2133,7 @@ - + @@ -2133,20 +2148,20 @@ - - + + - + Ueber die Allwissenheit GOttes - + @@ -2165,18 +2180,19 @@ - + - Über die Zukunft der Zeitung im nächsten Jahr, die Originalbeiträge und weitere Pläne Kanters. + Über die Zukunft der Zeitung im nächsten Jahr, die Originalbeiträge und weitere + Pläne Kanters. - + - + @@ -2188,14 +2204,14 @@ - + - + - + @@ -2218,16 +2234,16 @@ - + - + - + Der Mensch. Unterzeichnet „Y.“ @@ -2241,27 +2257,27 @@ - + - + Floruit, incaluit, fructu maturuit annus - + Quem iudicem non feuerum mihi expetieram - + Der Abend. - + Wir hoffen unsern Lesern ein wahres Vergnügen zu machen Johann Gottfried von Werners @@ -2281,12 +2297,12 @@ - + - + Der Neubekehrte. Eine Erzählung. @@ -2302,9 +2318,10 @@ - + - Prosaisches Gedicht über das Schicksal der Stadt Königsberg, den 11ten bis 13ten November, 1764, von J. F. Pelchau, aus Riga. + Prosaisches Gedicht über das Schicksal der Stadt Königsberg, den 11ten bis 13ten + November, 1764, von J. F. Pelchau, aus Riga. @@ -2316,4 +2333,4 @@ - \ No newline at end of file + diff --git a/XML/beitraege/1766-beitraege.xml b/XML/beitraege/1766-beitraege.xml index 766d3fc..d889dd0 100644 --- a/XML/beitraege/1766-beitraege.xml +++ b/XML/beitraege/1766-beitraege.xml @@ -171,6 +171,7 @@ + @@ -185,7 +186,7 @@ - + @@ -237,7 +238,7 @@ - + @@ -246,8 +247,29 @@ - + + + + + + + + + + + + + + + + + + + + + + diff --git a/XML/werke.xml b/XML/werke.xml index d1bb447..39d763f 100644 --- a/XML/werke.xml +++ b/XML/werke.xml @@ -347,11 +347,21 @@ Sittenlehrer und Gelehrsamkeit, 3ter und 4ter Theil (Berlin 1766). - + L’art de bien écrire des Lettres en toutes matieres (Brüssel 1765). BSB München + + David Iversen hat verlegt: D. Ant. Fried. Büschings Geschichte der evangelisch-lutherischen Gemeinen im rußischen Reich. 1ster Theil (Alton 1766). + BSB München + + + + Fortgesetzte Versuche in sittlichen und zärtlichen Gedichten von J.C. Unzerin. (Rinteln 1766). + BSB München + + von der deutschen Übersetzung des Abbé Velly histoire de France. @@ -1284,7 +1294,7 @@ Scherze (Berlin und Stralsund 1766). - + Idyllen (Berlin und Stralsund 1766).