
17 Oktober 2009, 18:09 von
klaus_b1683 mal gelesen.… ist einfacher als ich dachte.
In einem aktuellen Projekt sollte die zu verwendende Culture als Attribut in der web.config angegeben werden. Da im Moment nur die Culture-Werte “en” und “de” verarbeitet werden können, soll der Benutzer auch nur diese zur Auswahl erhalten. Also musste irgendwo eine Enumeration definiert werden, welche vom Attribut Culture verwendet wird.
Da die Verarbeitung von eigenen ConfigurationSection im allgemeinen sehr codeintensiv ist, stellte ich mir die Umsetzung auch dementsprechend kompliziert vor.
Weit gefehlt.
Die Angewohnheit, zu einem benutzerdefinierten Konfigurationsabschnitt auch immer eine Schemadatei zu erstellen, kam mir in diesem Fall sehr zu Gute.
Beim durchforsten der Dokumentation zu XML Schema bin ich wieder einmal auf das simpleType-Element gestoßen, dem ich bis jetzt keine große Bedeutung beigemessen hatte.
Ein Fehler, wie sich gleich zeigen wird.
Das simpleType-Element bietet das Attribut xs:restriction und dieses wiederum xs:enumeration. Tja, so Einfach kann es sein.
Ich brauchte nur die Zeile
<xs:attribute name="culture" use="optional" type="xs:string" />
durch folgende Zeilen zu ersetzen.
<xs:attribute name="culture" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="de" />
<xs:enumeration value="en" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>Schon hatte ich die gewünschte Auswahl-Enumeration in der web.config zur Verfügung.

Sollten weitere Culture-Einstellungen hinzukommen, sind diese sehr einfach im XML Schema nachzupflegen.
Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war, bitte "kicken" sie ihn.
