XSD验证错误。 “发现问题始于:序列”

问题描述 投票:0回答:1

我们正在通过https://www.freeformatter.com/xml-validator-xsd.html验证XSD,但会引发错误:

S4s-elt-must-match.1:'filmliste'的内容必须匹配(注释?,(simpleType | ComplexType)?,(唯一| Key | Keyref)*))。发现问题始于:序列。

有人可以帮助我们吗?

下面是我们的XML和XSD代码(仅出于代码预览的目的,我们将XML中的schemaLocation更改为XXXX:]]

<?xml version="1.0" encoding="utf-8"?>
<filmliste xmlns="https://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="XXXX">
    <film genre="Fantasy" film_id="_978466">
        <titel>Harry Potter und der Stein der Weisen</titel>
        <originalTitel>Harry Potter and the Philosopher's Stone</originalTitel>   
        <datum>2001</datum>
        <studio>Warner Bros. Pictures</studio>
        <originalSprache>Englisch</originalSprache>
        <land>Vereinigtes Königreich</land>

        <drehorte>
            <drehort kontinent="Europa">Goathland</drehort>
        </drehorte>

        <stab>
            <regie>Chris Columbus</regie>
            <drehbuchAutoren>
                <drehbuchAutor>Steven Kloves</drehbuchAutor>
                <drehbuchAutor>Joanne K. Rowling</drehbuchAutor>
            </drehbuchAutoren>
            <produzenten>
                <produzent>David Heyman</produzent>
            </produzenten>
            <musik>John Williams</musik>
            <kamera>John Seale</kamera>
            <schnitt>Richard Francis-Bruce</schnitt>
        </stab>

        <besetzung>
            <hauptdarstellerListe>
                <hauptdarsteller>
                    <schauspieler>Daniel Radcliffe</schauspieler>
                    <charakter>Harry Potter</charakter>
                </hauptdarsteller>
                <hauptdarsteller>
                    <schauspieler>Rupert Grint</schauspieler>
                    <charakter>Ron Weasley</charakter>
                </hauptdarsteller>
                <hauptdarsteller>
                    <schauspieler>Emma Watson</schauspieler>
                    <charakter>Hermine Granger</charakter>
                </hauptdarsteller>
            </hauptdarstellerListe>
            <nebendarstellerListe>
                <nebendarsteller>
                    <schauspieler>Robbie Coltrane</schauspieler>
                    <charakter>Rubeus Hagrid</charakter>
                </nebendarsteller>
                <nebendarsteller>
                    <schauspieler>Richard Harris</schauspieler>
                    <charakter>Albus Dumbledore</charakter>
                </nebendarsteller>
                <nebendarsteller>
                    <schauspieler>Alan Rickman</schauspieler>
                    <charakter>Severus Snape</charakter>
                </nebendarsteller>
                <nebendarsteller>
                    <schauspieler>Maggie Smith</schauspieler>
                    <charakter>Minerva McGonagall</charakter>
                </nebendarsteller>
                <nebendarsteller>
                    <schauspieler>Ian Hart</schauspieler>
                    <charakter>Quirinius Quirrell</charakter>
                </nebendarsteller>
                <nebendarsteller>
                    <schauspieler>Tom Felton</schauspieler>
                    <charakter>Draco Malfoy</charakter>
                </nebendarsteller>
                <nebendarsteller>
                    <schauspieler>Matthew Lewis</schauspieler>
                    <charakter>Neville Longbottom</charakter>
                </nebendarsteller>
            </nebendarstellerListe>
        </besetzung>

        <handlung>
            Der Waisenjunge Harry Potter wächst in Surrey bei der spießigen Familie seiner Tante auf, den Dursleys, die ihn sehr schlecht behandeln. So muss Harry in einem Wandschrank unter der Treppe schlafen und hat unter den Schikanen seines verwöhnten Cousins Dudley zu leiden. Kurz vor seinem elften Geburtstag erhält Harry einen Brief, der ihm – noch ungeöffnet – von den Dursleys weggenommen wird. Von Eulen werden ihm immer mehr Briefe zugestellt, die ihm sein Onkel ebenfalls vorenthält. Erst als der hünenhafte Rubeus Hagrid an seinem Geburtstag auftaucht, erfährt Harry zu seiner Überraschung, dass seine Eltern Zauberer waren. Sie wurden von dem dunklen Magier Lord Voldemort getötet. Harry überlebte den Angriff bis auf eine blitzförmige Narbe auf der Stirn unversehrt, und Voldemort verlor seine Kräfte beim Versuch, das einjährige Kind zu töten. Deswegen ist Harry in der Welt der Zauberer eine Legende. Die Dursleys haben Harry dies vorenthalten, weil sie als Nicht-Zauberer – sogenannte „Muggel“ – alles Magische verabscheuen und sich davor fürchten. Hagrid übergibt Harry einen der Briefe; es ist eine Einladung in die Hogwarts-Schule für Hexerei und Zauberei. Hagrid, der Wildhüter der Schule, führt Harry in die versteckte Winkelgasse in London, wo er Unterrichtsmaterialien wie Bücher und einen Zauberstab kaufen kann. Zum Geburtstag bekommt Harry von Hagrid die Eule Hedwig geschenkt. Außerdem übergibt er ihm eine Fahrkarte für den Hogwarts-Express, der die Hogwarts-Schüler von Gleis 9 ¾ des Londoner Bahnhofs King’s Cross zu der abgelegenen Zauberschule bringt. Auf der Fahrt lernt Harry zwei seiner späteren Klassenkameraden kennen: den Rotschopf Ron Weasley, mit dem er sich auf Anhieb versteht, und die neunmalkluge Hermine Granger.
            Im Schloss-Internat Hogwarts angekommen, werden die Schüler vom Sprechenden Hut den vier Schulhäusern zugeordnet: Gryffindor, Hufflepuff, Ravenclaw und Slytherin. Harry, Ron und Hermine kommen ins Haus Gryffindor. Ab dem folgenden Tag werden die Schüler in verschiedenen Disziplinen der Zauberei ausgebildet, darunter Verwandlung, Zaubertränke, Verteidigung gegen die Dunklen Künste und das Fliegen auf Besen. Für letzteres beweist Harry ein außergewöhnliches Talent, weswegen er ins Quidditch-Team von Gryffindor aufgenommen wird. Diese Mannschaftssportart wird auf fliegenden Besen ausgetragen, und Harry kann das erste Spiel gegen Slytherin für sein Haus entscheiden. Zwischen Harry, Ron und Hermine entwickelt sich eine enge Freundschaft. In einem gleichaltrigen Mitschüler aus Slytherin, Draco Malfoy, findet Harry einen Rivalen und Erzfeind.
            Mittlerweile haben Harry, Ron und Hermine herausgefunden, dass in der Schule etwas Wertvolles von einem dreiköpfigen Hund bewacht wird. Ihre Nachforschungen ergeben, dass es sich um den Stein der Weisen handelt, der seinem Besitzer Unsterblichkeit verleiht. Auf besondere Anweisung des Schulleiters Albus Dumbledore wird der Stein in der Schule verwahrt und bewacht, nachdem ein Versuch vereitelt worden war, ihn aus der Zaubererbank Gringotts zu stehlen. Harry vermutet dahinter den Lehrer für Zaubertränke, Professor Snape, den er verdächtigt, im Dienst Lord Voldemorts zu stehen. Harry glaubt außerdem, Snape wolle Voldemort mithilfe des Steines wieder zu einer menschlichen Gestalt und zu neuer Macht und Größe verhelfen.
            Harry, Ron und Hermine beschließen, selbst nach dem Stein zu suchen, um ihn vor Snape zu finden. Sie bewältigen eine Reihe von Hindernissen, die den Stein beschützen sollen: eine tödliche Pflanze, die Jagd nach einem fliegenden Schlüssel und ein gewalttätiges, überlebensgroßes Schachspiel. Harry dringt ins Versteck des Steines vor und findet dort Professor Quirrell, den unscheinbaren Lehrer für Verteidigung gegen die Dunklen Künste. Als Quirrell seinen Turban entfernt, zeigt sich, dass Voldemort von seinem Körper Besitz ergriffen hat. Der Stein wird von einem Zauber beschützt: Nur wer ihn finden will, ohne ihn zu gebrauchen, kann ihn erlangen. Daher bringt Voldemort Harry dazu, den Stein an sich zu nehmen, und will den Jungen dann verleiten, ihm den Stein zu geben. Als Harry standhaft bleibt, versucht Quirrell, Harry zu töten, aber durch Harrys Berührung zerfällt er zu Staub. Voldemort verlässt Quirrells Körper und flieht, Harry fällt in Ohnmacht. Nachdem er im Krankenflügel wieder zu sich gekommen ist, erklärt ihm Dumbledore, dass Harry für Voldemort unantastbar war, weil seine Mutter sich für ihn geopfert hatte. Außerdem berichtet er, dass der Stein der Weisen in der Zwischenzeit vernichtet worden ist, um zu vermeiden, dass er in Voldemorts Hände fällt.
            Das Schuljahr endet traditionsgemäß mit einem großen Fest in der Großen Halle. Dabei wird der Hauspokal an eines der vier Häuser verliehen, und eigentlich lag Gryffindor mit seiner Punktezahl auf dem letzten Platz. Im Lichte der vorausgegangenen Ereignisse erhalten Hermine, Ron, Harry und auch Neville aber Extrapunkte zugesprochen, und so wird Gryffindor auf den letzten Meter doch noch zum Sieger.
            Am Ende des Films schenkt Hagrid Harry ein Fotoalbum mit Aufnahmen seiner Eltern, kurz bevor die Schüler von Hogwarts zurück in die Welt der „Muggel“ fahren.
        </handlung>
    </film>


        <film genre="Drama" film_id="_364826">
        <titel>Life of Pi: Schiffbruch mit Tiger</titel>
        <originalTitel>Life of Pi</originalTitel>   
        <datum>2012</datum>
        <studio>Rhythm and Hues Studios</studio>
        <originalSprache>Englisch</originalSprache>
        <land>Vereinigte Staaten</land>

        <drehorte>
            <drehort kontinent="Nordamerika">Montreal</drehort>
            <drehort kontinent="Asien">Kenting</drehort>
            <drehort kontinent="Asien">Pondicherry</drehort>
        </drehorte>

        <stab>
            <regie>Ang Lee</regie>
            <drehbuchAutoren>
                <drehbuchAutor>David Magee</drehbuchAutor>
            </drehbuchAutoren>
            <produzenten>
                <produzent>Ang Lee</produzent>
                <produzent>Gil Netter</produzent>
                <produzent>David Womark</produzent>
            </produzenten>
            <musik>Mychael Danna</musik>
            <kamera>Claudio Miranda</kamera>
            <schnitt>Tim Squyres</schnitt>
        </stab>

        <besetzung>
            <hauptdarstellerListe>
                <hauptdarsteller>
                    <schauspieler>Suraj Sharma</schauspieler>
                    <charakter>Pi Patel</charakter>
                </hauptdarsteller>
                <hauptdarsteller>
                    <schauspieler>Irrfan Khan</schauspieler>
                    <charakter>Pi Patel</charakter>
                </hauptdarsteller>
                <hauptdarsteller>
                    <schauspieler>Rafe Spall</schauspieler>
                    <charakter>Schriftsteller</charakter>
                </hauptdarsteller>
            </hauptdarstellerListe>
            <nebendarstellerListe>
                <nebendarsteller>
                    <schauspieler>Adil Hussain</schauspieler>
                    <charakter>Santosh Patel</charakter>
                </nebendarsteller>
                <nebendarsteller>
                    <schauspieler>Tabu</schauspieler>
                    <charakter>Gita Patel</charakter>
                </nebendarsteller>
                <nebendarsteller>
                    <schauspieler>Ayan Khan</schauspieler>
                    <charakter>Ravi Patel</charakter>
                </nebendarsteller>
            </nebendarstellerListe>
        </besetzung>

        <handlung>
           Piscine wächst im südindischen Pondicherry, einer ehemaligen französischen Kolonie, als Sohn eines Zoodirektors auf. Sein Vater benannte ihn nach dem Pariser Schwimmbad Piscine Molitor. Als er von seinen Mitschülern gehänselt und sein Name als Pisser verballhornt wird, gibt er sich selbst den Spitznamen Pi, wie die Kreiszahl, und lernt mehrere Hundert ihrer Nachkommastellen auswendig. Pi ist fasziniert von Religion und probiert alles aus, was sich ihm präsentiert. So ist er bald zugleich Hindu, Christ und Muslim, jeder Religion gewinnt er neue spirituelle Seiten ab, auch wenn sein atheistischer Vater ihn auffordert, sich zumindest für einen Glauben zu entscheiden. Im Zoo hat es ihm besonders ein bengalischer Tiger namens Richard Parker angetan. Als er ihn eines Tages von Hand füttern will, zwingt ihn sein Vater mitanzusehen, wie der Tiger eine als Futter vorgesetzte lebende Ziege reißt, um Pi die Gefährlichkeit des Raubtiers vor Augen zu führen.
           Einige Jahre später bringt der Zoo nicht mehr genug Geld ein, und Pis Vater beschließt, mit der Familie und sämtlichen Tieren auszuwandern. Sein Plan ist es, die Tiere in Übersee zu verkaufen und mit seiner Frau und den beiden Söhnen in Kanada ein neues Leben aufzubauen. Pi, frisch verliebt in ein Mädchen, geht nur widerwillig an Bord des Frachters, der die Familie transportieren soll. Zunächst geht die Schiffsreise gut. Als aber eines Nachts ein heftiger Sturm tobt und Pi auf Deck geht, fordert er übermütig die himmlischen Mächte heraus: Der Sturm wird nun noch gewaltiger und der Frachter sinkt. Pi ist schließlich der einzige menschliche Überlebende auf einem Rettungsboot. Mit ihm können sich zunächst nur zwei der Zootiere retten, ein verletztes Zebra sowie eine Hyäne. Später stößt ein Orang-Utan-Weibchen dazu, das sein Kind verloren hat.
           Die Hyäne tötet zunächst das Zebra und dann den Orang-Utan, nur um danach selbst vom Tiger Richard Parker getötet zu werden, der überraschend unter der Plane des Bootes hervorbricht. Pi und der Tiger sind somit die einzigen Überlebenden auf dem Boot. Um sich vor dem Tiger in Sicherheit zu bringen, baut Pi ein Floß aus Rettungswesten und Rudern, das er mit einer Leine am Rettungsboot befestigt. Nach einiger Zeit aber sieht er ein, dass auch das ihn nicht dauerhaft vor dem Raubtier schützen würde, und er beginnt, den mittlerweile sehr hungrigen und sichtlich abgemagerten Tiger zu dressieren und mit ihm die Nahrung zu teilen, die aus dem Vorrat an Schiffszwieback, gefangenen Fischen und Regenwasser besteht. Schließlich „teilen“ sie sich das Boot und driften weiter über den Ozean. Zwischendurch bieten sich ergreifende, phantastische Naturschauspiele, aber Rettung ist auch nach Monaten nicht in Sicht.
           Irgendwann erreichen Pi und der Tiger eine sonderbare schwimmende Insel. Statt menschlicher Hilfe finden beide nur eine riesige Erdmännchen-Kolonie und eine reiche, nahrhafte Vegetation vor, die sich nachts jedoch in eine lebensfeindliche, fleischfressende Umwelt verwandelt. Nach einem stärkenden Zwischenstopp und der Auffrischung ihrer Vorräte besteigen sie wieder das Boot und verlassen diese todbringende Idylle. Wiederum viel später landen sie an einer Küste, diesmal in der von Menschen bewohnten Welt, in Mexiko. Pi bricht kraftlos am Strand zusammen, während Richard Parker im Dschungel verschwindet, ohne sich noch einmal nach Pi umzusehen. Dies bricht Pi fast das Herz. Er wird von einigen Männern gefunden und in ein Krankenhaus gebracht.
           Hier endet die Geschichte, die Piscine dem Buchautor erzählt. Dieser ist ungläubig und hakt nach. Er erfährt, dass es noch eine andere Version der Ereignisse gibt. Pi berichtet, dass er damals im Krankenhaus von zwei japanischen Versicherungsinspektoren besucht wurde, die im Auftrag der Reederei nach den Ursachen für den Untergang des Frachters forschten. Als er ihnen die Geschichte von sich und dem Tiger erzählte, zeigten sie sich enttäuscht und wollten ihrem Auftraggeber diese unglaubwürdige, phantastische Version nicht bieten. Daher erzählte er ihnen eine alternative Version: Er sei mit einem schwer verletzten Matrosen und dem unfreundlichen französischen Schiffskoch im Rettungsboot gelandet, bald kam auch seine Mutter dazu. Der grobe Koch amputierte dem Matrosen dessen gebrochenes Bein, trotzdem sei dieser gestorben. Der Koch habe nun das Fleisch des Verstorbenen als Köder zum Angeln genutzt und auch selbst verspeist. Als Pi und seine Mutter, angeekelt und aus Furcht vor dem Grobian, nach einer Weile auf ein Behelfsfloß umziehen wollten, habe der Koch die Mutter umgebracht, die sich schützend vor ihren Sohn gestellt hatte, und sie anschließend zu den Haien ins Meer geworfen. Pi habe daraufhin den Koch getötet und blieb dann allein auf dem Boot, ganze 227 Tage lang.
           Der Buchautor erkennt, dass die Tiere in der ersten Geschichte lediglich Symbole waren: Die Hyäne stand für den Koch, das Zebra für den verletzten Matrosen, das Orang-Utan-Weibchen für Piscines Mutter und der Tiger für ihn selbst und seinen Überlebenswillen. Als Piscine den Buchautor fragt, welche Geschichte ihm besser gefallen habe, die realistische oder die phantastische, entscheidet der sich für die mit dem Tiger, da es „die bessere Geschichte“ sei. Darauf antwortet Pi: „Und genau so ist es auch mit Gott“. Er überlässt dem Autor die Entscheidung, der Geschichte ein Happy End zu geben. Beim Blick in den Versicherungsbericht liest der Buchautor, dass die japanischen Inspektoren sich damals ebenfalls entschieden haben, die phantastische Version mit dem Tiger weiterzuberichten.
        </handlung>
    </film>
