Der erste Schritt ist die Erstellung einer Variablen mit einer eindeutigen, durch Komma begrenzten Liste aller Elemente im XML-Dokument. Dies erfolgt mithilfe der Code-Ausschnitte in Liste C. Hier werden die xsl:key-Elemente dazu verwendet, Indexe von Elementen nach Namen und von Attributen nach Namen zu erstellen.
Diese Indexe werden dann in Verbindung mit den Funktionen generate-id() und key() verwendet, um eine Gruppierung nach der Muench’schen Methode durchzuführen und eindeutige Werte sicherzustellen. Mit der Funktion substring() wird das Komma am Ende entfernt.
Liste C
Endeutige Elemente und Attribute
Die durch Komma begrenzte Elementliste wird dann zur Erstellung individueller xs:element-Definitionen verwendet, die in die folgenden möglichen Kategorien fallen können:
Um festzustellen, ob ein Element entweder untergeordnete Elemente oder Attribute besitzt, ist ein anderer als der oben beschriebene Ansatz erforderlich. Der Grund dafür ist, dass nach spezifischen Elementen und Attributen gesucht wird, nämlich jenen, die mit einem bestimmten Parent-Element verbunden sind. Zuerst wird aus allen untergeordneten Elementen mit Parent-Element, dessen Name mit dem aktuellen Element übereinstimmt, eine sortierte Elementliste erstellt. Duplikate werden ebenso entfernt wie das hängende Komma, und es entsteht eine eindeutige Liste mit untergeordneten Elementen. Das Verfahren ist für Attribute grundlegend dasselbe.
Der Code für die gesamte Prozedur zur Generierung eines W3C-Schemas ist in Liste D enthalten, ein Muster-XML-Dokument befindet sich in Liste E und das Schema in Liste F.
Liste D
XSL zur Erstellung eines W3C-Schemas
Liste E
Muster-XML-Dokument
Liste F
Schema
Es dauert etwa einen Tag diesen Code zu schreiben, aber wenn man bedenkt, wie aufwändig es ist, ein Schema per Hand zu schreiben, ist es die Mühe wert. Das resultierende Schema ist zwar nicht sonderlich angepasst (jeder Datentyp ist xs:string und minOccurs ist immer 0), doch es geht in jedem Fall sehr viel schneller, ein bestehendes Schema anzupassen als ein neues zu schreiben.
Page: 1 2
Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…
Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…
Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.
Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…
Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…
Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.