Frage

Wenn ich meine XML docuemnts gegen ein Schema in meinem serverseitige Java validieren möchten, verwende ich die eingebaute in JRE Xerces Implementierung und javax.xml.validation.Schema. Es funktioniert gut, aber wenn die Validierung fehlschlägt, Xerces gibt Fehlermeldungen, die ganz in der Nähe nutzlos sind, zum Beispiel:

cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'PopulatedStringType'

Diese können ein Alter nehmen zu diagnostizieren und verfolgen, um den jeweiligen Teil des XML-Dokuments nach unten, der Validierung fehlschlägt, und das alles wegen einer schlechten Fehlermeldung.

Also meine Frage ist, verwenden Sie ein alternatives Mittel zur XML-Schema-Validierung gegen, das gibt eine Nutzleistung auf Prüfungsfehler?

Bitte beachten Sie, dass dies serverseitige Java, so wenden Sie sich bitte sagen „verwenden XML Spy“ nicht oder ähnliches.

War es hilfreich?

Lösung

In den Handler für die Validierung, sollten Sie eine SAXParseException mit dieser Meldung angezeigt wird, sowie die Spaltennummer und die Zeilennummer in der XML-Datei. Isnt't es der Fall ist?

Andere Tipps

Wir verwenden Oracle XDK (XML Development Kit) die beinhaltet xmlparserv2.jar mit einem Validierung Parser und XSLT 2.0. Es nutzt die JAXB API so sollten Sie es nur zu Ihrem Classpath hinzufügen und Ihre Importe ändern. Es wirft Fehler, die nicht perfekt sind, aber ich würde als Ihr Beispiel leichter verständlich sagen.

xmlstarlet (xmlstar.sourceforge.net/) ist ein Kommandozeilen-Toolkit. Sie könnte es mit Runtime.exec () für eine bestimmte xml laufen (solange die XML in einer Datei ist).

Wir verwenden Castor .

  

Castor ist eine Open-Source-Datenbindung-Framework für Java [tm]. Es ist der kürzeste Weg zwischen Java-Objekten, XML-Dokumenten und relationalen Tabellen. Castor bietet Java-to-XML-Bindung, Java-to-SQL-Persistenz und vieles mehr.

Wenn Sie Probleme haben, die Xerces Fehler zu interpretieren und würde etwas, das wo in Ihrem Dokument markieren, können Sie die Regeln verletzt haben, überprüfen Sie einige der XML-Authoring-Tools aus wie oXygen .


(Quelle: oxygenxml.com )

Wenn Sie das Schema mit Ihrer Instanz XML-Dokument verknüpfen wird der Editor markieren Sie den beanstandeten Bereich des Dokuments und bieten Ihnen eine Beschreibung des Verstoßes.

Darüber hinaus können Sie verschiedene Motoren verwenden, um die Validierung durchgeführt werden:

  

oXygen hat eine eingebaute Unterstützung für:   Xerces, LibXML, XSV, Saxon SA,   MSXML4.0, MSXML .NET und SQC.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top