de.xoev.xdomea.viewer.modules.validation
Class SchemaValidator

java.lang.Object
  extended by de.xoev.xdomea.viewer.modules.validation.SchemaValidator
All Implemented Interfaces:
Validator

public class SchemaValidator
extends Object
implements Validator

Diese Klasse validiert eine xdomea-spezifische XML-Nachricht gegen ein Schema. Das zu benutzende Schema wird anhand des Attributs xsi:schemaLocation ermittelt

Author:
Sächsisches Staatsministerium der Justiz und für Europa

Constructor Summary
SchemaValidator(File message, List<Configuration> viewerConfigs)
          erzeugt eine SchemaValidator-Instanz
 
Method Summary
 List<Configuration> getConfigs()
           
 File getMessage()
           
 String getVersion()
          diese Methode liefert erst nach dem Ausführen der Methode validate() die entsprechenden Daten zurück
 net.sf.saxon.om.NodeInfo getXml()
          diese Methode liefert erst nach dem Ausführen der Methode validate() die entsprechenden Daten zurück
 net.sf.saxon.xpath.XPathEvaluator getXPathEvaluator()
          diese Methode liefert erst nach dem Ausführen der Methode validate() die entsprechenden Daten zurück
 void setConfigs(List<Configuration> configs)
           
 void setMessage(File message)
           
 void validate()
          validiert einen bestimmten Aspekt in Bezug auf eine xdomea-Nachricht: validiert die Daten einer xdomea-Nachricht gegen ein Schema.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SchemaValidator

public SchemaValidator(File message,
                       List<Configuration> viewerConfigs)
erzeugt eine SchemaValidator-Instanz

Parameters:
message - die zu validierende XML-Datei
viewerConfigs - eine Liste mit Configuration-Instanzen (dient als Grundlage zur Ermittlung des Schemas, gegen das validiert wird)
Method Detail

getMessage

public File getMessage()
Returns:
die zu validierende XML-Datei

setMessage

public void setMessage(File message)
Parameters:
message - die zu validierende XML-Datei

getConfigs

public List<Configuration> getConfigs()
Returns:
eine Liste mit Configuration-Instanzen

setConfigs

public void setConfigs(List<Configuration> configs)
Parameters:
configs - eine Liste mit Configuration-Instanzen (dient als Grundlage zur Ermittlung des Schemas, gegen das validiert wird)

getXml

public net.sf.saxon.om.NodeInfo getXml()
diese Methode liefert erst nach dem Ausführen der Methode validate() die entsprechenden Daten zurück

Returns:
eine Node-Infoinstanz, die die die zu validierende XML-Datei repräsentiert

getXPathEvaluator

public net.sf.saxon.xpath.XPathEvaluator getXPathEvaluator()
diese Methode liefert erst nach dem Ausführen der Methode validate() die entsprechenden Daten zurück

Returns:
eine XPathEvaluator-Instanz, die mit der XML-Instanz verknüpft ist

getVersion

public String getVersion()
diese Methode liefert erst nach dem Ausführen der Methode validate() die entsprechenden Daten zurück

Returns:
die ermittlete xdomea-Version

validate

public void validate()
              throws XDomeaViewerException
validiert einen bestimmten Aspekt in Bezug auf eine xdomea-Nachricht: validiert die Daten einer xdomea-Nachricht gegen ein Schema. Das zu benutzende Schema wird anhand der Konfiguration und des Attributs xsi:schemaLocation aus der xdomea-Nachricht ermittelt. Über das Attribut wird auf die Version und den Namen des Schemas geschlossen.

Beispiel:

xsi:schemaLocation='http://www.xdomea.de/V2.1.0 ../xdomea-Nachrichten-Fachverfahren.xsd'

Version: V2.1.0
Schema: xdomea-Nachrichten-Fachverfahren.xsd

Zusammen mit dem in der Konfiguration für die Version hinterlegten Pfad zu den Schema-Dateien ergibt sich der vollständige Pfad zu dem zu nutzenden Schema.

Beispiel:

in der Konfiguration ist für die Version V2.1.0 der folgende Pfad zu den Schema-Dateien hinterlegt: resources/v2.1.0/xsd

Zusammen ergibt sich also der folgende Pfad zum Schema, gegen das validiert werden soll: resources/v2.1.0/xsd/xdomea-Nachrichten-Fachverfahren.xsd

Mit der ermittleten Version und dem Schema werden folgende Sachverhalte überprüft: Nach der Ausführung dieser Methode können Daten, die für die weitere Verarbeitung von Interesse sein können, von folgenden Methoden abgefragt werden:

Specified by:
validate in interface Validator
Throws:
XDomeaViewerException - wenn einer der o. g. Regeln verletzt wird


Copyright © 2009. All Rights Reserved.