UblValidateInvoice UBLfunctie
Met 
UblValidateInvoice 
kan van een UBL factuur gecontroleerd worden tegen een XSD 
schema. Dit schema wordt voor UBL beschikbaar gesteld door OASIS via: 
https://www.oasis-open.org/standard/ublv2-1/. De functie resulteert in de waarde TRUE indien
het XML bestand een voldoet aan het schema en anders FALSE. Indien niet voldaan 
wordt aan het schema dat wordt tevens een beschrijving van de fout vermeld.
UblValidateInvoice (UblFileName, 
XsdSchemaFileName, ErrorReturn)
 UblFileName
 (MergedString)
In 
UblFileName wordt de 
bestandsnaam of de padnaam van het 
te controleren UBL/XML bestand vermeld in de vorm van een StringVarName.
 XsdSchemaFileName (MergedString)
In XsdSchemaFileName wordt het XSD schema 
vermeld waartegen het XML bestand gecontroleerd moet worden. Dit kan 
bijvoorbeeld vastgelegd zijn in het bestand: 
C:\FINALACC\UBLModel\UBL21Schemas\maindoc\UBL-Invoice-2.1.xsd 
waarbij tevens andere .xsd bestanden in een vaste directory 
struktuur een rol spelen. 
 ErrorReturn(MergedString)
In ErrorReturn wordt de 
StringVarName vermeld 
waarin de evetuele foutmelding wordt vermeld.
Voorbeeld:
{
 String sPath,sError, sXsdSchema
 Copy(sXsdSchema,C:\FINALACC\UBLModel\UBL21Schemas\maindoc\UBL-Invoice-2.1.xsd)
 Copy(sPath,C:\Finalacc\Demo)
 Ok = UblValidateInvoice([sPath]\UBL\factuur1.xml,[sXsdSchema], 
sError)
 If Ok
}
 Factuur factuur1.xml voldoet aan het OASIS schema
{
 Else
}
 Factuur factuur1.xml is ongeldig: [sError]
{
 Endif
}
{
 Ok = UblValidateInvoice([sPath]\UBL\154593_Urios_UBL_Ketentest.xml,[sXsdSchema], 
sError)
 If Ok
}
 Factuur: 154593_Urios_UBL_Ketentest.xml voldoet aan het OASIS 
schema
{
 Else
}
 Factuur 154593_Urios_UBL_Ketentest.xml voldoet aan het OASIS 
schema.xml is ongeldig: [sError]
{
 Endif
}
Resultaat:
Factuur factuur1.xml is ongeldig: The 'cac:PartyName' start tag on line 
13 position 8 does not match the end tag of 'cac:PartyNam'. Line 15, position 9.
Factuur: 154593_Urios_UBL_Ketentest.xml voldoet aan het OASIS schema