Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Funktion und Sinn von XML Schemata (https://www.delphipraxis.net/108925-funktion-und-sinn-von-xml-schemata.html)

Luckie 21. Feb 2008 10:33


Funktion und Sinn von XML Schemata
 
Ich beschäftige mich gerade auf Geheiß meines Chefs mit XML Schemata. Mein Problem ist ein grundlegendes Verständnisproblem auf dass ich bisher noch keine Antwort gefunden habe. Alles, was ich bisher gefunden habe, bezog sich auf die Erstellung von XML Schemata, aber mein Problem ist:

Was sind XML Schemata?
Wozu benötigt man sie? Wann setzt man sie ein?
Wie funktionieren XML Schemata mit XML-Dateien zusammen?

API 21. Feb 2008 10:42

Re: Funktion und Sinn von XML Schemata
 
Schon mal http://de.wikipedia.org/wiki/XML_Schema durchgelesen?

Luckie 21. Feb 2008 10:47

Re: Funktion und Sinn von XML Schemata
 
Ja, aber wie gesagt, das
Zitat:

XML Schema ist eine Empfehlung des W3C zum Definieren von XML-Dokumentstrukturen. Anders als bei den klassischen XML-DTDs wird die Struktur in Form eines XML-Dokuments beschrieben. Darüber hinaus wird eine große Anzahl von Datentypen unterstützt.
und das
Zitat:

XML Schema ist eine komplexe Schemasprache zur Beschreibung eines XML-Typsystems. Dieses XML-Typsystem umfasst die Spezifikation neuer XML-Elemente, deren Attribute, sowie deren Kindelemente. Im Gegensatz zu DTDs kann bei Verwendung von XML Schema zwischen dem Namen des XML-Typs und dem in der Instanz verwendeten XML-Tagnamen unterschieden werden.

Vermutlich werden DTDs irgendwann vollständig von XML-Schemata abgelöst. Allerdings sind XML-Schemata durch ihre erweiterten Möglichkeiten wesentlich komplexer und nicht so einfach ohne Hilfsmittel auszuwerten. Neben XML Schema existieren weitere Ansätze zur Definition von XML-Strukturen. Ein konkretes XML-Schema wird auch als eine XSD (XML-Schema-Definition) bezeichnet und hat üblicherweise die Dateiendung ".xsd".
Hilft mir nicht wirklich weiter, weil es meine Fragen zum grundlegenden Verständnis nicht beantwortet. Oder wenn es der Text doch tut, dann verstehe ich es nicht.

Ich bräuchte einfach eine Antwort, wie:
"Ein XML-Schema macht das und das. Und man braucht es dafür. Und es kann hier sinnvoll eingesetzt werden."

Das will ich wissen. ;)

franktron 21. Feb 2008 11:00

Re: Funktion und Sinn von XML Schemata
 
So schwer ist das gar nicht ein XML Schema beschreibt was alles in der XML möglich ist und ist primär dafür da um zu überprüfen ob eine XML Konform ist.

Ich hab die Schemas bis jetzt auch nur als Beschreibung der Felder in der XML gesehen um eine XML zu lesen und zu schreiben (Schnnittsstellenbeschreibung)

Luckie 21. Feb 2008 11:08

Re: Funktion und Sinn von XML Schemata
 
Zitat:

Zitat von franktron
als Beschreibung der Felder in der XML gesehen um eine XML zu lesen und zu schreiben (Schnnittsstellenbeschreibung)

Genau das ist ein Punkt den ich nicht verstehe. Ich lege fest, welche Knoten und Attribute in einer XML-Datei vorkommen dürfen. Aber was oder wer hindert mich daran nicht definierte Knoten hinzuzufügen? Wie kann ich eine XML-Datei mittels eines Schemas validieren?

shmia 21. Feb 2008 11:10

Re: Funktion und Sinn von XML Schemata
 
Zitat:

Zitat von Luckie
"Ein XML-Schema macht das und das. Und man braucht es dafür. Und es kann hier sinnvoll eingesetzt werden."

Ein Schema sorgt dafür, dass XML - Daten überprüft werden können ob sie ein bestimmte vereinbarte Struktur haben.
Beispiel: folgende Struktur wurde vereinbart:
XML-Code:
<Verlag>
  <Author> ... <Author/>
  <Author> ... <Author/>
<Verlag/>
Also das Element <Author> muss unterhalb des <Element> Verlag auftauchen und darf beliebig oft erscheinen.
Würde jetzt folgende XML-Datei auftauchen:
XML-Code:
<Verlag>
  <Author>
    <Verlag> ... <Verlag/>
  <Author/>
  <Author> ... <Author/>
<Verlag/>
dann kann man mit einem Schema sofort entscheiden "das ist falsch, <Verlag> darf nicht unter <Author> auftauchen" !
Ein Schema geht aber noch wesentlich weiter; so kann z.B. definiert werden, welchen Inhalt die Element haben dürfen (String, Integer, float, boolean, GUID,...)

Luckie 21. Feb 2008 11:16

Re: Funktion und Sinn von XML Schemata
 
Ah, ja. Das hilft mir schon mal sehr viel weiter in meinem Verständnis. Un dich nehme an diese Überprüfung kann man auch programmiertechnisch machen, in dem man eine XML-Datei läd und ein XML Schema vorgibt?

MathiasSimmack 21. Feb 2008 11:20

Re: Funktion und Sinn von XML Schemata
 
Als Beispiel kannst dir ja mal die XML- und XSL-Datei angucken, die bei der Registrierung der Tutorials-Hilfedokumente im Zielordner liegen. Ist das gleiche Prinzip. Das Tool wertet die XML-Datei mit Hilfe der XSL aus, und sollte irgendwas nicht passen, meldet sich der Parser unter Angabe des Fehlers usw.


btw, die Antwort auf deine Frage ist Ja. Bei Bedarf suche ich die Schnippsel aus dem CSharp- und/oder Delphitool raus.

Luckie 21. Feb 2008 11:25

Re: Funktion und Sinn von XML Schemata
 
CSharp wäre nicht schlecht, weil ich es auch für C# dann bräuchte. Danke schon mal für eure Mühe.

Khabarakh 21. Feb 2008 11:28

Re: Funktion und Sinn von XML Schemata
 
Ist auch ziemlich nützlich, wenn man XML, für das man ein Schema besitzt, von Hand schreiben will: Mit einem brauchbaren Editor muss man nicht mehr für jedes Element in der Doku nachschauen, welche Attribute und Unterelemente erlaubt sind, per Intellisense schreibt sich das Dokument in einem Fluss.
Wenn XML nur zum Austausch von Daten zwischen zwei Programmen benutzt wird, könnten sich diese natürlich auch "privat" über die Struktur einigen, im Sinne von "Aha, ein Element A, das muss ein Element B als Child haben, denn so ist der Exporter eben programmiert". Ein XSD ist einfach eine öffentliche, formelle Formulierung dieser Übereinkunft, was besonders Drittanbietern die Arbeit erleichtert.
Zitat:

Zitat von Luckie
Un dich nehme an diese Überprüfung kann man auch programmiertechnisch machen, in dem man eine XML-Datei läd und ein XML Schema vorgibt?

Es gibt auch Tools (zum Bleistift für .Net :zwinker:), die aus einem Schema eine entsprechende Klassenhierarchie (also Code) erstellen und umgekehrt. Imho übelst genial, damit wird die Arbeit mit XML leichter als mit jeder Ini- oder CSV-Datei.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 Uhr.
Seite 1 von 3  1 23      

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