but i m getting an error
xsd file:(Aces_Dlr.xsd)
Expand|Select|Wrap|Line Numbers
- <?xml version="1.0" encoding="UTF-8"?>
- <!--W3C Schema generated by XMLSpy v2010 (http://www.altova.com)-->
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:n="urn:sample"
- targetNamespace="urn:sample">
- <xs:attribute name="ToolVer">
- <xs:simpleType>
- <xs:restriction base="xs:decimal">
- <xs:enumeration value="1.0"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:simpleType name="ST_QUANTITY">
- <xs:restriction base="xs:decimal">
- <xs:maxInclusive value="999999999999.99"/>
- <xs:pattern value="[0-9]{0,12}(.)[0-9]{0,2}"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_AMOUNT-OF-DUTY-INVOLVED">
- <xs:restriction base="xs:decimal">
- <xs:maxInclusive value="9999999999999.00"/>
- <xs:pattern value="[0-9]{0,13}(.)[0]{0,2}"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:attribute name="SL-NO">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:pattern value="[0-9]{1,4}"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="ReturnType">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="DLR"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:element name="SELF-ASSESSMENT-MEMORANDAM">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="DATE"/>
- <xs:element ref="PLACE"/>
- <xs:element ref="REMARKS"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="RETURN-YEAR">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:length value="4"/>
- <xs:pattern value="((19|20)\d\d)"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="RETURN">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="HEADER-DATA"/>
- <xs:element ref="INVOICE-HEADER" minOccurs="0"/>
- <xs:element ref="DOCUMENT-HEADER" minOccurs="0"/>
- <xs:element ref="SELF-ASSESSMENT-MEMORANDAM"/>
- </xs:sequence>
- <xs:attribute ref="ToolVer" use="required"/>
- <xs:attribute ref="ReturnType" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="REMARKS">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:maxLength value="1000"/>
- <xs:minLength value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="REGISTRATION-NUMBER">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:pattern value="[A-Z]{5}[0-9]{4}[A-Z](XM|XD|EM|ED)[0-9]{3}"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="QUARTER">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="Jan-Mar"/>
- <xs:enumeration value="Apr-Jun"/>
- <xs:enumeration value="Jul-Sep"/>
- <xs:enumeration value="Oct-Dec"/>
- <xs:enumeration value="jan-mar"/>
- <xs:enumeration value="apr-jun"/>
- <xs:enumeration value="jul-sep"/>
- <xs:enumeration value="oct-dec"/>
- <xs:enumeration value="JAN-MAR"/>
- <xs:enumeration value="APR-JUN"/>
- <xs:enumeration value="JUL-SEP"/>
- <xs:enumeration value="OCT-DEC"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="NIL-RETURN">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="Yes"/>
- <xs:enumeration value="No"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="QUANTITY-CODE">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="1KKWH"/>
- <xs:enumeration value="C/K"/>
- <xs:enumeration value="CM"/>
- <xs:enumeration value="CM3"/>
- <xs:enumeration value="G"/>
- <xs:enumeration value="GI F/S"/>
- <xs:enumeration value="KG"/>
- <xs:enumeration value="KL"/>
- <xs:enumeration value="L"/>
- <xs:enumeration value="M"/>
- <xs:enumeration value="M2"/>
- <xs:enumeration value="M3"/>
- <xs:enumeration value="MM"/>
- <xs:enumeration value="MT"/>
- <xs:enumeration value="PA"/>
- <xs:enumeration value="Q"/>
- <xs:enumeration value="T"/>
- <xs:enumeration value="TU"/>
- <xs:enumeration value="U"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="QUANTITY">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="ST_QUANTITY"/>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="PLACE">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:maxLength value="50"/>
- <xs:minLength value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="NAME">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:maxLength value="100"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="ISSUED-BY">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="Importer"/>
- <xs:enumeration value="Manufacturer"/>
- <xs:enumeration value="Dealer"/>
- <xs:enumeration value="importer"/>
- <xs:enumeration value="manufacturer"/>
- <xs:enumeration value="dealer"/>
- <xs:enumeration value="IMPORTER"/>
- <xs:enumeration value="MANUFACTURER"/>
- <xs:enumeration value="DEALER"/>
- <xs:enumeration value=" Dealer"/>
- <xs:enumeration value=" Importer"/>
- <xs:enumeration value=" Manufacturer"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="INVOICE-PARTICULARS">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="INVOICE-NUMBER"/>
- <xs:element ref="INVOICE-DATE"/>
- <xs:element ref="INVOICE-ITEMS" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute ref="SL-NO" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="INVOICE-NUMBER">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:maxLength value="20"/>
- <xs:minLength value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="INVOICE-ITEMS">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="DESCRIPTION-OF-GOODS"/>
- <xs:element ref="CETSH-NUMBER"/>
- <xs:element ref="QUANTITY-CODE"/>
- <xs:element ref="QUANTITY"/>
- <xs:element name="AMOUNT-OF-DUTY-INVOLVED">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="ST_AMOUNT-OF-DUTY-INVOLVED"/>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="INVOICE-HEADER">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="INVOICE-PARTICULARS" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="INVOICE-DATE">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:pattern value="(0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/]([0-9]{4})"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="INVOICE-BILL-ENTRY-NO">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:maxLength value="20"/>
- <xs:minLength value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="HEADER-DATA">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="RETURN-YEAR"/>
- <xs:element ref="QUARTER"/>
- <xs:element ref="DEALER-NAME"/>
- <xs:element ref="REGISTRATION-NUMBER"/>
- <xs:element ref="NIL-RETURN" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="DOCUMENT-HEADER">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="DOCUMENT-DETAIL" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="DOCUMENT-DETAIL">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="INVOICE-BILL-ENTRY-NO"/>
- <xs:element ref="DATE"/>
- <xs:element ref="ISSUED-BY"/>
- <xs:element ref="REGISTRATION-NUMBER"/>
- <xs:element ref="NAME"/>
- <xs:element ref="ADDRESS"/>
- <xs:element ref="INVOICE-ITEMS" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute ref="SL-NO" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="DESCRIPTION-OF-GOODS">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:maxLength value="255"/>
- <xs:minLength value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="DEALER-NAME">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:maxLength value="255"/>
- <xs:minLength value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="DATE">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:pattern value="((0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/]([0-9]{4}))"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="CETSH-NUMBER">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:pattern value="([0-9]{8})"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="ADDRESS">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:maxLength value="200"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="ACES">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="RETURN"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:schema>
Xml file(Sample.xml)
Expand|Select|Wrap|Line Numbers
- <ACES><RETURN ReturnType="DLR" ToolVer="1.0"><HEADER-DATA><RETURN-YEAR>2010</RETURN-YEAR><QUARTER>Jul-Sep</QUARTER><DEALER-NAME>B.H.Enterprise</DEALER-NAME><REGISTRATION-NUMBER>ABCDE1234EXD123</REGISTRATION-NUMBER><NIL-RETURN>No</NIL-RETURN></HEADER-DATA><INVOICE-HEADER><INVOICE-PARTICULARS SL-NO="1"><INVOICE-NUMBER>001</INVOICE-NUMBER><INVOICE-DATE>01/07/2010</INVOICE-DATE><INVOICE-ITEMS><DESCRIPTION-OF-GOODS>T.G.UREA</DESCRIPTION-OF-GOODS><CETSH-NUMBER>01019010</CETSH-NUMBER><QUANTITY-CODE>KG</QUANTITY-CODE><QUANTITY>2350.00</QUANTITY><AMOUNT-OF-DUTY-INVOLVED>23500.00</AMOUNT-OF-DUTY-INVOLVED></INVOICE-ITEMS></INVOICE-PARTICULARS><INVOICE-PARTICULARS SL-NO="2"><INVOICE-NUMBER>002</INVOICE-NUMBER><INVOICE-DATE>02/07/2010</INVOICE-DATE><INVOICE-ITEMS><DESCRIPTION-OF-GOODS>T.G.UREA</DESCRIPTION-OF-GOODS><CETSH-NUMBER>01011090</CETSH-NUMBER><QUANTITY-CODE>KG</QUANTITY-CODE><QUANTITY>8210.00</QUANTITY><AMOUNT-OF-DUTY-INVOLVED>82100.00</AMOUNT-OF-DUTY-INVOLVED></INVOICE-ITEMS></INVOICE-PARTICULARS></INVOICE-HEADER><DOCUMENT-HEADER><DOCUMENT-DETAIL SL-NO="1"><INVOICE-BILL-ENTRY-NO>05259</INVOICE-BILL-ENTRY-NO><DATE>30/06/2010</DATE><ISSUED-BY>Dealer</ISSUED-BY><REGISTRATION-NUMBER>ABCDE1235EXD123</REGISTRATION-NUMBER><NAME>RCF</NAME><ADDRESS>zzzzzzzzzzzzzz</ADDRESS><INVOICE-ITEMS><DESCRIPTION-OF-GOODS>TG UREA</DESCRIPTION-OF-GOODS><CETSH-NUMBER>01019010</CETSH-NUMBER><QUANTITY-CODE>KG</QUANTITY-CODE><QUANTITY>1000.00</QUANTITY><AMOUNT-OF-DUTY-INVOLVED>100000.00</AMOUNT-OF-DUTY-INVOLVED></INVOICE-ITEMS></DOCUMENT-DETAIL><DOCUMENT-DETAIL SL-NO="2"><INVOICE-BILL-ENTRY-NO>059626</INVOICE-BILL-ENTRY-NO><DATE>30/06/2010</DATE><ISSUED-BY>Dealer</ISSUED-BY><REGISTRATION-NUMBER>ABCDE1236EXD123</REGISTRATION-NUMBER><NAME>LIVE PHARMA</NAME><ADDRESS>ABCDE1235EXD123</ADDRESS><INVOICE-ITEMS><DESCRIPTION-OF-GOODS>T.G.UREA</DESCRIPTION-OF-GOODS><CETSH-NUMBER>01019010</CETSH-NUMBER><QUANTITY-CODE>KG</QUANTITY-CODE><QUANTITY>5000.00</QUANTITY><AMOUNT-OF-DUTY-INVOLVED>500000.00</AMOUNT-OF-DUTY-INVOLVED></INVOICE-ITEMS></DOCUMENT-DETAIL></DOCUMENT-HEADER><SELF-ASSESSMENT-MEMORANDAM><DATE>30/09/2010</DATE><PLACE>MUMBAI</PLACE><REMARKS>xxxxxxxxxxxxxxxxxxxx</REMARKS></SELF-ASSESSMENT-MEMORANDAM></RETURN></ACES>
vb code in form load event
Expand|Select|Wrap|Line Numbers
- Private Sub Form_Load()
- Validate "C:\XmlTest\Sample.xml", "C:\XmlTest\Aces_Dlr.xsd"
- End Sub
- Private Function Validate(ByVal strXMLPath As String, _
- ByVal strXSDPath As String) As Boolean
- Dim objSchemas As MSXML2.XMLSchemaCache40
- Dim objXML As MSXML2.DOMDocument40
- Dim objXSD As MSXML2.DOMDocument40
- Dim strNamespace As String
- Dim objErr As MSXML2.IXMLDOMParseError
- ' load XSD as DOM to populate in Schema Cache
- Set objXSD = New MSXML2.DOMDocument40
- objXSD.async = False
- If Not objXSD.Load(strXSDPath) Then
- Err.Raise 1, "Validate", "Load XSD failed: " & objXSD.parseError.reason
- Else
- ' get namespace name from XSD targetNamespace attribute
- 'strNamespace = "urn:sample"
- strNamespace = objXSD.documentElement.getAttribute("targetNamespace")
- End If
- ' populate schema cache
- Set objSchemas = New MSXML2.XMLSchemaCache40
- objSchemas.Add strNamespace, objXSD
- ' load XML file (without validation - that comes later)
- Set objXML = New MSXML2.DOMDocument40
- objXML.async = False
- objXML.validateOnParse = False
- objXML.resolveExternals = False
- ' load XML, without any validation
- If Not objXML.Load(strXMLPath) Then
- Err.Raise 1, "Validate", "Load XML failed: " & objXML.parseError.reason
- End If
- ' bind Schema Cache to DOM
- Set objXML.schemas = objSchemas
- ' does this XML measure up?
- Set objErr = objXML.Validate()
- ' any good?
- Validate = (objErr.errorCode = 0)
- If objErr.errorCode <> 0 Then
- MsgBox objErr.reason
- 'Err.Raise 1, "Validate", objErr.reason
- Exit Function
- End If
- End Function
Please help me, it's urgent
thanx