Übersicht
Diese Action validiert XML anhand von Xsd-Schemata.
Technische Beschreibung
org.b2bbp.runtime.actions.managed.XmlXsdValidator
Konfigurationsmöglichkeiten
ActionProperty / Eigenschaften | Beschreibung |
---|---|
SOURCE_FIELD | Gibt das Feld an, aus dem der XML-Input bezogen wird. |
B3P_RESULT_KEY | Schlüssel, der das Ergebnis der Validierung speichert. |
SCHEMA_EXTENSION_NAMES | Liste der Dateierweiterungen für die XSD-Schemadateien, die zur Validierung genutzt werden. |
B3P_AUGMENTED_RESULT_KEY | Speichert erweiterte Validierungsergebnisse, z.B. Warnungen. |
FEATURE_KEYS | Bestimmt, welche speziellen Features der XML-Parser nutzen soll. |
ERROR_ON_MISSING_FEATURE | Legt fest, ob ein Fehler ausgelöst wird, wenn ein erforderliches Feature fehlt. |
LOG4J_LOG_LEVEL | Definiert das Log-Level für die Validierungsprotokolle. |
VALIDATION_LOG_LEVEL | Gibt das Log-Level für spezifische Validierungsprozesse an. |
VALIDATION_LEVEL | Bestimmt den Striktheitsgrad der XML-Validierung. |
USE_DOM_CACHE | Aktiviert oder deaktiviert das Caching von DOM-Daten während der Validierung. |
SCHEMA_FACTORY_CLASS_NAME | Definiert den Klassennamen der SchemaFactory, die zur Verarbeitung der XSD-Dateien genutzt wird. |
XML_INPUT_FACTORY_CLASS_NAME | Klassennamen der Factory, die den XML-Input erzeugt. |
XML_OUTPUT_FACTORY_CLASS_NAME | Klassennamen der Factory, die den XML-Output erzeugt. |
SCHEMA_DEPENDENCY_IMPORTS_EXTENSION_NAMES | Die Extension-Namen von Dateien, die als transitive Imports/Includes in den XSD’s vorkommen. Mehr dazu unter: Transitive Abhängigkeiten |
DISABLE_DOCTYPE_DECLARATION | True: Schaltet die DOCTYPE-Prozessierung aus. Wenn die DOCTYPE-Prozessierung ausgeschaltet ist, ignoriert der Parser jegliche <!DOCTYPE>-Deklarationen, die auf externe Entitäten verweisen könnten. |
Transitive Abhängigkeiten
Transitive Abhängigkeiten in XSDs entstehen, wenn eine XSD-Datei nicht nur direkt andere Schemas importiert oder inkludiert, sondern auch auf Schemas verweist, die ihrerseits wiederum weitere Schemas importieren oder inkludieren.
Beispiel: Das Hauptschema A importiert Schema B, und Schema B importiert Schema C. In diesem Fall hat Schema A eine indirekte, also transitive, Abhängigkeit zu Schema C.
Solche Abhängigkeiten können vom Validator nicht immer automatisch aufgelöst werden. Um sicherzustellen, dass der Validator alle benötigten Schemas korrekt findet, müssen die Dateinamen der zu importierenden XSDs explizit übergeben werden. Diese Schemas werden in speziellen “Extensions” abgelegt, die nach den importierten XSD-Dateien benannt sind.
Für folgenden XSD-Ausschnitt müsste man beispielsweise eine Extension namens etso-core-cmpts.xsd und eine weitere Extension mit dem Namen etso-code-lists.xsd angeben, da der Validator diese Dateien bei den Imports sucht.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:ecl="etso-code-lists.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ecc="etso-core-cmpts.xsd" elementFormDefault="qualified">
<xsd:import namespace="etso-core-cmpts.xsd" schemaLocation="etso-core-cmpts.xsd"/>
<xsd:import namespace="etso-code-lists.xsd" schemaLocation="etso-code-lists.xsd"/>
Achten Sie darauf, dass der Import nicht auf einen relativen Pfad (../relativ/path/etso-code-lists.xsd) verweist.
View Me Edit Me