Validating XML

wxdqz

New Member
Am trying to validate a XML document against a schema. The document validates100% if I use XML Spy. However if I use the MSXML2.DOMDocument40 and MSXML2.XMLSchemaCache40objects the following happens.PLease help I can't find anything on the microsoft sites...VB Code Example:Private Sub Command1_Click()Dim oXML As New MSXML2.DOMDocument40Dim oSchema As New MSXML2.XMLSchemaCache40oXML.async = FalseoXML.validateOnParse = TrueIf oXML.Load("c:\person.xml") ThenoSchema.Add "uri:NessiScreen", "c:\webprojects\bfa\newnessi\NessiScreenSchema1.xsd"!!!!!!!!!!!!!!!!!!!!!!Exception (Error):-2147467259Incorrect definition for the root element in schema.!!!!!!!!!!!!!!!!!!!!!!Set oXML.schemas = oSchemaoXML.ValidateElseMsgBox "Fail!" & vbCrLf & oXML.parseError.reasonEnd IfStopEnd SubSchema Example:<?xml version="1.0" encoding="UTF-8"?><!--W3C Schema generated by XML Spy v3.5 NT (<!-- m --><a class="postlink" href="http://www.xmlspy.com">http://www.xmlspy.com</a><!-- m -->)--><xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" elementFormDefault="qualified"><xsd:element name="changed" type="xsd:boolean"><xsd:annotation><xsd:documentation>Object was changed [boolean]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="checkedvalue" type="xsd:string"><xsd:annotation><xsd:documentation>Object checked value for radio button display [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="datatype"><xsd:annotation><xsd:documentation>Object datatype [byte enum]</xsd:documentation></xsd:annotation><xsd:simpleType><xsd:restriction base="xsd:byte"><xsd:enumeration value=http://forums.devx.com/archive/index.php/"1"/><xsd:enumeration value="2"/><xsd:enumeration value="3"/><xsd:enumeration value="4"/><xsd:enumeration value="5"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="defaultvalue" type="xsd:string"><xsd:annotation><xsd:documentation>Object default value [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="displaysequence" type="xsd:integer"><xsd:annotation><xsd:documentation>Object display order [integer]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="displaysize" type="xsd:integer"><xsd:annotation><xsd:documentation>Object screen display size [integer]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="field"><xsd:complexType><xsd:sequence><xsd:element ref="mandatory"/><xsd:element ref="datatype"/><xsd:element ref="size"/><xsd:element ref="visible"/><xsd:element ref="lookupid"/><xsd:element ref="mode"/><xsd:element ref="indexed"/><xsd:element ref="fieldname"/><xsd:element ref="fielddesc"/><xsd:element ref="validate"/><xsd:element ref="mask"/><xsd:element ref="originalvalue"/><xsd:element ref="defaultvalue"/><xsd:element ref="newvalue"/><xsd:element ref="previousvalue"/><xsd:element ref="minvalue"/><xsd:element ref="maxvalue"/><xsd:element ref="displaysequence"/><xsd:element ref="validationscript"/><xsd:element ref="displaysize"/><xsd:element ref="validchars"/><xsd:element ref="checkedvalue"/><xsd:element ref="uncheckedvalue"/><xsd:element ref="changed"/><xsd:element ref="summaryscreen"/><xsd:element ref="x1"/><xsd:element ref="x2"/><xsd:element ref="y1"/><xsd:element ref="y2"/></xsd:sequence><xsd:attribute name="code" type="xsd:integer" use="required"/></xsd:complexType></xsd:element><xsd:element name="fielddesc" type="xsd:string"><xsd:annotation><xsd:documentation>Field display description [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="fieldname" type="xsd:string"><xsd:annotation><xsd:documentation>Field internal reference [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="fields"><xsd:annotation><xsd:documentation>Collection of fields for the selected screen</xsd:documentation></xsd:annotation><xsd:complexType><xsd:sequence><xsd:element ref="field" maxOccurs="unbounded"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="http_reference" type="xsd:string"><xsd:annotation><xsd:documentation>URL of relevant object</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="indexed" type="xsd:boolean"><xsd:annotation><xsd:documentation>Object key [boolean]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="lookupid" type="xsd:string"><xsd:annotation><xsd:documentation>Object lookup list id [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="mandatory" type="xsd:boolean"><xsd:annotation><xsd:documentation>Object required [boolean]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="mask" type="xsd:string"><xsd:annotation><xsd:documentation>Object display mask [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="maxvalue" type="xsd:string"><xsd:annotation><xsd:documentation>Object maximum value [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="minvalue" type="xsd:string"><xsd:annotation><xsd:documentation>Object minimum value [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="mode"><xsd:annotation><xsd:documentation>Edit mode of the object [byte enum]</xsd:documentation></xsd:annotation><xsd:simpleType><xsd:restriction base="xsd:byte"><xsd:enumeration value="0"/><xsd:enumeration value="1"/><xsd:enumeration value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="newvalue" type="xsd:string"><xsd:annotation><xsd:documentation>Object new value [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="originalvalue" type="xsd:string"><xsd:annotation><xsd:documentation>Object original value [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="x1" type="xsd:integer"><xsd:annotation><xsd:documentation>Left coord of object</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="x2" type="xsd:integer"><xsd:annotation><xsd:documentation>Left + Width coord of object</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="y1" type="xsd:integer"><xsd:annotation><xsd:documentation>Top coord of object</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="y2" type="xsd:integer"><xsd:annotation><xsd:documentation>Top + Height coord of object</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="previousvalue" type="xsd:string"><xsd:annotation><xsd:documentation>Object previous value [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="processid" type="xsd:integer"><xsd:annotation><xsd:documentation>Workflow process that the screen must follow</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="screen"><xsd:annotation><xsd:documentation>Root of data screen</xsd:documentation></xsd:annotation><xsd:complexType><xsd:sequence><xsd:element ref="screenname"/><xsd:element ref="screendesc"/><xsd:element ref="processid"/><xsd:element ref="workitemtypeid"/><xsd:element ref="mode"/><xsd:element ref="fields"/><xsd:element ref="screenpic"/></xsd:sequence><xsd:attribute name="code" type="xsd:string" use="required"/></xsd:complexType></xsd:element><xsd:element name="screendesc" type="xsd:string"><xsd:annotation><xsd:documentation>Screen display description</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="screenname" type="xsd:string"><xsd:annotation><xsd:documentation>Internal screen reference</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="screenpic"><xsd:annotation><xsd:documentation>Screen picture structure</xsd:documentation></xsd:annotation><xsd:complexType><xsd:sequence><xsd:element ref="x1"/><xsd:element ref="x2"/><xsd:element ref="y1"/><xsd:element ref="y2"/><xsd:element ref="http_reference"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="size" type="xsd:integer"><xsd:annotation><xsd:documentation>object data length [integer]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="summaryscreen" type="xsd:boolean"><xsd:annotation><xsd:documentation>Object is part of summary screen [boolean]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="uncheckedvalue" type="xsd:string"><xsd:annotation><xsd:documentation>Object unchecked value for radio button display [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="validate" type="xsd:boolean"><xsd:annotation><xsd:documentation>Object Validation required [boolean]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="validationscript" type="xsd:string"><xsd:annotation><xsd:documentation>Object custom validation script [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="validchars" type="xsd:string"><xsd:annotation><xsd:documentation>Object valid characters allowed [string]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="visible" type="xsd:boolean"><xsd:annotation><xsd:documentation>Object visible [boolean]</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="workitemtypeid" type="xsd:integer"><xsd:annotation><xsd:documentation>WorkItemType that the screen data maps to</xsd:documentation></xsd:annotation></xsd:element></xsd:schema>
 
Back
Top