Diskussion:XML Schema

Letzter Kommentar: vor 2 Jahren von Quintus V. in Abschnitt Sinn und Zweck eines Schemas?

namespace xsd:

Bearbeiten

Im Abschnit Einschränkung eines Typs fehlt bei manchen Tags das "xsd:". Hat das irgendwas zu bedeuten oder ist das einfach falsch? --dStulle 15:02, 13. Okt 2005 (CEST)

Habe die Prefixe nachgetragen. Als ich den Abschnitt ursprünglich geschrieben habe, hab ich eigentlich die Prefix zugunsten der Lesbarkeit weggelassen. Es wäre nur falsch, wenn der Prefix vorher nicht korrekt deklariert wurde (was im Beispiel nicht passiert ist) -- Andreas75 17:33, 17. Okt 2005 (CEST)

Hätte man auch einfach überal ein "xsd:" reinschreiben können? --dStulle 11:14, 20. Okt 2005 (CEST)

Ähm, muss da überhaupt ein "xsd:" rein oder nur "xs:"? Verschiedene XSDs verwenden nämlich nur "xs:", so z.B. http://www.w3.org/2001/03/xml.xsd oder http://www.xmpp.org/schemas/jabber-client.xsd . Erstere ist vom W3C, weshalb ich annehme, dass das korrekt(er) ist. Oder ist es etwa egal, ob man "xs:" oder "xsd:" schreibt? --red_trumpet 23:29 Jul 2010 (nicht signierter Beitrag von Red trumpet (Diskussion | Beiträge) 23:30, 18. Jul 2010 (CEST))

Es ist egal, selbst "Hund" oder "qwertzui" sind gültige Präfixe, solange sie an die Namespace-URI "http://www.w3.org/2001/XMLSchema" gebunden sind. Details siehe Namensraum_(XML)#Präfixe. Leider ist dieses Detail wohl während diverser Überarbeitungen verschwunden. -- Stf 00:30, 19. Jul. 2010 (CEST)Beantworten

Beispiel zu unique / key

Bearbeiten

Das Beispiel zu unique ist nicht korrekt. "unique" und "key" gehören nicht in (Komplexe) Typdefinitionen, sondern in Elementdefinitionen (siehe hierzu [[1]])

Das Beispiel sollte also nicht so lauten:

<xsd:complexType name="pc-list" >
   <xsd:sequence>
     <xsd:element name="computer"  type="pc" maxOccurs="unbounded"/>
   </xsd:sequence> 

   <xsd:unique name="her-name">
        <xsd:selector xpath="computer"/>
        <xsd:field xpath="name"/>
        <xsd:field xpath="hersteller" />
   </xsd:unique> 

   <xsd:key name="idKey">
     <xsd:selector xpath="computer"/>
     <xsd:field xpath="@id"/>
   </xsd:key>
 </xsd:complexType>

sondern eher:

<xsd:element name="pc-list">

  <xsd:complexType>
   <xsd:sequence>
     <xsd:element name="computer" type="pc" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:complexType>

   <xsd:unique name="her-name">
        <xsd:selector xpath="computer"/>
        <xsd:field xpath="name"/>
        <xsd:field xpath="hersteller" />
   </xsd:unique> 

   <xsd:key name="idKey">
     <xsd:selector xpath="computer"/>
     <xsd:field xpath="@id"/>
   </xsd:key>
</xsd:element>

Backa 13:58, 17. Jun 2006 (CEST)

Stimmt, laut W3C ist dies in der Element-Definition und nicht im Typ zu spezifiziern. Wiedermal nicht gerade intuitiv. Da das falsche Beispiel vermutlich von mir stammt, korrigiere ich es gleich. Danke für den Hinweis. Andreas75 12:10, 6. Jul 2006 (CEST)

Verwendung von XML-Schemata

Bearbeiten

Das ist so falsch. Zur Verwendung von XML Schema muss nicht das attribut schemaLocation angegeben werden. Ein Parser des Schemas muss wissen, welche Namespaces er versteht und dem namespace automatisch das richtige Schema zuordnen. Insbesondere ist normalerweise dem Verbraucher einer XML-Datei die schemaLocation des Erstellers nicht zugänglich. Für das Mapping von Namespace zu schemaLocation werden heutzutage oft XML-Catalogs benutzt, z.B. [2]

