MSXML: nur auf validierte Tags zugreifen
Ich lese eine XML-Datei mit externer DTD ein.
Kann man MSXML irgendwie veranlassen, bei Zugriff auf Elemente und Attribute, die nicht in der DTD vereinbart wurden eine Exception zu erzeugen ? Beispiel:
Delphi-Quellcode:
QryAuftrag['XCode'] := ElementOrder.getAttribute('Xcode');
// Man beachte den Schreibfehler - in der XML-Datei (und der DTD) heisst es korrekterweise XCode // mit grossem "C" // ohne Exception seitens MSXML könnte es passieren, dass der Fehler nie entdeckt wird |
Re: MSXML: nur auf validierte Tags zugreifen
Ist denn im XML-Standard tatsächlich festgelegt, daß die Nodenames casesensitiv zu betrachten sind? :gruebel:
Cu, Udontknow |
Re: MSXML: nur auf validierte Tags zugreifen
ja.
|
Re: MSXML: nur auf validierte Tags zugreifen
Hallo Andreas,
wenn ich dich richtig verstehe, dann suchst du eine Lösung für die Testphase und nicht für den produktiven Einsatz. Musst du unbedingt eine DTD verwenden? Wenn du die DTD in einen anderen Schema-Dialekt (XDR, XSD) übersetzen (TIBCO Turbo XML o.ä.) könntest, dann könntest du einen fehlenden Knoten (wie bisher) über not Assigned(node) feststellen und Assert(Assigned(node.definition)) als Stolperfalle für ungültige Knoten in der Testphase verwenden. Sollte analog auch für Attribute funktionieren. Freundliche Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz