====== Validating XML with XSD (RPG) ====== dcl-proc main; dcl-s filepath char(1024); dcl-s domEnvData pointer inz(%addr(Qxml_DOMEXCDATA)); dcl-s parser pointer; filepath = '/usr/local/example/xmlvalid/data.xml' + null; // Initialize the XML environment, provide pointer to DOM exception // data area. A call to QxmlInit must occur before any other API call. QxmlInit(domEnvData); // Create a new parser instance parser = QxmlXercesDOMParser_new(domEnvData); // Configure parser QxmlXercesDOMParser_setValidationScheme(parser : Qxml_VALAU); QxmlXercesDOMParser_setDoNamespaces(parser : true); QxmlXercesDOMParser_setDoSchema(parser : true); QxmlXercesDOMParser_setValidationSchemaFullChecking(parser : true); // Parse xml file QxmlXercesDOMParser_parse_SystemId(parser :%addr(filePath) : Qxml_JOBCCSID : 0); // Check for parse error if (Qxml_DOMRTNCOD = Qxml_DOMNOERROR); message_info('XML Dokument entspricht dem XML Schema.'); else; message_info(Qxml_RESERVE); endif; end-proc; ===== XSD with Namespace ===== ===== XSD without Namespace ===== {{tag>devel ibm rpg xml}}