XSDPreparser

Configuration

Properties file or variable.

Class name

com.ebd.hub.datawizard.parser.XSDPreparser

Description


This preparser can validate an XML file with an XSD file.

The result is an XML file with a list (can be empty) of the errors found. See example below.

The preparser expects the path to a properties file that contains the path to the XSD file. Alternatively, the path to the XSD file can also be transferred from a predecessor profile in the variable "XSD_PATH".

Note: The variable must be named exactly like this in the predecessor profile, but must not be created in the successor profile.

Parameters


Parameter

Description

xsdPath

Path to XSD file.

Example


Path to properties file: ./conf/myxsd.properties


./conf/myxsd.properties
xsdPath=./conf/my.xsd


XSD file:


./conf/my.xsd
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:books"
xmlns:bks="urn:books">
 
<xsd:element name="books" type="bks:BooksForm"/>
 
<xsd:complexType name="BooksForm">
<xsd:sequence>
<xsd:element name="book"
type="bks:BookForm"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
 
<xsd:complexType name="BookForm">
<xsd:sequence>
<xsd:element name="author" type="xsd:string"/>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="genre" type="xsd:string"/>
<xsd:element name="price" type="xsd:float" />
<xsd:element name="pub_date" type="xsd:date" />
<xsd:element name="review" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string"/>
</xsd:complexType>
</xsd:schema>


Input XML file:


input.xml
<?xml version="1.0"?>
<x:books xmlns:x="urn:books">
<book id="bk001">
<author>Writer</author>
<title>The First Book</title>
<genre>Fiction</genre>
<price>44.95</price>
<pub_date>2000-10-01</pub_date>
<review>An amazing story of nothing.</review>
</book>
 
<book id="bk002">
<author>Poet</author>
<title>The Poet's First Poem</title>
<genre>Poem</genre>
<price>24.95</price>
<review>Least poetic poems.</review>
</book>
</x:books>


Result of the preparser:


<?xml version="1.0" encoding="UTF-8"?>
<errors>
<error>cvc-complex-type.2.4.a: Invalid content was found starting with element 'review'. One of '{pub_date}' is expected.</error>
</errors>