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