Hui, ein Wikipedia-Eintrag, zu dem es seit Jahren keine Diskussion gibt? Das zeugt ja nicht gerade von seiner Relevanz... ;)
Eigentlich bin ich hier, weil ich etwas zur Syntax von xsi:schemaLocation wissen wollte. Die W3-Specs lesen sich wie deutsches Steuerrecht und das Beispiel hier ist leider nicht gerade erhellend. Warum einmal die URL und einmal das File? Ist das ueberhaupt ein File? Was hat es mit dem Punkt (".") auf sich (nicht hier im Beispiel)? Warum ist die URL rot und das File gruen?
Ich glaube, ein bis zwei Saetze zusaetzliche Erlaeuterung waeren hier ganz angebracht. Danke.
-- 217.111.33.2 12:46, 8. Mär. 2010 (CET)Beantworten

XSD Design Patterns

Bearbeiten

Eine IP hat den folgenden Abschnitt in den Artikel gestellt:

Russian Dull
Das Schema wird komplett ausformuliert, ohne Referenzen zu verwenden. Dieses Design Pattern unterstützt keine Wiederverwendung von Strukturen.
Garden of Eden
Dieses Design Pattern verwendet Referenzen sowohl für Elemente als auch für Typen. Diese XSDs sind meist schlecht lesbar.
Salami Slice
Referenzen werden für Elemente verwendet, für Typen jedoch nicht.
Venetian Blind
Referenzen werden für Typen verwendet, für Elemente jedoch nicht.
Sword of Khales
Das Schema wird nach fachlichen Anforderungen strukturiert. D.h. es werden nur Referenzen verwendet, wenn es fachlich opportun ist. Die Verwendung von Typ- bzw. Element-Referenzen ist im Einzelfall zu entscheiden.


Inhaltlich kann ich das nachvollziehen, allerdings habe ich keine Belege für die Benennungen. Da die IP keine Quellen genannt hat; habe ich revertiert. Liebe IP, es wäre schön, wenn Du (oder jemand anderes) die Quellen nachreichen könnte. -- Stf 09:42, 27. Jul 2006 (CEST)

Das kommt allem Anschein nach (google) aus einem Artikel von Matthias Hertel (AP Automation + Productivity AG Karlsruhe) und Prof. Alfred Schätter (Fachhochschule Pforzheim) (http://www.mathertel.de/2004/schemaeinmaleins.aspx). Ob hier die verwendeten Bezeichnungen neu eingeführt oder übernommen wurden, ist nicht ersichtlich. Im Bezug auf die fachliche Qualität des Artikel kann man nicht meckern, es kommt allerding auch nichts wirklich neues. Bewärte Prinzipien des SW-Designs lassen sich auch beim Entwurf von XML Schematas anwenden. Das ist an der Uni schonmal ein Paper wert. Allerdings sollten aus dieser Quelle eher die grundsätzlichen Aussagen zum Design übernommen werden und erst zu allerletzt die Design-Patterns und deren Namen. -- Andreas75 11:20, 18. Aug 2006 (CEST)

Die Unterscheidung Russian Doll / Salami Slice / Venetian Blind wird recht häufig verwendet und sollte m.E. in den Artikel rein. Wird verwendet z.B. in http://www.xfront.com/GlobalVersusLocal.html, aber auch in Büchern: "XML Schemas", siehe 'Search Inside' bzw. Index auf Amazon http://www.amazon.com/XML-Schemas-Lucinda-Dykes/dp/0782140459 und "Professional XML Schemas", nicht online verfügbar, hab's aber vorliegen http://www.amazon.com/Professional-XML-Schemas-Jon-Duckett/dp/1861005474 . Garden Of Eden Schema liefert bei Google auch einige Treffer: http://www.google.com/search?q=garden+eden+schema . Sword Of Khales ist mir allerdings neu, finde auch bei Google nix. Chrisahn 22:27, 11. Okt. 2006 (CEST)Beantworten

"recht häufig" sagen Deutsche auch "realisieren", wenn sie "erkennen" meinen. Das ist kein Argument.--93.198.83.233 11:36, 4. Okt. 2017 (CEST)Beantworten

leere Elemente

Bearbeiten

Hier müsste es doch heißen: Es wird mittels xsd:complexType ein neuer Typ definiert und dann mittels complexContent so eingeschränkt, dass nur komplexe Elemente als Kinder vorkommen dürfen. Wird kein Kind spezifiziert, bleibt das jeweilige Element leer.

Quelle: http://www.w3.org/TR/xmlschema-0/#emptyContent [3]

Eine Einschränkung auf Complex Type alleine reicht nicht aus, oder?

Wenn ich die W3 Seite richtig verstehe, nein. ComplexType reicht aus. " This compact syntax works because a complex type defined without any simpleContent or complexContent is interpreted as shorthand for complex content that restricts anyType." (Zitat [4]). Der Abschnitt 3.4.2 XML Representation of Complex Type Definitions in http://www.w3.org/TR/xmlschema-1 ist ebenfalls eindeutig - oder ich verstehe das falsch. -- Andreas75 16:19, 8. Sep 2006 (CEST)
ja, ich denke du hast recht! War anscheinend nur von der kompakten Syntax verwirrt. Und jetzt muss ich mir auch mal einen Benutzernamen holen :)

