XML Schema richtig umsetzen

-Rayz-

Lieutenant
Registriert
Okt. 2010
Beiträge
897
Hallo,

ich möchte folgende XML Datei in ein Schema umschreiben:

Code:
<Config>
  <Version>
    <Version Value="1" />
  </ersion>
</Config>

Mein Schema dazu:

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

                           <xsd:element name='Config' type='Config_Type'/>

                            <xsd:complexType name='Config_Type'>
                             <xsd:sequence>                                       
                              <xsd:element name='Version' type='type'/>                               
                             </xsd:sequence>
                            </xsd:complexType>  
                           
                            <xsd:complexType name='type'>
                             <xsd:sequence>                                       
                              <xsd:element name='Version' type='xsd:string'/>                                
                             </xsd:sequence>
                            </xsd:complexType> 
                         </xsd:schema>";

Ergebnis von meinem Schema:

Code:
<?xml version="1.0" encoding="utf-8"?>
<Config>
  <Version>
    <Version>1</Version>
  </Version>
</config>

Wie bekomme ich das zusätzliche Attribut "Value" in das Version Element rein?
So sieht es ja aus:<Version>1</Version>
Und so soll es sein: <Version Value="1" />

MfG -Rayz-
 
Zuletzt bearbeitet:
Eigentlich sollte man Werte in Elemente und nicht als Attribute schreiben.
Wo wir auch schon bei der Lösung deines Problems wären, dir Fehlt ein Attribut Value im Versions-Element <xs:attribute name="Value" type="xs:string"/>
 
Warum sollte man Werte denn nicht als Attribut schreiben...?
und danke für die Antworten :)
 
Hab ich so gelernt. Attribute in einem XML Schema sollten eigentlich den Inhalt des Elements definieren klassisches Beispiel Sprache (lang="DE"), da macht es wenig Sinn dem Element Version ein Attribut Value zu spendieren, was nichts anderes wieder gibt als den eigentlich Inhalt des Elements.
Du bist aber auch nicht allein, machen unsere Entwickler auch gerne (wobei ich dann auch meckere) und natürlich könnte die Versionsnummer auch ein Attribute sein.
 
Ergänzung ()

Ok sry...

<xsd:element name='TLC' maxOccurs='unbounded'/>

geht wenn man eine unbegrenzte Anzahl von Elementen hat.
 
Zuletzt bearbeitet:
Zurück
Oben