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