Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi MSXML: nur auf validierte Tags zugreifen (https://www.delphipraxis.net/93135-msxml-nur-auf-validierte-tags-zugreifen.html)

shmia 1. Jun 2007 09:31


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

Udontknow 1. Jun 2007 10:27

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

DGL-luke 1. Jun 2007 10:47

Re: MSXML: nur auf validierte Tags zugreifen
 
ja.

marabu 9. Jun 2007 16:43

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