Quantcast
Channel: AutoIt v3 - General Help and Support
Viewing all articles
Browse latest Browse all 12506

xml schema validate _xmldomwrapper

$
0
0
Hello,

i was wondering if someone could explain how this function
_XMLSchemaValidate
works:

[ autoit ]         
;=============================================================================== ; Function Name: _XMLSchemaValidate ; Description: Validates a document against a dtd. ; Parameter(s): $sXMLFile The file to validate ; $ns  xml namespace ; $sXSDFile DTD file to validate against. ; Syntax: _XMLSchemaValidate($sXMLFile, $ns, $sXSDFile) ; Author(s): Stephen Podhajecki <gehossafats@netmdc.com> ; Return Value(s) 1 on success or SetError(errorcode) on failure ;=============================================================================== Func _XMLSchemaValidate($sXMLFile, $ns, $sXSDFile) ;~  If not IsObj($objDoc) then ;~  _XMLError("No object passed to function _XMLSchemaValidate") ;~  Return SetError(1,27,-1) ;~  EndIf Local $cache, $xmldoc $cache = ObjCreate("Msxml2.XMLSchemaCache." & $DOMVERSION & ".0") If Not IsObj($cache) Then MsgBox(266288, "XML Error", "Unable to instantiate the XML object" & @LF & "Please check your components.") Return SetError(-1) EndIf $cache.add ($ns, $sXSDFile) $xmldoc = ObjCreate("Msxml2.DOMdocument." & $DOMVERSION & ".0") If Not IsObj($xmldoc) Then MsgBox(266288, "XML Error", "Unable to instantiate the XML object" & @LF & "Please check your components.") Return SetError(-1) EndIf $xmldoc.async = False $xmldoc.schemas = $cache $xmldoc.load ($sXMLFile) If Not ($xmldoc.parseError.errorCode = 0) Then _XMLError("_XMLSchemaValidate:" & @LF & "Error: " & $xmldoc.parseError.errorCode & " " & $xmldoc.parseError.reason) Return SetError($xmldoc.parseError.errorCode) EndIf Return 0 EndFunc   ;==>_XMLSchemaValidate

What i am trying to do is ... i would like to know if schema version has changed in XML i am using and if it has function would trigger an error.

Now as i understand  _XMLSchemaValidate takes 3 parameters:

1st XML file ... i should provide here an XML object or link to a file on my local disk?
2nd xml namespace ... in my example i have this in root node:

<?xml version="1.0" encoding="utf-8"?>
<Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:edp="http://edavki.durs.si/Documents/Schemas/EDP-Common-1.xsd" xmlns="http://edavki.durs.si/Documents/Schemas/DOD_DDPO_8.xsd">


which name space should i take as parameter?  
xmlns="http://edavki.durs.si/Documents/Schemas/DOD_DDPO_8.xsd"

3rd DTD file to validate against Ok this one is cleary
 xmlns="http://edavki.durs.si/Documents/Schemas/DOD_DDPO_8.xsd" 

If someone could clarify this for me first then i have 2 followup questions on the matter.

PS I have searched whole help forum and topic on _xmldoomwrapper and it seems noone had any problems with this function or noone uses it?

I got a feeling i can run it everytime i will do the XML and it will alter me if schema version has changed. (hopefully)

Viewing all articles
Browse latest Browse all 12506

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>