XML-Pipeline
Einleitung
InXML-Dateien in SQUEEZE mit einer anderen techischen Pipeline verarbeitet als PDFs oder einzelne Bilder. Das liegt daran, dass nicht alle Schritte der XML-Standard-Pipeline vonwie Squeezez. B. Texterkennung sinnvoll anwendbar sind.
Stattdessen werden XML-DokumenteDateien durch speziell angepasste Verarbeitungsstufen geführt, umin den unterschiedlichenhier Anforderungenerklärten derSchritten Datenextraktionverarbeitet.
XML-Pipeline
Importierte gerechtbzw. zuhochgeladene werden.Dokumente Dieserdurchlaufen Abschnittdiese beschreibtSchritte:
- Im ersten Schritt, dem InitStep
- werden hochgeladene XML-Dateien, die
verarbeiteteneinemSchritte und die Unterschiede zwischen der bisherigen Pipeline und der neuen Pipeline, die ab Version X.X.X auch benutzerdefinierteunterstütztem XML-StrukturenSchemaunterstützt.kuSchrittBisherige PipelineNeue Pipeline (ab Version X.X.X)EinganskanäleAlle Eingangskanäle prüfen die Dokumente auf ihre Validität in Bezug auf die EN16931-Spezifikationen.Alle Eingangskanäle prüfen Dokumente auf Validität. Es wird geprüft, ob das Dokument den EN16931-Spezifikationen entspricht oder ob es einem benutzerdefinierten Mapping entspricht.Initialisierungs-Schritt BarcodeExtraction- Hochgeladene XML-Dateien werdenentsprechen, in ein internes Standard-XML-Format(überführt. Die entstandene Datei ist die intermediate.xml)überführt.- für
Einedie intermediate.xml wird eine PDFwirderzeugt.ausderintermediate.xml- Im
erzeugt.Schritt- werden für
spezifischePDF-DateienSchema-ExtraktionmitundeinerPDF-Erstellung.eingebettetenBenutzerdefinierteXMLXMLs: Prüfung auf Mapping.
- Prüfung, ob das Dokument XRechnung (CII, UBL) oder ZUGFeRD entspricht. Transformation und Erstellung eines Zwischenformats. Das Zwischenformat dient als BasisBarcode- Extraktions-Schritt-weiterhin Viewer-Bilder auf Basis der PDFwerdenerstellt.erstellt.- Davon
Dieserabgesehen, wird dieser Schrittwirdübersprungen.fürXML-Dateienübersprungen.Unverändert: Dieser- Im Schritt
wirdOcrfürXML-Dateien weiterhin übersprungen.OCR-Schritt-- werden PDF-Dateien mit einer eingebetteten XML
werdennormal verarbeitet, um ein OCR-Ergebnis zu erstellen.Dieser- Davon abgesehen, wird dieser Schritt
wirdübersprungen.fürreineXML-Dateien übersprungen. nochUnverändert: Dieser- Im Schritt
wirdClassificationfür- TODO:
XML-DateienDokumentieren,weiterhindassübersprungen.das
reineKlassifizierungs-Schritt- Die Klassifizierung von XML-Dokumenten ist derzeitgar nichtmöglich.gehtEineExceptionwird- Im
geworfen,Schrittwenn der betroffene Code aufgerufen wird.- Klassifikation durch Identifizieren des Mappings. Bei gefundenem Mapping: Informationen zur Dokumentenklasse werden genutzt, um die Klassifikation des Dokuments zu gestalten.Extraction
- werden
- Üblicheübliche Extraktionsmechanismenwerdenweiterhin ausgeführt oder übersprungen durch die Stapelklasseneigenschaft:SkipXmlExtraction. - wird nach dem Übernehmen von vordefinierten Feldwerten und vor dem Ausführen von Lokatoren die intermediate.xml
- wird nach dem Ausführen von Lokatoren und vor dem Ausführen der Autovalidierung die eigentliche XML-Extraktion
basiertaufaufBasis derintermediate.xml. - Hier
Extraktionwerdenbasiert auf dem Mapping, nicht auf einem statischen Konstrukt. Änderungen an einem Mapping in der Administration wirken sich direkt aus. Bei ZUGFeRD oder XRechnung: Nutzung derFelder undintermediate.xmlfestesTabellenSystem-Mapping,gemappt - Und
nichterneutbearbeitetdieoderXMLgelöschtalswerdenPDFkann.gerendert?!
durchgeführt.wird genutzt,genutzt um Kreditor und Mandant der XML zu ermitteln.DieDieses Verhalten ist Invoice-Spezifisch.-das - für
Extraktion von XMLs
In>derXML-Pipelinevon Squeeze erfolgt die XML-Extraktion als aller letzter Schritt vor der Autovalidierung/Validierung und hat dabei eine besondere Rolle: Sie überschreibt extrahierte Feldwerte aus den KI-Extraktionen und den Lokatoren-Ergebnissen. Die Extraktion von XML-Daten basiert auf dem Mapping, welches im Administrationsbereich angepasst werden kann. Alternativen werden gemäß der Definition im Mapping verarbeitet.Falls ein Hauptwert in der XML nicht gefunden wird, wird die Alternativenichtals Hauptwert verwendet und bleibt stattdessen als Alternative erhalten. Dies gewährleistet, dass nur valide Hauptwerte zur weiteren Verarbeitung und Validierung herangezogen werden, während alternative Werte für eventuelle spätere Verwendungen oder Überprüfungen verfügbarTODORendering von XMLs
Das>XML-Renderingin Squeeze bezieht sich auf den Prozess der Erstellung von PDF-Dokumenten aus XML-Dateien. Dieser Prozess unterscheidet sich je nach Art des XML-Dokuments und umfasst spezifische Anforderungen für standardisierte und benutzerdefinierte XML-Formate.TODORenderingTODO:
von Spezifischen XML-DokumentenFür standardisierte XML-FormateDokumentieren, wieXRechnung und ZUGFeRD,diedenXML-VerarbeitungSpezifikationenallgemeinEN16931 entsprechen, erfolgt das Rendering nach den folgenden Schritten:geschieht- Abgrenzung zu ZUGFeRD? Gibt da schon unterschiede im Core.
ErstellungTODO:desWieZwischenformats:spieltImdiesesInitStepFeaturewirdmitausMail-Importenderzusammen?XML-Datei ein Zwischenformat erstellt, das als Basis für das PDF-Rendering dient. Dieses Zwischenformat wird aus derintermediate.xmlgeneriert, die die für die PDF-Erstellung benötigten Daten enthält. PDF-Erzeugung: Basierend auf dem Zwischenformat wird ein PDF-Dokument erstellt, das die strukturierten Daten aus der XML übersichtlich darstellt. Dies ermöglicht die Generierung von PDFs, die den Anforderungen der jeweiligen Spezifikation entsprechen und für den Austausch und die Archivierung verwendet werden können.
TODO:
Rendering von Nicht-Spezifischen XML-DokumentenFür benutzerdefinierte XML-Strukturen (Customized XMLs), die nicht den EN16931-Spezifikationen entsprechen,Was gibt esderzeitzufolgende Vorgehensweise:beachten?- Die
PrüfungKlassifizierungaufvonMapping:XMLImistInitStepaktuell nicht möglich. Da wirdgeprüft,sogar eine Exception geworfen, falls der betroffene Code aufgerufen wird. Zum einen fraglich obdiewirbenutzerdefiniertedas mal verbessern, zum anderen sollte das vermutlich besser dokumentiert sein.
Testcases:
- XMLeinohnegültigesDokumentenklasseMappinghochladen
-hat.ZUGFeRDFallsohneeinDokumentenklasseMappinghochladenvorhandenTODO:
ist,InwirddereineExtraktionPlatzhalter-PDFwerdenerstellt,mitdieexecuteXRechnungInvoiceSolutiondieInvoice-SpezifischeStrukturDinge erledigt, Lieferant undgrundlegendenKreditorInformationenzuderermitteln.
DasXML dokumentiert, jedochist keinevollständigesauberePDF-Generierung wie bei den standardisierten Formaten durchführt. Platzhalter-PDF: Benutzerdefinierte XML-Dokumente, die ein Mapping aufweisen, erhalten eine Platzhalter-PDF, die grundlegende Informationen enthält, aber nicht die vollständige Detailtiefe wie bei standardisierten XMLs. Diese Platzhalter-PDF dient als temporäre Lösung, bis eine umfassendere Unterstützung für benutzerdefinierte XMLs implementiert wird.
TODO:
ZukunftsausblickIn einer zukünftigen VersionTrennung vonSqueeze ist geplant, auch für XML-Dokumente, die nicht den EN16931-Spezifikationen entsprechen, eine vollständige PDF-Erzeugung zu ermöglichen. Diese Weiterentwicklung wird es erlauben, alle Arten von XML-Dokumenten einheitlichCore undumfassend zu rendern, wodurch die Integration und Handhabung von benutzerdefinierten XML-Formaten weiter verbessert wird.Solution. - werden hochgeladene XML-Dateien, die