Lesenswertkandidatur (November 2006) - Gescheitert

Bearbeiten

Artikel zur Spezifikationssprache von XML Strukturen, an dem ich kräftig mitgeschrieben habe. Wie ich finde, ganz gelungen. -- Andreas75 17:18, 11. Nov. 2006 (CET)Beantworten

  Contra, Mal abgesehen davon, dass meine Oma nicht mal verstehen würde, was das ist: keine auch nur ansatzweise Erklärung zur Entwicklung der Spezifikation und des Zeitpunkts er Empfehlung. Verwendung und Unterstützung? Vergleich zu anderen XML-Formaten? Der Text ist teilweise eher eine How-to (Beachte) als ein enzyklopädischer Artikel.--sуrcro.педија+/- 13:35, 12. Nov. 2006 (CET)Beantworten

  • neutral - Ich finde den Artikel eigentlich ganz gelungen. Ich glaube, man kann auch voraussetzen, dass der Leser weiß, was XML ist. Ich würde den Artikel erstmal ins Review stellen und ein bisschen Feedback von anderen Lesern holen. --Kurt Seebauer 14:43, 12. Nov. 2006 (CET)Beantworten

Kann es sein, dass die Sprache XML Schema heißt? Dann wäre das Lemma des Artikels falsch. -- Carbidfischer Kaffee? 15:07, 12. Nov. 2006 (CET)Beantworten

Die Schreibweise XML-Schema ist in der Tat die gebraeuchliche. In eingedeutscher Rechtschreibung ist es eh korrekt und auch im Englischen waere das die uebliche Variante. -- ossipro 13:52, 18. Nov. 2006 (CET)Beantworten

Ich finde den Artikel etwas zu technisch. Abkürzungen wie DTD in der Einleitung sollten vielleicht erläutert werden. Wie die Dateinamenendungen von XML Schemata heissen gehört meiner Meinung nach auch eher nicht in die Einleitung. --Joblech 16:00, 16. Nov. 2006 (CET)Beantworten

  Contra, ich denke, dass die detailliert technische Darstellung auch zum Artikel gehoert und auf der Ebene ist der Artikel schon ganz gut (wobei ich mich mit den Details von XML-Schema nicht gut auskenne). Andererseits kommen ein allgemeiner Teil fuer "alle" und die Einordnung zu relevanten anderen Begriffen und in die aktuelle Entwicklung des Web zu kurz. Hier ein paar Vorschlaege, was in diesen Teil hineinkoennte:

  • Motivation zur Entwicklung (Schwaechen von DTDs ...) - Die DTDs lassen nur sehr unzulaenglische Datentypdefinitionen zu und werden kaum benutzt und sind selbst nicht im XML-Format. Das semantische Web geht davon aus, dass Maschinen die Informationen "verstehen" und verarbeiten koennen. Dabei kommt der Deklaration der Informationskodierung eine wichtige Rolle zu, die von DTDs nicht erfuellt werden kann. DTDs definieren Dokumente. Der Einsatz von XML macht es jedoch immer notwendiger, auch allgemeine Datenstrukturen definieren zu koennen. Auch das ist eine Motivation fuer XML-Schema. Das Erlernen der Syntax ist einfacher als bei DTDs, deren Syntax an SGML angelehnt ist und XML-Parser sowie XSLTs koennen XML-Schema verarbeiten.
  • Einbindung in das Dreigestirn XSLT, XML-Schema und XML-Dokumente - Klare Trennung von Inhalt und Layout, Flexibilitaet in der Darstellung und Verarbeitung
  • die historische Entwicklung von XML-Schema - Vorgaenger DTD, Geburtsstunde 1999, erste Drafts 2000, schnelle Recommendation im Mai 2001, Einsatzbeispiele
  • Einordnung der Bedeutung in die aktuelle Diskussion Semantic Web versus Web 2.0 - Das W3C vertritt als Idee die Verarbeitung der Information durch Maschinen und Web 2.0 setzt auf die Interaktion von Benutzern (siehe Wikipedia ;-) )

