2016-11-15 6 views
0

Ich habe eine neue Frage über den gleichen Code. Nun sind alle meine Worte (nur eine im ursprünglichen Beispiel, aber ich habe mehr in meiner Datei) in der XML-Datei-ID: s, wie folgt aus:XML-Schema - was mache ich falsch?

<words id="wordone">clock</words> 
<words id="wordtwo">sleep</words> 

Und jetzt muss ich den Code ändern in meinem XML-Schema auch, aber ich kann nicht herausfinden, wie. Ich habe das jetzt:

<xsd:element name="words" type="xsd:string" maxOccurs="unbounded" /> 

Und ich dachte, das würde funktionieren, weil der Name der Worte noch „Wörter“ sind, aber ich erhalte eine Fehlermeldung. Was vermisse ich?


Ich bin neu und ich brauche Hilfe. :) Das ist mein erster Versuch und mein XML-Schema sieht wie folgt aus:

<?xml version="1.0" encoding="UTF-8"?> 
<!-- File Name: words.xsd --> 

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 

<xsd:annotation> 
    <xsd:documentation> 
     Lexicon spanish english 
    </xsd:documentation> 
</xsd:annotation> 
<xsd:element name="english"> 
    <xsd:complexType> 
     <xsd:sequence> 
      <xsd:element name="listwords"/> 
      <xsd:element name="language" type="xsd:string"/> 
      <xsd:element name="authur" type="xsd:string"/> 
      <xsd:element name="allwords" type="xsd:string"/> 
      <xsd:element name="words" type="xsd:string" maxOccurs="unbounded"/> 
    </xsd:sequence> 
</xsd:complexType> 
</xsd:element> 
</xsd:schema> 

und meine XML-Datei:

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/css" href="main.css"?> 
<english xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="words.xsd"> 
<!-- Filename: english.xml --> 
<!-- Authur: FL --> 
<!-- Date: 2016-11-15 --> 

<listwords> 
    <language>English</language> 
    <authur>FL</authur> 
    <allwords> 
     <words>clock</words>  
    </allwords> 
</listwords> 

Der Fehler: „XML-Dokumentstrukturen müssen innerhalb derselben Einheit beginnen und enden . "

Hilfe? :)

+0

Da die ersten beiden Beantworter angedeutet haben, Ihre unmittelbaren Fehler sind für 'english' auf einen fehlenden End-Tag fällig. Sie haben jedoch andere strukturelle Probleme mit der Übereinstimmung zwischen Ihren XSD- und XML-Dateien. Welchen möchten Sie ändern, um mit dem anderen übereinzustimmen? – kjhughes

Antwort

1

Sie haben </english> am unteren Rande der Datei hinzuzufügen:

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/css" href="main.css"?> 
<english xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="words.xsd"> 
<!-- Filename: english.xml --> 
<!-- Authur: FL --> 
<!-- Date: 2016-11-15 --> 

<listwords> 
    <language>English</language> 
    <authur>FL</authur> 
    <allwords> 
     <words>clock</words>  
    </allwords> 
</listwords> 
</english>