Ü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