AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Fehler beim Validieren: Element wird verwendet, ist aber nicht deklariert
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler beim Validieren: Element wird verwendet, ist aber nicht deklariert

Ein Thema von dpg123 · begonnen am 30. Nov 2017 · letzter Beitrag vom 5. Dez 2017
 
dpg123

Registriert seit: 13. Apr 2015
22 Beiträge
 
Turbo Delphi für Win32
 
#1

Fehler beim Validieren: Element wird verwendet, ist aber nicht deklariert

  Alt 30. Nov 2017, 15:37
Hallo liebes Forum,

beim Validieren einer xml Datei gegen ein xsd Schema tritt folgende Exception auf:

"Das Element 'Meldung01' wird verwendet, aber es ist im DTD/Schema nicht deklariert."

Das xsd Schema ist aus mehreren anderen zusammengesetz, was das ganze leider etwas unübersichtlich macht, aber evt. liegt es auch gar nicht an der Verschaltelung...

Ich hoffe, ich habe unten das nötige Minimalbsp. zusammengestellt, um den Fehler nachzuvollziehen...

Hab leider keine Idee, wo ich ansetzen muss...

Hier die xml Datei:
Code:

<?xml version="1.0" encoding="ISO-8859-15"?>

<Meldung01 xsi:schemaLocation="http://www.someserver.de Meldung01Paket.xsd"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.someserver.de"
       xmlns:mel01V02="http://www.someserver.de/mel01v02"
       xmlns:stV02="http://www.someserver.de/standardtypen/v02">
       
   <mel01V02:Daten>
       ...
   </mel01V02:Daten>
   
</Meldung01>
das xsd Schema:
Code:
<?xml version="1.0" encoding="ISO-8859-15"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://www.someserver.de"
      xmlns:mel01V01="http://www.someserver.de/mel01v01"
      xmlns:mel01V02="http://www.someserver.de/mel01v02"
      xmlns:mel01V03="http://www.someserver.de/mel01v03"
      xmlns="http://www.someserver.de"
      elementFormDefault="qualified"
      version="1.0.0">
      
   <xs:import namespace="http://www.someserver.de/mel01v01" schemaLocation="./mel01V01.xsd"/>
   <xs:import namespace="http://www.someserver.de/mel01v02" schemaLocation="./mel01V02.xsd"/>
   <xs:import namespace="http://www.someserver.de/mel01v03" schemaLocation="./mel01V03.xsd"/>
   
   <xs:element name="Meldung01">
      <xs:complexType>
         <xs:sequence maxOccurs="100">
            <xs:choice>
                <xs:element ref="mel01V01:Daten"/>
                <xs:element ref="mel01V02:Daten"/>
                <xs:element ref="mel01V03:Daten"/>
            </xs:choice>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   
</xs:schema>
Und hier der Delphi-Code:
Delphi-Quellcode:
  xmlDoc := TXMLDocument.Create(nil) ;

  try

    xmlDoc.ParseOptions := xmlDoc.ParseOptions + [poResolveExternals,poValidateOnParse];

    try

      xmlDoc.LoadFromFile(xmlFileName) ; // <- obige Exception fliegt schon hier!

      xmlDoc.Active := true; // this will validate

      result := true;

    except

      on E: EDOMParseError do
        ShowMessage( e.Message );

    end;

  finally

    xmlDoc := nil;

  end;
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz