Wir haben eine Menge Serialisierung durch MS XML 4. Wenn wir C++ enums serialisieren, verwenden wir eine Tabelle, um jeden möglichen Wert in eine Zeichenkette zu übersetzen, und sie speichern diese Zeichenkette als Attributwert. Bei der Deserialisierung lesen wir diesen Attributwert, vergleichen ihn mit allen Elementen in der Tabelle und rufen den entsprechenden Enum-Wert ab. Wenn wir nicht finden, melden wir einen Fehler.Ist xs: selection ein Äquivalent zur C++ - Enumeration?
Um das Erstellen von XML-Dateien durch externe Programme zu erleichtern, haben wir XML-Schemas für alle relevanten Datentypen veröffentlicht. Attribute für Enums sind wie folgt definiert:
<xs:complexType>
//other fields here
<xs:attribute name="Color" type="xs:string"></xs:attribute>
</xs:complexType>
Es funktioniert, enthält jedoch keine Definitionen für mögliche Stringwerte. Wie kann ich dieser Definition mögliche Werte hinzufügen? Benutze ich xs: Auswahl dafür?
in der Praxis obwohl (obwohl ich Ihnen zustimme), erreichen sie nicht im Wesentlichen das Gleiche? –