2017-03-31 2 views
1

Ich arbeite mit einer Anwendung, wo einige Einträge in einer GUI ausgefüllt werden müssen. Jetzt hat ein Kunde eine Konfigurationsdatei angefordert, um die GUI zu umgehen.
Um dies getan, ich denke an die folgenden Möglichkeiten:Wie werden Typen für GUI-Elemente in XSD dargestellt?

Ankreuzfelder: eine einfache Integer-Einschränkung auf die Zahlen verwenden 0 und 1:

<xs:simpleType name="T_Choice"> 
    <xs:restriction base="xs:integer"> 
    <xs:minInclusive value="0"/> 
    <xs:maxInclusive value="1"/> 
    </xs:restriction> 
</xs:simpleType> 

Combobox: Verwenden Sie ein Union oder ein einfaches ganzzahliges Restriktion und eine leere Zeichenfolge (um eine Combobox mit allen Werten von 0 bis 10, und eine leere erste Linie zu simulieren):

<xs:simpleType name="T_Combo_Choice"> 
    <xs:union> 
     <xs:simpleType> 
      <xs:restriction base="xs:string"> 
       <xs:length value="0"/> 
      </xs:restriction> 
     </xs:simpleType> 
     <xs:simpleType> 
      <xs:restriction base="xs:integer"> 
       <xs:minInclusive value="0"/> 
       <xs:maxInclusive value="10"/> 
      </xs:restriction> 
     </xs:simpleType> 
    </xs:union> 
</xs:simpleType> 

Aber was ist mit Radiobuttons? In meiner XML-Datei, habe ich zwei benachbarte tags:

<use_old_configuration>0</use_old_configuration> 
<use_new_configuration>1</use_new_configuration> 

Nun meine Frage: Wie kann ich eine Einschränkung im Schema erstellen, um (0,1) und (1,0) die möglichen Kombinationen zu haben, aber nicht (0,0), (1,1) oder noch etwas?

Antwort

0

Meine Empfehlung für XSD-Typen Ihrer GUI-Komponenten:

  • Ankreuzfelder: Verwenden Sie xs:boolean.
  • Comboboxen: Verwenden Sie eine xs:list beschränkt auf Länge 1 von xs:enumeration. Die xs:list von 0 würde keine Auswahl darstellen. Namensaufzählungen logisch.
  • Radiobuttons: Unter der Annahme, das traditionelle Modells in dem nur 1 von mehreren Tasten ausgewählt werden muss, eine Enumeration verwenden, in denen, wo jeder Aufzählungswert mit einem Optionsfeld zugeordnet ist. Name Aufzählungen logisch.
Verwandte Themen