Manches ist im Artikel schon angedeutet; bleibt in dieser Kuerze jedoch unverstaendlich.

Um das Laien als Problem auch verstaendlich zu machen, kann ruhig die Idee des Semantic Web vom W3C kurz angerissen werden und dann auf (hoffentlich vorhandene) andere Artikel verwiesen werden. Das muss auch nicht alles neu erfunden werden, sondern kann zusammengefasst aus anderen Artikeln uebernommen werden. Leider sind die Artikel zum Semantic Web und zu XML in dieser Hinsicht nicht sehr erhellend. Ich wuerde den Artikel so gestalten, dass er zuerst einmal allgemein fuer alle lesbar ist und die technischen Details in einen klar abgegrenzten Unterteil setzen (schliesslich liest nicht nur meine Oma in der Wikipedia ;-) ) Den Review-Prozess wuerde ich auch empfehlen. Gruss -- ossipro 13:52, 18. Nov. 2006 (CET)Beantworten

Hallo, an dieser Stelle: http://de.wikipedia.org/wiki/XML_Schema#Einfache_Typen wird bei dem ersten Beispiel "restriction" verwendet. Allerdings wird das erst weiter unten erklärt: http://de.wikipedia.org/wiki/XML_Schema#Einschr.C3.A4nkung_eines_Typs. Ich denke das ist nicht sehr sinnvoll, weil es doch am Anfang verwirrt. --BuZZdEE.BuzZ 18:51, 9. Jun. 2009 (CEST)Beantworten


Inkonsistente Schreibweise: XML-Schema vs XML Schema

Bearbeiten

Sollte man sich nicht auf eine Schreibweise festlegen? Weiß jemand welche im Deutschen bevorzugt verwendet werden sollte?

Auf den ins Deutsche übersetzten Webseiten des W3C wird immer "XML Schema" verwendet. Richtig im Sinne der Verwendung von Bindestrichen im Deutschen wäre vermutlich "XML-Schema". -- Andreas75 17:49, 3. Aug 2005 (CEST)

Ich hatte das so verstanden: Die Sprachspezifikation selbst heißt "XML Schema" bzw. genauer "W3C XML Schema" (also mit Deppenleerzeichen), ein konkretes XML-Schema wird auch als eine XSD (XML-Schema-Definition) bezeichnet. Since other XML schema languages such as RELAX NG now exist, it is important to cite this language as either XML Schema or W3C XML Schema, always with the word Schema capitalized. An XML Schema instance is an XML Schema Definition (XSD) and typically has the filename extension ".xsd". The language itself is sometimes informally referenced as XSD, even though WXS (W3C XML Schema) is the more appropriate initialism. und An XML Schema Definition (XSD) is an instance of an XML schema written in the XML Schema language. In der englischen Sprache unterscheidet man Spezifikation und konkretes Schema also gerade allein durch die Groß-/Kleinschreibung. Da diese Möglichkeit im Deutschen wegfällt, sollte man hier wohl als Unterscheidung das Deppenleerzeichen beibehalten, entgegen der durchgängigen Änderung, die gerade am Artikel durchgeführt worden ist. -- MfG Doodee 00:19, 27. Sep 2005 (CEST)

Im Abschnitt Einleitung ist vom XML-Schema die Rede, im Abschnitt Datentypen spricht man hingegen von einem XML Schema; auch der Artikel selber heißt ja XML Schema. Ich persönlich bevorzuge XML-Schema, da ich die ans Englische angelehnte Schreibweise mit Leerzeichen schlichtweg doof finde (besonders wenn deutsche Komposita auseinandergeschrieben werden). Da XML Schema jedoch ein von W3C geprägter Begriff ist, wäre die Schreibweise mit Leerzeichen akzeptabel, nur müsste sie im gesamten Artikel konsistent sein. --White rotten rabbit 13:27, 18. Dez. 2010 (CET)Beantworten

