[XML/XMLDOM] Controle op XML document?

Pagina: 1
Acties:

  • JamesTiberius
  • Registratie: Oktober 2000
  • Laatst online: 08-03-2006

JamesTiberius

Feel the magic

Topicstarter
Ik vul met behulp van het XMLDOM object (in asp maar dat is verder niet zo belangrijk) een XML document. De definities van dit document staan in een schema. Ik defineer hier ook of een waarde een integer of een string is en wat de minimale en maximale waarde is.

Als ik het XML document aanmaak met foute waarden (ik voer bijvoorbeeld een string in ipv een integer) en deze vervolgens open met "XML Spy" dan krijg ik in dit programma meteen een foutmelding aangezien hij een foute waarde ziet.

Als ik met XMLDOM hetzelfde document inlaad, geeft hij mij op bijvoorbeeld een foute structuur wel meteen een foutmelding, maar op foute gegevens (string ipv integer) niet.

Voor mij was dit laatste juist heel interessant. Mis ik nu een functie van XML DOM, of zijn hier andere methoden voor.

De code die ik gebruik om een xml document in te laden en te controleren (op structuur dus) ziet er zo uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  'XML document inladen
  Set Document = Server.CreateObject("Microsoft.XMLDOM")
  Document.async = False
  Document.resolveExternals = True
  Document.validateOnParse  = True
  Document.load("xmldocument.xml")

  set fout = Document.parseError

  Response.write("Fout: "&fout.reason&"<BR>")
  Response.write("Fout: "&fout.errorCode&"<BR>") 
  Response.write("Fout: "&fout.filepos&"<BR>") 
  Response.write("Fout: "&fout.line&"<BR>") 
  Response.write("Fout: "&fout.linepos&"<BR>")
  Response.write("Fout: "&fout.reason&"<BR>")
  Response.write("Fout: "&fout.srcText&"<BR>")
  Response.write("Fout: "&fout.url&"<BR><BR>")

  Set Document = nothing

I laugh in the face of danger ... ... then I hide and wait until it goes away -


Verwijderd

Dat kan met een XML Schema, en dat zit ingebouwd in MSXML vanaf versie 4.0. Zie [url="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/htm/xsd_devvalidation_8lx0.asp"]http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/htm/xsd_devvalidation_8lx0.asp[/url]

Enjoy :)

  • JamesTiberius
  • Registratie: Oktober 2000
  • Laatst online: 08-03-2006

JamesTiberius

Feel the magic

Topicstarter
Op donderdag 25 juli 2002 13:00 schreef MrX het volgende:
Dat kan met een XML Schema, en dat zit ingebouwd in MSXML vanaf versie 4.0. Zie [url="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/htm/xsd_devvalidation_8lx0.asp"]http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/htm/xsd_devvalidation_8lx0.asp[/url]

Enjoy :)
:9~ Ge-wel-dig! :9~

Ik verving mijn XMLDOM object door een "MSXML2.DOMDocument.4.0" en klaar was ik. Ik heb geen letter code hoeven te wijzigen!

I laugh in the face of danger ... ... then I hide and wait until it goes away -