</filmliste>
<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name ="filmliste">
        <xs:sequence>
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="film">
                        <xs:complexType>
                            <xs:attribute name="genre" type="xs:string" use="required">
                                    <xs:restriction base="xs:string">
                                        <xs:enumeration value="Action"/>
                                        <xs:enumeration value="Animationsflim"/>
                                        <xs:enumeration value="Drama"/>
                                        <xs:enumeration value="Horror"/>
                                        <xs:enumeration value="ScienceFiction"/>
                                        <xs:enumeration value="Komoedie"/>
                                        <xs:enumeration value="Biografie"/>
                                        <xs:enumeration value="Dokumentation"/>
                                        <xs:enumeration value="Fantasy"/>
                                    </xs:restriction>
                                </xs:attribute>
                                <xs:attribute name="film_id" type="xs:string" use="required">
                                    <xs:restriction base="xs:string">
                                         <xs:pattern value="[_][0-9][0-9][0-9][0-9][0-9][0-9]"/>
                                    </xs:restriction>
                                </xs:attribute> 
                            <xs:sequence>           
                                <xs:element name="titel" type="xs:string" />
                                <xs:element name="originalTitel" type="xs:string" />
                                <xs:element name="datum" type="xs:year" />
                                <xs:element name="studio" type="xs:string" />
                                <xs:element name="originalSprache" type="xs:string" />
                                <xs:element name="land" type="xs:string" />
                                <xs:element name="drehorte">
                                    <xs:complexType>
                                        <xs:sequence>
                                            <xs:element name="drehort">
                                                <xs:complexType>
                                                    <xs:sequence>
                                                        <xs:attribute name="kontinent" type="xs:string" use="required">
                                                            <xs:restriction base="xs:string">
                                                                <xs:enumeration value="Nordamerika"/>
                                                                <xs:enumeration value="Suedamerika"/>
                                                                <xs:enumeration value="Europa"/>
                                                                <xs:enumeration value="Afrika"/>
                                                                <xs:enumeration value="Asien"/>
                                                                <xs:enumeration value="Australien"/>
                                                                <xs:enumeration value="Antarktis"/>
                                                            </xs:restriction>   
                                                        </xs:attribute>
                                                    </xs:sequence>
                                                </xs:complexType>
                                            </xs:element>   
                                        </xs:sequence>
                                    </xs:complexType>
                                </xs:element>
                                <xs:element name="stab">
                                    <xs:complexType>
                                        <xs:sequence>
                                            <xs:element name="regie" type="xs:string" />
                                            <xs:complexType name="drehbuchAutoren">
                                                <xs:element name="drehbuchAutor" type="xs:string" />                        
                                            </xs:complexType>
                                            <xs:complexType name="produzenten">
                                                <xs:element name="produzent" type="xs:string" />                        
                                            </xs:complexType>
                                            <xs:element name="musik" type="xs:string" />
                                            <xs:element name="kamera" type="xs:string" />
                                            <xs:element name="schnitt" type="xs:string" />
                                        </xs:sequence>
                                    </xs:complexType>
                                </xs:element>
                                <xs:element name="besetzung">
                                    <xs:complexType>
                                        <xs:sequence>
                                            <xs:complexType name="hauptdarstellerListe">
                                                <xs:complexType name="hauptdarsteller">
                                                    <xs:element name="schauspieler" type="xs:string" />
                                                    <xs:element name="charakter" type="xs:string" />
                                                </xs:complexType>
                                            </xs:complexType>
                                            <xs:complexType name="nebendarstellerListe">
                                                <xs:complexType name="nebendarsteller"> 
                                                    <xs:element name="schauspieler" type="xs:string" />
                                                    <xs:element name="charakter" type="xs:string" />
                                                </xs:complexType>                       
                                            </xs:complexType>
                                        </xs:sequence>
                                    </xs:complexType>
                                </xs:element>
                                <xs:element name="handlung" type="xs:string" />
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:complexType>
        </xs:sequence>
    </xs:element>
</xs:schema>

我们正在通过https://www.freeformatter.com/xml-validator-xsd.html验证XSD,但会引发错误:S4s-elt-must-match。1:“ filmliste”的内容必须匹配(注释?,(simpleType | ...

xml xsd schema sequence xsd-validation
1个回答
0
投票

错误表示它的意思:

© www.soinside.com 2019 - 2024. All rights reserved.