Ich meine obige Diss hatte schon zum richtigen Schluss geführt, In der Informatik werden Fachnamen in den seltensten Fällen eingedeutscht. Wenn doch das Gegenteilige, dann bitte mit Belegen. -- Perhelion 23:16, 30. Jan. 2011 (CET)Beantworten
Dass in der Informatik Begriffe nicht eingedeutscht werden, halte ich mal für ein Gerücht. Richtig ist, dass leider immer weniger Leute diese verwenden. Aber zum Thema: Die von Doodee beschriebene Unterscheidung ist meiner Meinung nach am besten geeignet. Ich halte es für schlichtweg falsch, wenn bei konkreten Instanzen von »XML Schema« oder gar »XML Schemata« gesprochen wird, wie es im Artikel derzeit der Fall ist. Deshalb: Sprache mit Deppenleerzeichen, konkrete Instanzen/Schemadefinitionen mit Bindestrich. Wenn sich keine weiteren Meldungen in nächster Zeit auftun, würde ich den Artikel bei Zeiten dahingehend verbessern. -- Danielsl 04:07, 4. Jul. 2011 (CEST)Beantworten

Abkürzungen (XSD / WXS)

Bearbeiten

Der Artikel widerspricht sich allein schon in den ersten zwei Absätzen: Anfangs wird XSD als Abkürzung für die Sprache angegeben, weiter unten soll es auf einmal eine konkrete Instanz beschreiben. Die Problematik mit den nicht eindeutigen Abkürzungen hätte beinahe einen eigenen Abschnitt verdient, da sie oft zu Verwirrung führt. Dazu kommt, dass in frühen Entwürfen des W3C für die Version 1.1 ausdrücklich »XSDL« als Abkürzung im Titel angegeben wird, während es nun im aktuellen Empfehlungskandidaten nur noch »XSD« heißt. Früher hingegen verwendete das W3C die Abkürzung »WXS«, die in der englischen Wikipedia übrigens sowohl erwähnt als auch umgeleitet wird. Der aktuelle Stand des Artikels ist meiner Meinung nach jedenfalls nicht ok, da er sich erstens bezüglich XSD widerspricht und zweitens WXS komplett außen vor lässt. -- Danielsl 03:56, 4. Jul. 2011 (CEST)Beantworten

Abschnitt und Beispiel "Einschränkung eines Typs"

Bearbeiten

Im Beispiel wird die GESAMTE Liste (sequence), die eingeschränkt werden soll, erneut aufgeführt. Müsste bzw. sollte es nicht eigentlich so wie unten angegeben lauten, d. h. dass lediglich das Element mit dem Namen "kommentar" aufzuführen wäre? Oder würde hierdurch nun die Position "verloren gehen", an der das hinsichtlich seines maxOccurs-Wertes veränderte Element in der Liste zu stehen hat?:

<xs:complexType name="myPC2-Typ">
 <xs:complexContent>
   <xs:restriction base="pc-Typ">
     <xs:sequence>
      <xs:element name="kommentar" type="xs:string" minOccurs="0" maxOccurs="1"/>
     </xs:sequence>
   </xs:restriction>
 </xs:complexContent>
</xs:complexType> (nicht signierter Beitrag von 77.10.166.24 (Diskussion) 17:59, 24. Aug. 2013 (CEST))Beantworten

Das Beispiel mit der Deutschen Postleitzahl und dem optionalen "D " ist falsch, denn es war seit 20. März 1976 ein "D-" oder "0-", seit 1990 ein "W-" oder "O-". Mit dem 5-stelligen System seit 1993 gibt es das nicht mehr. Ein "D " war es noch nie, siehe auch "https://de.wikipedia.org/wiki/Postleitzahl_(Deutschland)".

Sinn und Zweck eines Schemas?

Bearbeiten

Was bringt das? Was erreicht man damit, was nicht schon so mit XML funktioniert? --93.198.83.233 11:07, 4. Okt. 2017 (CEST)Beantworten

+1 Der Text bringt Detailinformationen für Leute, die schon wissen, worum es geht. Es fehlt ein Abschnitt, der typische Anwendungen von XML Schemas erklärt. -- Quintus V. (Diskussion) 14:01, 9. Dez. 2022 (CET)Beantworten